Я хочу знать, как публиковать из 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. Это не может быть так сложно!? Если вы можете щелкнуть правой кнопкой мыши в студии, есть что-то, что выполняет эту задачу.
Я начинаю удивляться, если это требует полной луны и отрезает голову от курицы. (Я потратил много времени на это!)
** EDIT: Я попробовал предложение Ли:
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 пока.