Скачать Задача сообщества MSBuild и установить ее.
Откройте ваш .csproj и в конце (до закрытия </project>
tag)
Вставьте следующий код (не изменяйте тег <Import>
):
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
После тега <Import>
вставьте следующее:
<Target Name="BeforeBuild">
<SvnVersion LocalPath="$(MSBuildProjectDirectory)" ToolPath="$(ProgramFiles)\TortoiseSVN\bin">
<Output TaskParameter="Revision" PropertyName="Revision" />
</SvnVersion>
<FileUpdate Files="Properties\AssemblyInfo.cs" Regex="(\d+)\.(\d+)\.(\d+)\.(\d+)" ReplacementText="$1.$2.$3.$(Revision)" />
</Target>
Посмотрите на атрибут ToolPath внутри тега SvnVersion вы должны указать, где на вашем компьютере находится двоичный файл svnversion.exe .
При условии, что у вас установлено программное обеспечение TortoiseSVN, путь к нему: C:\ProgramFiles\TortoiseSVN\bin\
Вы также можете использовать двоичные файлы VisualSVN (в этом случае двоичный файл находится по адресу C:\ProgramFiles\VisualSVN\bin\
)
С этой модификацией в вашем .csproj в каждом проекте сборки MSBuild сначала будет вызыватьsvnversion.exe (с аргументом, текущим каталогом решения) и svnversion вернут номер ревизии для этого хранилища.В теге FileUpdate MSBuild будет искать шаблон регулярного выражения, а затем заменять его текущими значениями Major, Minor и Build ($ 1, $ 2 и $ 3 соответственно) и обновлять Revision со значением Revision переменной
.