Я использую задачу предварительной сборки в 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 был изменен с помощью "правильного".
Кажется, что предварительные изменения не видны основной задачей компиляции, и она всегда одна.
Любые идеи того, что я делаю неправильно?