TFSを使用してWeb展開単独のパッケージを作成する方法
質問
TFSビルドを使用してWeb展開パッケージを作成し、IISで自動的にデプロイしたくないだけです。
ビルド定義の2つのパラメータを追加しました - > msbuild引数
/ P:createPackageOnpublish= true / p:deployonbuild= true
Probelmは、DROP Locationでzipファイルを取得して以下のエラーを取得していません。
c:\プログラム ファイル\ msbuild \ Microsoft \ VisualStudio \ V10.0 \ Web \ Microsoft.Web.publishing.targets (1657):「MapuritoiisWebServer」タスクは予期せずに失敗しました。 System.Runtime.InterpopServices.ComeXception(0x80005000):不明 エラー(0x80005000) System.DirectoryServices.DirectoryEntry.Bind(Boolean Throwiffail)
System.DirectoryServices.DirectoryEntry.Bind()At System.DirectoryServices.DirectoryEntry.get_iscontainer()AT System.DirectoryServices.DirectoryEntries.checkiscontainer()AT System.DirectoryServices.DirectoryEntries.find(文字列名、文字列 schemaClassName) Microsoft.web.publishing.tasks.mapuritoiiswebserver.get_iismajorversion() Microsoft.web.publishing.tasks.mapuritoiiswebserver.execute()AT Microsoft.build.backend.taskexecutionhost.microsoft.build.backend.itaskexecutionhost.execute() at Microsoft.Build.backend.taskBuilder.executeInStantiatedTask(ItaskeXecutionHost. TaskeXecutionHost、TaskLoggingContext TaskLoggingContext、Taskhost. Taskhost、Itembucketバケツ、TaskeXecutionMode HowToExecutetask、 ブール&タスクローズ)問題がどんなものになるでしょうか?
今私は別のエラーを得ています
エラー:Web展開タスクに失敗しました。(「マニフェストとパス」のオブジェクト:\ TFS \ dev \ applicationName \ binaries \ release_publishedwebsites \ ApplicationName_Package \ ApplicationName.SourceNifest.xml 'は作成できません。)
エラー: 'manifest'とpath 'e:\ tfs \ dev \ applicationName \ binaries \ release_publishedwebsites \ ApplicationName_Package \ ApplicationName.SourceManifest.xml'を作成できません。
エラー:マニフェストの「sitemanifest」の1つ以上のエントリが無効です。
エラー:アプリケーション '/ ApplicationName'がサイト 'デフォルトのWebサイト'には存在しません。
解決
私はあなたがWebプロジェクトのためにあなたのビルドに 'パッケージ'ターゲットを追加するだけでよいと思います。
/t:Build;Package
.
私は私のTFSでそのターゲットを使用していました。
編集:パッケージターゲットの説明 WebアプリケーションのCSPROJファイルをXMLファイルとして表示すると、次のが含まれていることがわかります。
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
.
これには、ビルドプロセスに束のWebターゲットが含まれています。このファイルを開くと下部にあると、順番にが含まれていることがわかります。
<Import Project="..\Web\Microsoft.Web.Publishing.targets" Condition="Exists('..\Web\Microsoft.Web.Publishing.targets')" />
.
このファイルには、MSBuildのWeb展開プロセスの定義が含まれています。 「パッケージ」であるとしてデプロイするための「ターゲット」を呼び出すための変数を宣言することがわかります。
<DeployDefaultTarget Condition="'$(DeployDefaultTarget)'==''">Package</DeployDefaultTarget>
.
このファイルを読み込んだ場合は、カバーの下にパッケージングと展開の作業がどのように機能し、どのような梱包と展開の作業がどのようにしており、そのセットの一連のプロパティとターゲットのセットがあなたのビルドをカスタマイズするために操作することができます。
長い話はを呼び出すならば
msbuild yourwebapplication.csproj /t:Package /p:Configuration=Release
.
アプリのリリース構成のWeb展開パッケージを作成する必要があります。
他のヒント
私は同じ問題を持っていました、そしてそれが解決された唯一のものはこれでした:
- IIS管理コンソールを開く
- あなたのデフォルトのWebサイトに行きます
- 'applicationName' という名前の新しいアプリケーションを追加する
- msbuildをもう一度実行してください。働きます。
可能な msbuild deploybuild= TRUE NOT公開
アトラシアン竹と同じ問題を抱えていて、これは私のためにそれを修正しました:Visual Studioのマシンから "C:\ Program Files(x86)\ msbuild \ microsoft \ visualstudio \ v10.0 \ webの内容をコピーしました。"TFSビルドサーバーへ。