В файле Microsoft.Common.targets (v4.0.30319 x64) цель публикации определяется следующим образом:
<PropertyGroup>
<PublishDependsOn Condition="'$(PublishableProject)'=='true'">
SetGenerateManifests;
Build;
PublishOnly
</PublishDependsOn>
<PublishDependsOn Condition="'$(PublishableProject)'!='true'">
_DeploymentUnpublishable
</PublishDependsOn>
</PropertyGroup>
<Target
Name="Publish"
DependsOnTargets="$(PublishDependsOn)"/>
Поскольку публикация уже зависит от Build , достаточно вызвать Публикация target в AfterBuild (или добавление его в список зависимостей этой цели) не будет работать.
Однако, поскольку Publish просто определяетпорядок операций, указав его зависимости, позволяет Visual Studio публиковать ваше решение после каждой сборки, добавляя зависимости цели публикации в Build .Просто добавьте следующее в самый конец файла .csproj (или .vbproj) вашего приложения WPF.Обратите внимание, что зависимости должны быть изменены после , включая Microsoft.CSharp.targets (который, в свою очередь, включает Microsoft.Common.targets).
<PropertyGroup>
<BuildDependsOn>
SetGenerateManifests;
$(BuildDependsOn);
PublishOnly
</BuildDependsOn>
</PropertyGroup>
Если вы хотите переопределить этот параметр только внекоторые сборки, просто добавьте соответствующие Condition
к этому PropertyGroup
.