Как создавать пакет в одиночку развертывания, используя TFS
Вопрос
Мне просто нужно создать пакет веб-развертывания, используя сборку TFS и не хочу автоматически развертывать его в IIS.
Я добавил ниже два параметра в определении сборки -> MSBuild Arguments
/ p: createpackageonpublish= true / p: deployonbuild= true
PROBELM Я не получаю запись ZIP в локате Drop и получения ошибки ниже.
C: \ Программа Файлы \ msbuild \ Microsoft \ Visualstudio \ v10.0 \ web \ microsoft.web.publishing.targets (1657): задача «Mapuritoiiswebserver» неожиданно ошибалась. System.runtime.interopservices.Comexception (0x80005000): неизвестен Ошибка (0x80005000) в System.directoryservices.directoryentry.bind (Boolean Rapififail)
в System.directoryservices.directoryentry.bind () в System.directoryservices.directoryentry.get_iscontainer () в System.directoryservices.directoryentries.Checkiscontainer () в System.directoryservices.directoryentries.find (строковое имя, строка Schemaclassname) на Microsoft.Web.publishing.tasks.mapuritoiiswebserver.get_iismajorversion () в Microsoft.Web.publishing.tasks.mapuritoiiswebserver.execute () в Microsoft.build.backend.taskexecuventhost.microsoft.build.backend.itaskexecutionhost.execute () в Microsoft.build.backend.taskbuilder.executeInstantTateTask (itaskexecutionhost. TaskeExuctionHost, TaskLoggingContext TaskLoggingContContext, Taskhost TaskHost, Attembucket Bucket, TaskexecutionMode Howtoexecutisk, Boolean & taskresult)Что может быть проблемой?
Теперь я получаю разную ошибку
Ошибка: Задача веб развертывания не удалась. (Объект типа «Манифест» и PATH 'E: \ TFS \ DEV \ PATHION' E: \ TFS \ DEV \ phationsname \ Binaries \ Release_publishedWebsites \ applicationname_package \ prienteName.sourCemanifest.xml 'не может быть создан.)
Ошибка: Объект типа «Манифест» и PATH 'E: \ TFS \ DEV \ PATHION' E: \ TFS \ DEV \ applicationname \ Binaries \ Release_publishedwebsites \ applicationname_package \ applicationname.sourcemanifest.xml не может быть создан.
Ошибка: одна или несколько записей в манифесте «SiteMifest» недействительны.
Ошибка: Приложение '/ ApplicationName' не существует в сайте «Веб-сайт по умолчанию».
Решение
Я считаю, что вам просто нужно добавить цель «пакет» на вашу сборку для веб-проекта.
/t:Build;Package
.
Я использую эту цель в моем TFS, чтобы создать папку _PubliseWeachWebsite с пакетом ZIP на Zip, теперь с успехом.
Редактировать: Объяснение цели пакета Если вы посмотрите на файл CSPROJ для своего веб-приложения в качестве файла XML, вы увидите, что он включает в себя следующее
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
.
Это включает в себя кучу веб-мишени в ваш процесс сборки. Взломать этот файл открыть и внизу вы увидите, что он в свою очередь включает в себя
<Import Project="..\Web\Microsoft.Web.Publishing.targets" Condition="Exists('..\Web\Microsoft.Web.Publishing.targets')" />
.
Этот файл содержит определение процесса веб-развертывания для MSBUILD. Вы увидите, что он объявляет переменную для обозначения «цели» для вызова в развертывании как «пакет»
<DeployDefaultTarget Condition="'$(DeployDefaultTarget)'==''">Package</DeployDefaultTarget>
.
Если вы прочитаете этот файл, далее он даст вам представление о том, как работают на упаковке и развертывании под крышками и какой набор свойств и целей вы можете манипулировать для настройки вашей сборки.
Долгая история, хотя, если вы звоните
msbuild yourwebapplication.csproj /t:Package /p:Configuration=Release
.
Он должен построить вам пакет веб-развертывания для конфигурации выпуска вашего приложения.
Другие советы
У меня была такая же проблема, и единственное, что решило, что это было:
- Откройте вашу консоль управления IIS
- Перейти к вашему веб-сайту по умолчанию
- Добавить новое приложение с именем «ApplicationName»
- Запускайте msbuild снова.Это будет работать.
Возможный дубликат msbuild deployonbuild= true не публикация
У меня была такая же проблема с Atlassian Bamboo, и это исправлено для меня: с машины с визуальной студией Копировать содержимое «C: \ Program Files (x86) \ msbuild \ Microsoft \ Visualstududio \ v10.0 \ web«На сервер сборки TFS.