I'm doing some revision on the current, primarily VS-based build process we use for our products. We have a mix of asp.net websites, web services, clickonce apps, and serverside .exe and .dlls. For the most part, these components are separated into projects in an appropriate manner, although I'm considering breaking a few more of them out into separate solutions.
In addition, I am looking to use cruisecontrol.net for continuous integration and build deployment. Currently, I have it set up to build upon checkin - which is the easy part. Now, I'd like to automate publishing, generate date-based assembly and file versions and all that good stuff. I'm aware of the "web deployment project" add-in, which seems useful, particularly for the website and web services. However, when it comes to versioning assemblies, because WDPs don't naturally contain assemblyinfo.cs files, this is not an obvious solution either. And, for some reason, although ClickOnce apps are often "published" via VS, web deployment projects seemingly do not apply.
In the nascent stages of this conversion, I've begun attempting to add references to the assemblyinfo task (msbuild extensions from codeplex) to some of my .csproj files. Unfortunately, because the assemblyinfo.cs files are objects in our fortress/vault database, they are read-only unless checked out for write, and the assemblyinfo task bombs out with an unauthorized access exception. It was at this point that I tired of yak shaving and decided to post here, in hopes that someone else has attempted what I'm shooting for in a similar environment.
I am tempted to ditch it all and put something together with ant, but am concerned that this will frighten the other members of my team. Surely the msbuild, fortress, cc.net triumvirate is capable of this without my having to recreate too many wheels?
Advice appreciated
Gregg Siegfried
versioned assemblies, ccnet, assemblyinfo task, publishing
Moderator: SourceGear
Re: versioned assemblies, ccnet, assemblyinfo task, publishing
When we do a build here, we get the files as writable, so that our build process can edit the assemblyinfo.cs files
Subscribe to the Fortress/Vault blog