使用cc.net和msbuild设置程序集文件版本和程序集版本

使用cc.net和msbuild设置程序集文件版本和程序集版本,msbuild,cruisecontrol.net,assemblyversions,Msbuild,Cruisecontrol.net,Assemblyversions,我们正在使用cc.net(巡航控制)和msbuild构建一个单击一次的应用程序。这是msbuild任务: <msbuild> <executable>C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe</executable> <workingDirectory>D:\Directory</workingDirectory> <projectFile>

我们正在使用cc.net(巡航控制)和msbuild构建一个单击一次的应用程序。这是msbuild任务:

<msbuild>
    <executable>C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe</executable>
    <workingDirectory>D:\Directory</workingDirectory>
    <projectFile>proj.lsxtproj</projectFile>
    <buildArgs>/t:publish /p:PublishLocation=D:\Publish\;AssemblyFileVersion=$CCNetLabel;AssemblyVersion=$CCNetLabel</buildArgs>
    <targets>Build</targets>
    <timeout>600</timeout>
</msbuild>

C:\ProgramFiles(x86)\MSBuild\14.0\Bin\MSBuild.exe
D:\目录
项目lsxtproj
/t:publish/p:PublishLocation=D:\publish\;AssemblyFileVersion=$CCNetLabel;AssemblyVersion=$CCNetLabel
建造
600
因此,我试图设置已发布输出的程序集文件版本和程序集版本

问题是$CCNetLabel变量似乎不起作用。如果我将AssemblyFileVersion和AssemblyVersion设置为类似3.2.0.0的值,则输出具有此版本号,但$CCNetLabel不起作用

有人知道怎么做吗

谢谢 Ian

如果问题是$(CCNetLabel)为空,请尝试使用“动态”变量。因此,不是:

AssemblyFileVersion=$CCNetLabel;
使用:

否则,请查看另一个问题,该问题包含有关re AssemblyInfo.cs的更多信息,可能会有帮助:

AssemblyFileVersion=$[$CCNetLabel];