I have been writing a ton of software lately in C#, C++, and MCML. When writing software for the public, as opposed to writing for a client for internal use only, I tend to rely on tools more and more. This is especially true as a project comes to a close as my current project is. One of the tools I have come to rely on is MSBbuild. I was always accustomed to using plain ol’e Visual Studio to manage build projects; leaving those messy .proj and .sln files to the smart guys over at Microsoft. However, as my projects got bigger and things like deployment, testing environments of different clients, and tracking versions became more important, Visual Studio could not keep up. So I dove into the .vcproj files and found a treasure trove of useful stuff.
Then again, as I got even closer to product release, even MSBuild and .proj files (in their vanilla release states) fell short of my needs. The MS development docs give lots of info about writing MSBuild extensions for satisifying every development need. But sheesh… that is TIME CONSUMING. And with a big list of tasks to complete just to release my software products I was not willing to take on yet another time consuming project (that is, writing MSBuild extensions).
Enter pwelter ant the msbuildtasks project. This is a collection of custom msbuild tasks for just about every need from FTP to VSS to Zip. I downloaded and installed them and started using them right away.
Later I needed other things setting environment variables and code signing. msbuildtasks doesn’t do either of these. So I set about writing batch files and cussing at Microsoft for, yet again, removing features, shuffling things, and hiding useful stuff in documentation.
Then, by happenstance, I came across another MSBuild tasks project. I could have sworn that I did a thorough Google search for another project back when I found the original from Tigris. But, oh well. This new project, written by Mike Fourie and hosted as a CodePlex project called the MSBuild Extension Pack, handles both environment variables and code signing, as well as a host of other nice things.
There is some overlap in both of these projects, but they are both useful in their own right.
Recent Comments