Не удается msdeploy веб-пакет во временную папку? - PullRequest
7 голосов
/ 26 февраля 2012

У нас есть веб-приложение Asp.Net, которое мы пытаемся псевдо-развернуть в папку, и я начинаю думать, что Microsoft сумасшедшая - почему так сложно получить WAP, чтобы сделать «Локальная файловая система» развертывается как часть MSBuild?

Я могу построить с этим:

msbuild .\SubSite.csproj "/p:Platform=AnyCPU;Configuration=Release" /t:Package

И получите красивый package.zip, который я могу развернуть на веб-сайте ...

Однако в моем решении есть два проекта, которые мне нужно объединить перед отправкой, поэтому я хочу развернуть оба пакета в папке, а затем повторно упаковать эту папку. Несмотря на документацию на technet наоборот , кажется, что это невозможно сделать:

msdeploy -verb:sync -source:package=.\SubSite.zip -dest:contentPath=.\Www\SubSite

Потому что вы получаете ошибку:

Источник (sitemanifest) и пункт назначения (contentPath) не совместимы для данной операции.

У кого-нибудь есть предложения о том, как я могу развернуть в Интернете два сайта друг на друге, не копируя файлы вручную из папки PackageTmp? Я имею в виду, что я знаю, что я мог бы просто пропустить архивирование пакета и вручную скопировать файлы из , чтобы сделать это, но я не рад созданию собственной цели, и другого пути нет чтобы найти это просто сделать что-то, что должно быть встроено.

1 Ответ

1 голос
/ 04 апреля 2012

В конце концов мы выяснили, как это сделать, но я не очень доволен этим; -)

В принципе (как уже упоминалось в другом месте), вы можете вызвать msbuild с целью, установленной в_WPPCopyWebApplication.При этом вы также можете указать / переопределить свойство WebProjectOutputDir.Примерно так (где $ {name} - переменные, которые мы используем)

msbuild ${SourcePath}\Www\UI\UI.csproj "/p:Platform=AnyCPU;Configuration=Release;WebProjectOutputDir=${OutputPath}\AppRoot" "/t:_WPPCopyWebApplication"
msbuild ${SourcePath}\Www\Mobile\Mobile.csproj "/p:Platform=AnyCPU;Configuration=Release;WebProjectOutputDir=${OutputPath}\AppRoot\Mobile" "/t:_WPPCopyWebApplication"
msbuild ${SourcePath}\Www\Service\WebService.csproj "/p:Platform=AnyCPU;Configuration=Release;WebProjectOutputDir=${OutputPath}\AppRoot\WebServices" "/t:_WPPCopyWebApplication"

Затем мы можем упаковать весь «AppRoot» в отдельный шаг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...