Building AssemblyInfo for BizTalk with NAnt
All assemblies deployed into production are versioned. My personal preference is to achieve that with build scripts, ensuring that build number, code revision, minor and major versions are all inserted. AssemblyInfo.cs is the file that normally contains that information. I normally generate a dummy AssemblyInfo file in the build project and reference that from the project(s). This way, when building with scripts, we can generate dynamic AssemblyInfo.cs file and overwrite the link. The link is a one way link, nothing is updated in the build project. And since link is just a reference, nothing is modified from the repository point of view. NAnt has <asmInfo> task that does all the job. Except that for BizTalk its not straight forward process (of course, how could it be).
With BizTalk projects, there’s one assembly attribute that doesn’t have an empty constructor, and as a result of that <asmInfo> task fails.
<attribute type="Microsoft.XLANGs.BaseTypes.BizTalkAssemblyAttribute" value="typeof(BTXService)" />
Workaround for this is simple. Use <asmInfo> to generate everything but this attribute. Use <echo> to generate this attribute. No headache, simple and working.