使用MSBuild调用设置AssemblyFileVersion?

mar*_*tin 6 versioning msbuild automation build-process assemblyinfo

我们有一个基于批处理的构建过程,我们只使用MSBuild来编译visual studio中的项目文件.我们还将wix集成到了构建过程中.要设置我们软件的版本,我们在main-build-script中指定一些环境变量,我们在构建过程中使用这些变量.我的问题是,我必须在我的程序集信息中设置程序集的FileVersion(AssemblyFileVersion).有没有办法给MSBuild调用一个属性来设置?像这样(这不起作用):

%dotnetdir%msbuild.exe Viewer.csproj /property:Configuration=Release /property:Platform=AnyCPU /property:AssemblyFileVersion=%major%.%minor%.%build%
Run Code Online (Sandbox Code Playgroud)

生成的程序集应具有fileversion %major%.%minor%.%build%.在所有项目中设置AssemblyFileVersion设置对我来说很痛苦.而这样做的程序是违反我的哲学的(我不想用自动化程序改变我的来源).应该通过build-script设置版本.没有必要在AssemblyInfo.cs中设置AssemblyFileVersion

或者MSBuild是否有可能指定一个描述汇编信息的xml-configuration文件?

如果有任何建议会很棒.

问候,谢谢,马丁

dev*_*uff 7

VersionAssemblyInfo从任务的MSBuild社区任务项目可能会有所帮助.

  • 这个在行动中的任何一个例子?试过.wdproj并且引用的程序集没有更新版本. (2认同)