I’m developing a generic C# build process, to cater for both .NET Framework v1.1 and v2.0; I have both versions of the Framework, together with the corresponding versions of their SDK’s installed on the build machine, but I don’t have either VS2003 or VS2005.
The 1.1 option within my build therefore uses a Microsoft C# Project Compiler action, and that’s all working pretty well. The 2.0 option however uses an MSBuild Project action, and that’s where I’m coming a bit unstuck. I’m pretty ignorant about the C# language, VS2003, VS2005 and the MSBuild utility, but I would really like to know how I can use the Targets and Properties options in the MSBuild Project action to control what happens during the build.
Can anybody give me any pointers? I really need a “MSBuild for Dummies” document - or better still a “MSBuild Project Action in FinalBuilder for Dummies” document, because the FinalBuilder on-line help is far too sketchy in this respect for my current needs.
Specifically, how do I specify a Debug or a Release build?
OK guys, I’ve asnwered my last question:
The MSBuild Action has a couple of sneaky properties, ExtraCmdLineParamsAtEnd and ExtraCmdLineParamsAtStart, which don’t actually appear at all on the input form for the action. Having done a bit of general reading about MSBuild, I set ExtraCmdLineParamsAtStart to /p:Configuration=Release, and Bingo! The Business!
Has anybody else been down this torturous route?
Can I suggest to the FinalBuilder guys that we need a drop-down on the MSBuild action, similar to that on the Microsoft C# Project Compiler action, to specify Release, Debug, etc?
Well the response has been somewhat underwhelming - doesn’t anybody use MSBuild out there?
Hi Ken,
You should be able to set the Configuration=Release property from inside the ‘Properties’ section of the MSBuild action. Set Property to ‘Configuration’ and Value to ‘Release’, and you’ll get the same effect.
I agree that the interface is a little counterintuitive. We can look into maybe adding a dropdown in the grid with some common property names, and (similarly) some dropdowns for common property values.