Ответ 1
MSDeploy vs Web Deploy
Относительно MSDeploy vs Web Deploy, как сказал Рик, они - одно и то же. Фактическое имя "Web Deploy", но .exe называется msdeploy.exe, поэтому имена обоих имен используются.
Публикация DNU
dnu publish
- это кросс-платформенная утилита, предоставляемая DNX/ASP.NET 5, которая может быть использована для публикации DNX/ASP.NET 5 в папку.
Позвольте мне объяснить, как это связано с поддержкой, которую вы видите в Visual Studio 2015. В VS2015 основной задачей диалога публикации является сохранение настроек в профиле публикации (.pubxml
file). Visual Studio сначала вызывает dnu publish
, чтобы опубликовать приложение в локальной папке. Затем свойства (все они, даже пользовательские, которые вы добавляете) передаются в файл profilename.ps1
в качестве параметра -publishProperties
. Путь к папке, в которой находятся результаты dnu publish
, передается через -packOutput
. В этот момент управление передается в файл .ps1
, VS не знает фактических внутренних публикаций. Вы можете настроить содержимое .ps1
, и пока параметры остаются неизменными, он должен работать.
PowerShell script и модуль, который он потребляет, являются OSS в https://github.com/aspnet/vsweb-publish. По умолчанию script, созданный VS, находится в https://github.com/aspnet/vsweb-publish/blob/master/samples/default-publish.ps1. Примечание: этот модуль в настоящее время работает только для ASP.NET 5. Если вас интересуют предыдущие версии, дайте мне знать, и мы можем рассмотреть возможность добавления поддержки.
Если вам интересно узнать больше об этом script, я рекомендую get-help Publish-AspNet
после загрузки модуля публикации. Или вы можете проверить текст справки в источнике.
Publish-AzureWebsiteProject
Publish-AzureWebsiteProject
- это командлет PowerShell, поставляемый с инструментами командной строки Azure PowerShell. Вы можете использовать это для публикации и проекта или пакета ASP.NET 4.5 для Azure Web Apps (ранее называвшихся сайтами Azure). Я не верю, что это было обновлено для поддержки ASP.NET 5, но я мог ошибаться там.