Как выполнить сценарий PowerShell только перед веб-развертыванием задачи публикации в VS 2012?

В настоящее время у меня есть событие после сборки, настроенное в моем веб-проекте с использованием Visual Studio 2012, например:

Это в основном называетСкрипт PowerShell добавить уведомление об авторских правах в каждый файл .cs.

Что я'я хотел бы сделать, это выполнить этот скрипт PowerShellтолько до Публикация веб-приложения на удаленном сервере. Делая так, я выигралне возникает задержка каждый раз, когда мне нужно отладить проект. Знаете ли вы какой-либо способ сделать это?

В соответствии сСайед»ответЯ настроил определенный профиль публикации и добавил это:


  CustomBeforePublish;
  $(PipelineDependsOn);






 nokturnal16 дек. 2017 г., 22:43
Извините, но вы добавили новую группу PropertyGroup в дополнение к уже существующей в pubxml?

Ответы на вопрос(3)

Объявите следующееProjectName.wpp.targets файл в корне вашего веб-приложения:


  
    
      $(BeforeAddContentPathToSourceManifest);
      AddCopyright;
    
  

  
    
    
  

 Sayed Ibrahim Hashimi17 окт. 2012 г., 01:22
Смотрите мой ответ ниже об использовании .wpp.targets с VS2012
 Sayed Ibrahim Hashimi17 окт. 2012 г., 06:46
Можете ли вы дать мне ссылку на то, что вы имеете в виду?
 Richard Szalay17 окт. 2012 г., 02:16
@SayedIbrahimHashimi - Спасибо за внимание. Вы должны рассмотреть возможность обновления документов, так как онизадокументированы как равные (насколько это касается актуальности).
 Richard Szalay17 окт. 2012 г., 07:09
 Leniel Maccaferri16 окт. 2012 г., 23:16
Большое спасибо за ответ, Ричард. Как вы можете видеть в Саидеответ тамЭто способ настроить конкретный профиль публикации, и это было лучше в моем случае.
 Sayed Ibrahim Hashimi17 окт. 2012 г., 09:55
В документе первое предложение для раздела .wpp.targets - "Параметры, которые вы настраиваете в файле .wpp.targets, применяются ко всем профилям публикации. " Как вы думаете, нам нужно это изменить?

SayedОтвет на этот вопрос Однако я подумал о предоставлении полностью рабочего ответа (тестирование в Visual Studio 2017):

 
    
       PreBuildScript;
       $(PipelineDependsOn);
    
  

  
     
     
   

Замечания: Это будет выполнено как для предварительного просмотра, так и для действующего действия «Публикация», поэтому перед фактической публикацией можно обнаружить ошибки перед публикацией.

Решение Вопроса

Это зависит от того, как вы определяете раньше, но ниже приведен один из методов.

Когда вы создаете профиль публикации с VS2012, он создает файл .pubxml в папке Properties \ PublishProfiles (Мой Проект \ PublishProfiles для VB). Это файлы MSBuild, и вы можете редактировать их, чтобы настроить процесс публикации. В вашем случае вы можете внедрить цель в процесс публикации до того, как публикация действительно произойдет. Вы можете сделать это, расширив свойство PipelineDependsOn, как показано ниже.


  
    CustomBeforePublish;
    $(PipelineDependsOn);
  



  

К вашему сведению в отношении настройки .wpp.targets, это была единственная техника, которая была у нас для VS2010. Моя рекомендация здесь заключается в следующем; настроить файл .pubxml для большинства случаев и создавать файл .wpp.targets только в том случае, если вы хотите настроить каждую публикацию данного проекта.

 deerchao06 июн. 2013 г., 11:30
Что делать, если я хочу что-то выполнитьпосле (не раньше) публикации?
 webber10 янв. 2017 г., 23:18
Привет Сказал, я пытаюсь это в vs2015, и я 'я получаю сообщение об ошибке при выборе публикации. Ошибка: "Имя атрибута в элементе <Target> не признается, Есть идеи?
 Leniel Maccaferri16 окт. 2012 г., 23:14
Великолепно сказал! Работал отлично. Спасибо за объяснение...

Ваш ответ на вопрос