2016-06-17 13 views
0

Team Servicesにビルド定義のセットアップがあり、トークンライザータスクを実行できるようにweb.configファイルを追加のアーティファクトとして公開しています。私のビジュアルスタジオプロジェクトでは、Web.Release.configファイルにトークンの設定があります。ビルドが実行されると、トークンはconfigファイルに挿入され、各環境のリリース管理プロセスに置き換えられます。Visual Studio Team Services - パブリッシュアーティファクトが見つかりませんPathtoPublish

これは過去数ヶ月にわたって機能しています。しかし、今日、web.configファイルの "PathtoPublish not found"というエラーで失敗し始めました。公開アーティファクトのタスクでは、私は

"MyWebProject\obj\Release\Package\PackageTmp\Web.config". 

としてセットアップし、今では私はパスに変数を使用する必要があると思います

"SolutionFolder\Branch\MyWebProject\obj\Release\Package\PackageTmp\Web.config". 

のようなパスを期待しているように見える発行するパスを持っています。しかし、私は正しい変数が何であるか把握できません。トークンが配置されるように、変換されたWeb.configファイルを取得する必要があります。奇妙なことに、古いパスは2番目のチームプロジェクトのビルド定義でうまくいきます。

答えて

2

これは前述のベイウェットのビルド定義の変更、特に「リポジトリ」タブの「マッピング」セクションによって発生する可能性があります。

"web.config"ファイルのパスを直接参照する変数はありません。

  1. 使用「をコピーし、アーティファクトのビルド公開」タスクを、「コピールート」と「** \ PackageTmp \ Web.configファイル」などとして「$(Build.SourcesDirectory)」を指定します。別の方法は次のようになります「コンテンツ」これで、 "PackageTmp"フォルダの下のweb.configファイルが検索され、公開されます。

  2. または "Visual Studioビルド"ステップで "/P:outputpath="$(build.artifactstagingdirectory)\Temp" "引数を追加すると、出力ファイルを" $(build.artifactstagingdirectory)\ Temp "にコピーできます。 "Publish Artifacts task"ステップで、 "$(build.artifactstagingdirectory)\ Temp_PublishedWebsites \ YourProjectName \ Web.config"と入力してweb.configファイルを公開することができます。

+0

はい私はマッピングを更新しました。オプション1は私のために働いた、 – Bipindas

1

ビルドの定義が更新されていて、気づかずにタスクが最新バージョンに更新された可能性があります(タスクの履歴のバージョン番号をチェックしてください)。
あなたが探している変数はわかりませんが、$(BuildConfiguration)はパスの "Release"または "Debug"部分を与えます。
$(build.stagingDirectory)は、ファイルがアーティファクトとして収集される前にコピーされるパスを提供します。
minimatchパターンに** \ Web.Configのようなオプションを付けることもできます
幸運にもそれを修正しました。

関連する問題