Archive for the 'tech' Category

Finding Holiday Music on the Radio

Friday, December 1st, 2006

Besides jogging the dial between static, bible readings, country music and heavy metal I did not know of a good way to find good music for the holidays. In Milwaukee the stations have changed so the much the past 2 years that I do not even know what is all out there. So I found the Radio-Locator. A quick search on Milwaukee shows lots of stations with holiday music.

Meebo Me

Friday, December 1st, 2006

Meebo
I occasionally use Meebo.com for chat. It is a website interface which works with MSN, Yahoo!, AOL IM, ICQ, Google Talk, and Jabber. Today I found that they have a little widget you can add to your own website to allow people to chat with you. That is insanely cool! You can find it on the main page of my blog on the right sidebar.

The best part is that it is completely free. If someone wants to discuss something I posted to my blog they can just start a chat session right away. There is no need to drop me an email and wait for a response. Naturally I still want worthwhile submissions to be added as comments at the end of each blog entry so that everyone can benefit from the information, especially if it is about a technique or tool my blog entry did not cover. But when I do have a good chat with someone I can post a follow up blog entry to add the additional information.

[ Update: I have changed the sidebar to use a launch link instead to take up less space and allow people to move from page to page without losing the chat session. ]

(more...)

7 Steps to MSBuild

Thursday, November 30th, 2006

I just put together a tutorial covering MSBuild. I have used MSBuild to automate many .NET projects over the past year and I have picked up a few good techniques which really cut down on all of the work to build, test, package and deploy a project.


  1. Basics
  2. Item Groups
  3. Dependencies
  4. Configurations
  5. Web Deployments
  6. Unit Tests
  7. Packaging

MSBuild: Packaging (7 of 7)

Thursday, November 30th, 2006

When the projects has been built and tested it is helpful to place it into a single package to be deployed. For a website a zip file is sufficient. For another type of application a MSI installer is appropriate. Both packages will be covered here.

(more…)

MSBuild: Unit Tests (6 of 7)

Thursday, November 30th, 2006

Unit testing has caught as a part of the agile methodologies the past several years. It acts as a second line of defense against problems in a deployed environment with the first line being a successful compilation. For a few years now .NET developers have used NUnit to produce unit tests. It is a clone of the JUnit framework which was created for Java development.

Alongside your projects you can place a set of classes which carry specially marked classes and methods and validate that the compiled code conforms to the project requirements. In doing so, you can have the automated build ensure that a new enhancement or bug fix does not cause an unwanted side effect which breaks compliance. And these tests should be run early and often. The sooner you can discover an error the easier it will be to identify the change which caused it. The use of unit tests speed up the development process and also allow the development team to confidently make changes which may otherwise be considered too risky.

(more...)

MSBuild: Web Deployments (5 of 7)

Thursday, November 30th, 2006

The new ASP.NET 2.0 Website model does not include a project file. This fact has made for a troubling deployment process. You can use Visual Studio to run a build and deploy a compiled copy of the website, but that means you must have Visual Studio to run the build. Fortunately Microsoft released an Add-On for Visual Studio to generate a Website Deployment Project which you can use without starting Visual Studio.

The Website Deployment Project did not make it into the Visual Studio 2005 release but was released shortly after the .NET 2.0 launch to satisfy the clear need for such a deployment solution. The features included in this new project type were the result of requests during the .NET 2.0 beta 1 and beta 2 cycles.

(more...)

MSBuild: Configurations (4 of 7)

Wednesday, November 29th, 2006

The default configurations for every Visual Studio project are Debug and Release. These different configurations allow you to set different properties which are used during the build, such as the output folder. Naturally the Debug configuration has debug options enabled while the Release does not. But there is much more you can do with a configuration, and you are not limited to just these two defaults. You can copy either of them or start from scratch with a new configuration as shown in the image to the right. Simply open the Configuration Manager in Visual Studio.

Normally I stick to the Debug and Release configurations. But when I work with a build server I like to define a unique configuration which will run a little differently and cause additional work to be done which is not normally done on the developer workstations.

(more...)

MSBuild: Dependencies (3 of 7)

Wednesday, November 29th, 2006

I often use a build script to prepare a project the first time it is pulled out of source control. Normally the Solution and Project files handle all of the dirty details necessary to build the project but with ASP.NET 2.0 some trouble was introduced. The new ASP.NET 2.0 Website model has a great deal of flexibility, but it gained that flexibility by eliminating the project file which changed how dependencies are managed.

(more...)

MSBuild: Item Groups (2 of 7)

Wednesday, November 29th, 2006

An ItemGroup in an MSBuild script defines a list or collection of items. These items are typically files. Often you may use a collection to define a static set of files which exist prior to the build running, but sometimes the build generates output files which are not. In the latter case there is a different approach you must use in defining an ItemGroup definition.

(more...)

MSBuild: Basics (1 of 7)

Wednesday, November 29th, 2006

I have spent a good deal of time with MSBuild scripts the past couple of years as I have worked on various projects. As I have attempted to make these scripts bend to my wishes I have gradually improved the sample MSBuild script I carry along to each new project. In this series I will cover various ways to use MSBuild and include some tips on what you can do to make your scripts work better for you. But first, what is MSBuild?

The MSBuild utility was introduced with .NET 2.0 and is available with the runtime even if Visual Studio is not installed. It allows for build automation of most Visual Studio project types. Previously, a utility called NAnt was used as a build tool for .NET 1.1 which is modeled after Ant, a tool to build Java projects. The introduction of MSBuild as an official utility was very welcome among the development community as it provides close integration with the existing project and solution files created by Visual Studio. This close integration cuts down on the amount of detail necessary for the build scripts.

(more...)