1.) Итак, нашел несколько тем, связанных с этой проблемой.Поэтому, как предложено, я добавил следующий код в мой файл проекта.На самом деле, после моего теста в vs2017, из выходного журнала с подробным, что я могу найти при публикации, как на фото ниже:
1. Похоже, что в VS2017 при публикации проекта в IDE нет действительной цели публикации для переопределения или AfterTargets.Поэтому я боюсь, что вы не можете достичь этой цели, публикуя в VS.
2. Вместо этого, я думаю, вы можете рассмотреть возможность использования инструмента msbuild.Добавьте приведенный ниже тестовый целевой скрипт в свой профиль публикации (для меня: FolderProfile.pubxml):
<Project...>
...
<Target Name="Test" AfterTargets="WebFileSystemPublish">
<Message Text="I'm a test target after webpublish"/>
<Move SourceFiles="C:\Ase\favicon.ico" DestinationFolder="C:\tomorrow"/>
</Target>
</Project>
Откройте командную строку разработчика для vs2017 и введите команду, например:
msbuild C:\xxx\WebApplication55\WebApplication55.sln /p:DeployOnBuild=true /p:PublishProfile=C:\xxx\repos\WebApplication55\WebApplication55\Properties\PublishProfiles\FolderProfile.pubxml
Itзапустит цель теста после процесса webpublish.
2.) Когда я использую следующий код в задаче, я не получаю такой же вывод, как когда я скомпилировал бы его с VS.Не уверен, что вы используете этот код для чего.Но вы можете использовать тестовую цель, чтобы делать то, что вы хотите. Добавление MSBuild Task в тестовую цель может достичь этой цели для вашего # 2.
И, как вы упомянули, у вас есть некоторыекод, сначала скомпилируйте этот код в .exe, и добавьте Командная задача в цель теста может помочь.Кроме того: согласно вашей информации выше, похоже, вы используете файловую систему и asp.net, поэтому я использую веб-приложение asp.net для тестирования (не ядро .net).Ожидается обратная связь.