を動作していないが、私はすべての運を持っていませんよ。 (私はまだすべてのことで耳の後ろに濡れているので、簡単なステップや設定をしてください)TFS NuGetインストーラのビルドステップは、私はNuGetパッケージの参照を持つプロジェクトの自動ビルドを設定しようとしている
注:これは私が使っているような他の類似の質問と重複していません中央のパッケージリポジトリ他の同様の質問では、この重要な詳細について言及していないので、関連性がないとみなされるべきです。
ビルドは、参照することなく、細かい実行されます。私はそれをチェックし、ビルドを始めたが、NuGetが最初に私のアプリケーションのbin
フォルダにアセンブリをコピーされていなかった
Dim eHandling As Newtonsoft.Json.ConstructorHandling
eHandling = Newtonsoft.Json.ConstructorHandling.Default
:私はこの単純な構造物を含むことによって、それにNewtonsoft.Json
とバインドを追加しました。ただし、ここにコピーしました:
もちろん、依存関係が見つからないため、ビルドに失敗しました。
それは私が私のdevのマシン上で中央のパッケージリポジトリを使用していることは注目に値します:
<config>
<add key="repositoryPath" value="D:\Dev\Packages" />
</config>
私も、サーバー上でこの動作をエミュレートしたい
、例えばC:\Packages\*\*.nupkg
。
私は標準%AppData%\NuGet\NuGet.config
ファイルを使用してみましたが、ビルドはそれを無視します。私は(そこに示されているようrepositoryPath
代わりのpackageSources
を使用して)this answerにアドバイスを試してみましたが、私はVSO Agentサービスを再起動するまで、そのサーバがハングします。アクセス許可の問題である可能性があると考えて、%AppData%
の場所に関連付けられたユーザーアカウントでエージェントが実行されるように再構成しました。NuGet.config
です。まだ運がありません。ビルドしない。
ビルドステップを実行する前にNuGetにサーバー上のセントラルパッケージリポジトリをダウンロードして入力してから、適切な依存関係をアプリケーションbin
フォルダにコピーするにはどうすればよいですか?
EDIT 1
アップデート:どうやら何かの作業、私は今、サーバー上のC:\Packages\Newtonsoft.Json.9.0.1
のフォルダを持っているよう。ただし、アセンブリをビルドする前にアプリケーションbin
フォルダにコピーされていません。同じ結果。ビルドに失敗しました。
EDIT 2
OK、私が近づいています。私はサーバー上にD:ドライブを作成し、ローカルrepositoryPath
の値をD:\Dev\Packages
に設定しました。これは私の開発マシンと同じです。ビルドはまだ失敗していますが、プロジェクトXMLを簡単に見てみると、次のようになります。
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\Packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
この相対パスはどのように処理するのですか?それはそれを修正する必要があります、はい?働い
EDIT 3
OK、。プロジェクトを編集して
D:\Dev\Packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
に変更しました。これでビルドに成功しました。
しかし、これは本当に退屈な本当の高速を得るつもりです。確かに、すべての単一のプロジェクト、過去と現在と未来のNuGetリファレンスごとにこれを行う必要はありません...私は?