Я хочу знать, как публиковать из PowerShell так же, как из Visual Studio.
При запуске Visual Studio, например, с проектом MVC;затем щелкните правой кнопкой мыши на проекте и выберите «Опубликовать»;Появится диалоговое окно, в котором вы снова вводите несколько настроек, нажав «Опубликовать».Это волшебным образом выталкивает ваш сайт, как и ожидалось.Он также создает файл для хранения этих настроек.projectName.Publish.xml.
Этот файл - причина, по которой я хочу использовать его точно таким же образом.В PowerShell есть несколько параметров, которыми можно манипулировать для перемещения приложения на несколько сайтов с разными конфигурациями.
Я посмотрел на «msbuild target: publish», который только производит (запускается из каталога, содержащего .csproj):
MSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish
Я попробовал "msbuild projectfile target: publish", который выдает:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: target:build
Я также рассмотрел несколько вариантов msdeploy.Это не может быть так сложно !?Если вы можете щелкнуть правой кнопкой мыши в студии, есть кое-что, что выполняет эту задачу.
Я начинаю задаваться вопросом, требуется ли для этого полная луна и отрезание головы курице.(Я потратил много времени на это!)
** РЕДАКТИРОВАТЬ: Я попробовал предложение Ли:
msbuild target:publish Mvc.csproj
, который вызывает эту ошибку:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: Mvc.csproj
For switch syntax, type "MSBuild /help"
** РЕДАКТИРОВАТЬ: По предложению DaveE я попытался:
msbuild target:publish Mvc.csproj
, что приводит к этой ошибке:
MSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish=PassportHealth.PatientSimple.Mvc.csproj
Я также вернулся к документации для цели "Публикация" (http://msdn.microsoft.com/en-us/library/ms165431.aspx), который кажется довольно ясным, что синтаксис:
msbuild target:publish
Так что после перечитывания этого несколько раз я пришел к следующему выводу: цель публикации - развертывание файлов .exe одним нажатием, а не веб-сайтов MVC.Я нашел http://weblogs.asp.net/scottgu/archive/2010/09/13/automating-deployment-with-microsoft-web-deploy.aspx, который достаточно ясно говорит об этом. Я пока не понимаю, как использовать файл "publish.xml" в этом с помощью команды msdeploy.