Вы можете переместить содержимое вашей задачи BeforeBuild (включая группу свойств version) в отдельный файл proj и вызвать его с помощью задачи MSBuild (используя случайное имя файла, сгенерированное в примере в связанном ответе выше). Это позволит вам вручную редактировать свойства номера версии без необходимости выгружать / загружать файл csproj.
я есть файл AssemblyInfo.cs, который автоматически создается при сборке. Вот часть файла .csproj:
<PropertyGroup>
<Major>2</Major>
<Minor>3</Minor>
<Build>0</Build>
<Revision>0</Revision>
</PropertyGroup>
<Target Name="BeforeBuild">
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="C:\Program Files\VisualSVN Server\bin">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
<AssemblyInfo CodeLanguage="CS"
OutputFile="$(MSBuildProjectDirectory)\Properties\VersionInfo.cs"
AssemblyVersion="$(Major).$(Minor).$(Build).$(Revision)"
AssemblyFileVersion="$(Major).$(Minor).$(Build).$(Revision)"/>
</Target>
Но я не знаю, как указатьMajor
а такжеMinor
свойства вне файла .csproj, поэтому мне не нужно выгружать проект каждый раз, когда я хочу изменить версию. Мне нужно либо загрузить их из специального текстового файла внутри проекта, либо как-то установить их в диалоге свойств проекта. Какие-либо предложения?