Цель MSBuild _CopyWebApplication не копирует все необходимые файлы в папку мусорного ведра

В другом месте в сети, можно найти, что рекомендации на использовании чего-то вроде этого моделируют функцию Publish в IDE VS 2005-2008 от командной строки (я надеюсь, что не проваливал синтаксис!):

msbuild /t:ResolveReferences;_CopyWebApplication /p:BuildingProject=true;OutDir=C:\inetpub\wwwroot\ blah.csproj

Теперь, это похоже на прекрасную копию .dll. Однако существуют определенные конфигурационные файлы и обрабатывают по шаблону файлы, которые копируются в папку мусорного ведра, которые необходимы, чтобы приложение работало. Например, конфигурационный файл NHibernate обнаруживается в blah.csproj как:

<None Include="blah.cfg.xml">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

В то время как использование Публикует из копий IDE этот файл, как это должно, вышеупомянутая цель _CopyWebApplication не сделать. Мне нужен этот файл, который будет скопирован в сценарии сборки. Это - желаемое поведение для _CopyWebApplication? Какие-либо рекомендации о том, как зафиксировать это?

РЕДАКТИРОВАНИЕ 21.04.2010:

Позвольте мне разъяснить, что мы ограничены (на данный момент) VS 2005 и проекты VS 2008 года, и что наши сценарии сборки записаны для MSBuild 3.x. Мы еще не готовы переместить в VS 2010.

Позвольте мне также указать, что мы ищем решение, доступное из командной строки так, чтобы мы могли автоматизировать как будто Опубликовать команду наряду со сделанными на заказ опциями, и возможно автоматизировать развертывание в будущем.

13
задан Alex Peck 22 April 2010 в 22:05
поделиться

2 ответа

Это просто временное решение.

В сценарии сборки для публикации веб-сайтов после запуска MSBuild в самом веб-проекте для его публикации (Targets = "ResolveReferences; _CopyWebApplication") я добавил операцию копирования:

<Copy SourceFiles="@(ProjectBinFiles)" DestinationFolder="$(StageBin)\%(ProjectBinFiles.RecursiveDir)" />

где ProjectBinFiles - это элемент, представляющий файлы в каталоге bin в исходном каталоге, а StageBin - это свойство, представляющее папку bin в каталоге опубликованного сайта. Пока вроде работает.

6
ответ дан 2 December 2019 в 01:57
поделиться

У меня тоже была похожая проблема. Думаю, ответ заключается в использовании MSDeploy . Сейчас исследуем его, но может предоставить необходимые функции ...

0
ответ дан 2 December 2019 в 01:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: