我正在使用Visual Studio 2008中的预构建任务来调用msbuild:
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe $(MSBuildProjectDirectory)\version.targets /p:Configuration=$(ConfigurationName)
在version.targets文件中,我正在更新AssemblyInfo.cs文件以替换版本信息:
<FileUpdate
Encoding="ASCII"
Files="$(MSBuildProjectDirectory)\Properties\AssemblyInfo.cs"
Regex="AssemblyInformationalVersion\(".*"\)\]"
ReplacementText="AssemblyInformationalVersion("Product $(ConfigurationString) ($(buildDate))")]"
/>
我在Visual Studio 2008中构建项目时,没有任何问题。
但是,当我查看生成的exe文件的版本信息时,即使AssemblyInfo.cs已经更改为“正确”的版本,它仍包含先前的时间戳。
似乎预构建的更改对主编译任务不可见,总是落后一个步骤。
有什么想法我做错了什么吗?