События MSBuild после сборки не работают в Windows 10
Я обновился до новой машины разработки для Windows 10.
Все отлично работает, кроме событий после сборки в msbuild/visual studio. Это для любого проекта, нового или существующего. Все они отлично работают на машинах Windows 7 других людей. Они отлично работают на сервере сборки (Дженкинс).
У меня они вообще не работают ни в визуальной студии, ни в msbuild. PRE-build events работает отлично. Похоже, событие postbuild даже не определено.
К сожалению, наши события после сборки имеют основополагающее значение для процесса сборки.
Начиная с базового консольного приложения и настраивая события сборки следующим образом:
<PropertyGroup>
<PreBuildEvent>echo before build</PreBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>echo after build</PostBuildEvent>
</PropertyGroup>
Результат сборки в буквальном смысле:
1>------ Rebuild All started: Project: ConsoleApplication1, Configuration: Debug Any CPU ------
1> before build
1> ConsoleApplication1 -> C:\dev\postbuild\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
Запуск msbuild с /v:diag я получаю этот раздел:
PostBuildEvent = echo after build
PostBuildEventDependsOn =
PreBuildEvent = echo before build
PreBuildEventDependsOn =
При запуске prebuild:
Target "PreBuildEvent: (TargetId:22)" in file "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\dev\postbuild\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.csproj" (target "CoreBuild" depends on it):
Using "Exec" task from assembly "Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
Task "Exec" (TaskId:19)
Task Parameter:WorkingDirectory=bin\Debug\ (TaskId:19)
Task Parameter:Command=echo before build (TaskId:19)
echo before build (TaskId:19)
before build (TaskId:19)
Done executing task "Exec". (TaskId:19)
Done building target "PreBuildEvent" in project "ConsoleApplication1.csproj".: (TargetId:22)
При запуске PostBuild:
Target "PostBuildEvent: (TargetId:77)" in file "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets" from project "c:\dev\postbuild\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.csproj" (target "CoreBuild" depends on it):
Done building target "PostBuildEvent" in project "ConsoleApplication1.csproj".: (TargetId:77)