Является ли это способом переопределить ApplicationVersion для цели публикации в контексте ClickOnce?Как переопределить ApplicationVersion для публикации цели в MSBuild
Я создал обычай строить так:
<PropertyGroup>
...
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.0</ApplicationVersion>
...
<CustomBuildDependsOn>
Build;
CustomBeforePublish;
PublishOnly;
</CustomBuildDependsOn>
</PropertyGroup>
<Target Name="CustomBuild" DependsOnTargets="$(CustomBuildDependsOn)" />
<Target Name="CustomBeforePublish">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="CurrentAssembly" />
</GetAssemblyIdentity>
<PropertyGroup>
<PublishDir>$(OutDir)\publish\$(TargetName)\</PublishDir>
<ApplicationVersion>%(CurrentAssembly.Version)</ApplicationVersion>
</PropertyGroup>
<Message Text="BeforePublish PublishDir = $(PublishDir)" />
<Message Text="BeforePublish ApplicationVersion = $(ApplicationVersion)" />
</Target>
Свойства PublishDir правильно перекрытый и используется мишенью PublishOnly а свойство ApplicationVersion не является правильным: манифест приложения всегда с версией 1.0.0.0 , и отображение журнала:
BeforePublish ApplicationVersion = 3.5.0.51263
Что такое правильный способ передать ApplicationVersion к цели PublishOnly или публикации?