문제

TFS 빌드를 사용하여 웹 배포 패키지를 만들어야하며 IIS에서 자동으로 배포하려는 것이 필요하지 않습니다.

빌드 정의에 아래의 두 매개 변수가 추가되었습니다 -> MSBuild 인수

/ p : createPackageOnPublish= true / p : deployonbuild= true

프로브 파일은 ZIP 파일을 드롭 위치에 있고 아래 오류를 얻지 못합니다.

C : \ Program. 파일 \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.Targets (1657) : "MapuritoiisWebServer"작업이 예기치 않게 실패했습니다. System.Runtime.InteropServices.comException (0x80005000) : 알 수 없음 오류 (0x80005000) AT. System.DirectoryServices.DirectoryEntry.Bind (부울 Thanefife)


System.DirectoryServices.DirectoryEntry.Bind () AT. System.DirectoryServices.DirectoryEntry.get_ISTONTAINER () AT. System.DirectoryServices.DirectoryEntries.CheckIctainer () AT. system.directoryServices.DirectoryEntries.Find (문자열 이름, 문자열) Schemaclassname) AT. Microsoft.Web.Publishing.Tasks.MapuritoiisWebServer.get_IismaJorversion () Microsoft.Web.Publishing.Tasks.MapuritoiisWebServer.Execute () AT. microsoft.build.backend.taskexecutionhost.microsoft.build.backend.itaskexecutionHost.execute () ...에서 Microsoft.Build.Backend.TaskBuilder.ExecuteInstantiTiptape (ItaskexecutionHost. taskexecutionhost, taskloggingContext taskloggingContext, taskhost. TaskHost, Itembucket Bucket, TaskexecutionMode HowToExecuteTask, boolean & taskResult)

문제가 될 수 있습니까?


이제는 서로 다른 오류가 발생합니다

오류 : 웹 배포 작업이 실패했습니다. ( '매니페스트'유형 'e : \ tfs \ dev \ applicatname \ binaries \ dev \ applicationname_package \ applicationname_package \ applicationname.sourcempackage \ applicationname_package \ applicationname_package \ applicationname_package \ applicationname_package \ applicationname_package)

오류 : '매니페스트'유형의 개체와 경로 'E : \ tfs \ dev \ applicationname \ binaries \ release_publishedwebsites \ applicationname_package \ applicationname.sourcemanifest.xml'을 만들 수 없습니다.

오류 : 매니페스트 'SiteManifest'의 하나 이상의 항목이 유효하지 않습니다.

오류 : 응용 프로그램 '/ ApplicationName'이 사이트의 기본 웹 사이트 '에 없습니다.

도움이 되었습니까?

해결책

웹 프로젝트에 대한 빌드에 '패키지'대상을 추가해야합니다.

 /t:Build;Package
.

저는 TFS 빌드에서 해당 대상을 사용하여 지금까지 PACKAGE ZIP로 _PUBULISHESEWEBSITE 폴더를 생성합니다.

편집 : 패키지 대상의 설명 웹 응용 프로그램의 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 
.

앱의 릴리스 구성을위한 웹 배포 패키지를 구축해야합니다.

다른 팁

나는 동일한 문제를 가지고 있었고, 이것을 해결 한 유일한 것은 이렇게했다.

  1. IIS 관리 콘솔을 엽니 다.
  2. 기본 웹 사이트로 이동
  3. 'ApplicationName'라는 새 응용 프로그램 추가
  4. 다시 MSBuild를 실행하십시오.그것은 작동 할 것입니다.

msbuild deployonbuild= true not publishing

Atlassian Bamboo와 동일한 문제가 있었으며,이 문제가 해결되었습니다. "C : \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web의 내용을 Visual Studio 복사하는 시스템에서"TFS 빌드 서버에.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top