Командная строка MSBuild и публикация в Visual Studio

У меня есть решение с несколькими проектами, один из которых представляет собой веб-приложение, для которого я хочу создать пакет развертывания. При публикации с помощью Visual Studio он публикуется и развертывается без каких-либо проблем.
Однако из-за некоторых требований мне нужно опубликовать его с помощью командной строки, и именно здесь у меня возникают проблемы. Публикация сама по себе отлично работает даже в командной строке, но когда я пытаюсь развернуть пакет, созданный в командной строке, я получаю эту ошибку:

Значение для параметра setAclUser должно быть указано, когда поставщик setAcl используется с физическим путем.

Моя команда msbuild выглядит так:

msbuild Solution.sln / p: DeployOnBuild = true / p: PublishProfile = Отладка

Одно различие, которое я заметил, заключается в том, что при публикации решения папка PackageTemp создается в разных проектах, поэтому при развертывании она распечатывает разные пути к cmd. С публикацией VS они выглядят примерно так

"Веб-сайт по умолчанию / Мой сайт / ..."

но с публикацией в командной строке они выглядят так

"C: \ MySolution \ Project (только проект библиотеки, а не тот, который я хочу опубликовать) \ obj \ Debug \ Package \ PackageTemp ..."

Спасибо за любую помощь

Изменить: созданные пакеты .zip почти такие же, за исключением archive.xml, который имеет несколько разных значений, и я подозреваю, что это проблема, но, к сожалению, я не могу понять, что на самом деле представляет этот файл.


person Ivan    schedule 20.10.2015    source источник
comment
Проверьте этот связанный ответ на SO - stackoverflow.com/questions/6861990/   -  person Mitul    schedule 20.10.2015
comment
Я видел этот пост и подумал, что он не имеет отношения к моей проблеме. Теперь, когда вы разместили это, я попробовал, и это сработало ... но ненадолго. Понятия не имею, почему, но иногда это работает, а иногда нет. Я подошел ближе к определению проблемы, тем не менее. Фактическая проблема заключается в том, что место назначения пакета установлено на C: \ MySol \ MyProj \ Package \ PackageTemp ..., в то время как это должен быть веб-сайт по умолчанию / .... Я понятия не имею, почему, я установил его в Debug.pubxml на Веб-сайт / веб-сайт по умолчанию. Любые идеи?   -  person Ivan    schedule 21.10.2015
comment
Хорошо, после еще нескольких экспериментов кажется, что всякий раз, когда ‹DesktopBuildPackageLocation› установлен как полный путь, развертывание завершается ошибкой, но всякий раз, когда он устанавливается как относительный путь, он работает нормально. Я не знаю, как ‹DesktopBuildPackageLocation› относится к фактическому месту развертывания, я думал, что это только сервер в качестве места назначения для сохранения пакета. Какие-нибудь объяснения?   -  person Ivan    schedule 22.10.2015