MS развертывание из диалогового окна развертывания (не powershell) не работает, если есть кавычки - PullRequest
1 голос
/ 12 января 2012

В моем Visual Studio 2010 SP1Rel веб-развертывание MS внезапно перестало работать с этой ошибкой:

Unrecognized argument 'Web'. All arguments must begin with "-".

Аргумент «Веб» относится к параметру «Веб-сайт по умолчанию», т.е. веб-развертывание не может быть развернуто, еслипуть содержит пробелы.Это работало до сегодняшнего дня.

Если я переименую свой веб-сайт в DefaultWebSite (без пробелов), то сообщение об ошибке изменится на:

Unrecognized argument 'Source=10.10.10.1\MSSQLSERVER,1432;Initial'. 
All arguments must begin with "-".

Есть другие вопросы об этой же ошибке, но обстоятельстваразные.Я использую встроенный диалог веб-развертывания.

Та же ошибка, но для пакетного сценария: Пакетный файл MSDeploy больше не обрабатывает кавычки Та же ошибка, но в powershell: КакВы вызываете msdeploy из powershell, когда параметры имеют пробелы?

Эти вопросы связаны с установкой VS 2010 SP1.Я не установил SP1.Возможно, он был автоматически установлен в обновлении Windows.

Как решить эту ошибку при использовании диалогового окна MS deploy (щелкните правой кнопкой мыши проект в VS и выберите Deploy)?

1 Ответ

1 голос
/ 13 января 2012

Это ошибка в работе флага UseMSDeployExe;он генерирует неверный набор параметров командной строки для WebDeploy.Попробуйте удалить эту строку из файла wpp.targets, и она должна работать правильно.Эта ошибка будет исправлена ​​в следующем выпуске.

Примечание: UseMSDeployExe в основном предназначен в качестве тестового хука для команды VS для устранения проблем с WebDeploy.VS имеет 2 отдельных режима: внутрипроцессное использование WebDeploy (с помощью рефлексии, я думаю) и внепроцессное, путем оболочки msdeploy.exe (отсюда и флаг UseMSDeployExe)Нет реальной выгоды в установке UseMSDeployExe, если только вы не ищете аргументы команды, которые VS передает WebDeploy.

...