我在 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 已更改为“正确”的时间戳。
似乎主编译任务看不到预构建的更改,并且总是落后。
关于我做错了什么的任何想法?