Мне не повезло с развертыванием Orchard CMS с помощью Visual Studio 2010, нажав один раз кнопку «Опубликовать». У него действительно были некоторые проблемы с файлом * .targets.
Я думаю, что способ публикации должен использовать Orchard.proj
файл. В нем есть все необходимое для создания правильного пакета веб-развертывания:
Когда вы вызываете msbuild /t:Build Orchard.proj
, он компилирует все, помещает нужные файлы в нужные места во временных папках и затем генерирует ~\artifacts\MsDeploy\Orchard.Web.zip
.
Этот пакет готов к развертыванию. Вы можете редактировать manifest.xml
и parameters.xml
в зависимости от того, что вы хотите сделать. То же самое для Orchard.proj
: вы можете включить некоторые отключенные модули и т. Д.
Я также собираюсь опубликовать пример сценария msdeploy, пока я на нем:
deploy.cmd:
@echo off
set site=sitename.com
set user=iis_manager_login
set pass=password
set host=wmsvc='https://hosting.provider.com:8172/msdeploy.axd?site=%site%',userName='%user%',password='%pass%',authtype='Basic'
set cmd=-allowUntrusted -verbose
echo on
::This command puts app_Offline.htm to web application root, asp.net will
::automatically shut down instantly. My hosting provider does not let me use
::recycleApp Provider anyway. I am also not able to use filePath Provider.
::That's why I use contentPath.
msdeploy -verb:sync -source:contentPath='%CD%\lib\msdeploy\app_Offline.htm' -dest:contentPath="%site%\app_Offline.htm",%host% %cmd%
::This is the main deploy command. It will apply every provider listed in
::manifest.xml, applying changed written in parameters.xml.
::It will also skip Media, Settings.txt and app_Offline.htm itself.
::Without skip directive, it would all get removed.
::Deploy will try to delete folders that do not exist in Orchard.Web.zip
::You might have a need to add something like
::<WriteLinesToFile File="$(StageFolder)\App_Data\Sites\Default\_placeholder.txt" Lines="some_text" Overwrite="true"/>
::to your Orchard.proj
msdeploy -verb:sync -source:package='artifacts\MsDeploy\Orchard.Web.zip' -dest:auto,%host% -setParam:name='Application Path',value='%site%' -skip:File='%site%\\App_Data\\Sites.*Settings.txt' -skip:File='%site%\\app_Offline.htm' -skip:Directory='%site%\\Media' %cmd%
::Remove app_Offline.htm, now your site can start up.
msdeploy -verb:delete -dest:contentPath="%site%\app_Offline.htm",%host% %cmd%
Вероятно, это сообщение в блоге может быть полезным.