Мой подход заключается в использовании вышеупомянутого плагина для ccnet и задачи nant echo для генерации файла VersionInfo.cs
, содержащего только атрибуты версии. Мне нужно только включить файл VersionInfo.cs
в сборку
Задача эха просто выводит строку, которую я передаю, в файл.
Если есть похожая задача MSBuild, вы можете использовать тот же подход. Вот небольшая задача nant, которую я использую:
<target name="version" description="outputs version number to VersionInfo.cs">
<echo file="${projectdir}/Properties/VersionInfo.cs">
[assembly: System.Reflection.AssemblyVersion("$(CCNetLabel)")]
[assembly: System.Reflection.AssemblyFileVersion("$(CCNetLabel)")]
</echo>
</target>
Попробуйте это:
<ItemGroup>
<VersionInfoFile Include="VersionInfo.cs"/>
<VersionAttributes>
[assembly: System.Reflection.AssemblyVersion("${CCNetLabel}")]
[assembly: System.Reflection.AssemblyFileVersion("${CCNetLabel}")]
</VersionAttributes>
</ItemGroup>
<Target Name="WriteToFile">
<WriteLinesToFile
File="@(VersionInfoFile)"
Lines="@(VersionAttributes)"
Overwrite="true"/>
</Target>
Обратите внимание, что я не очень близок с MSBuild, поэтому мой скрипт, вероятно, не будет работать "из коробки" и потребует исправлений ...