2

私の目的は、バイナリをチェックインする必要がないように、ビルド サーバーでパッケージの復元を機能させることです。現時点では、Visual Studio を使用して自分のマシンで動作させようとしているだけです。

これまでに行ったことは次のとおりです。

  1. http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packagesの指示に従い、Tools-Options フラグと環境変数 (ベルトとブレース) の両方を設定します。
  2. ここで提案されているように、NuGetEnablePackageRestore パッケージをインストールしましたNuGet なしで NuGet パッケージを復元する同意
  3. すべて (.nuget ソリューション フォルダーとその内容) をチェックインしましたが、参照したいバイナリはチェックしませんでした。

これが私がやっていることです:

  1. ソリューションを確認する
  2. チェックアウトしたソリューションに nunit.framework.dll と moq.dll が存在しないことを確認します
  3. ソリューションを構築する

Visual Studio は、Moq が見つからないと文句を言います。ソリューション ディレクトリで dll を検索すると、次のことがわかります。

  1. nunit.framework.dll は適切な bin フォルダーに存在します
  2. Moq.dll が見つからない

しかし、もっとあります。これは本当に謎ですが、新たにチェックアウトしてインターネットから切断してビルドすると、まったく同じ結果が得られます。nunit.framework.dll は存在しますが、moq.dll は存在しません。ビルド プロセスは、文字通りどこからともなく nunit.framework.dll を呼び出しました。

ですから、私が完全に困惑していると言っても過言ではありません。誰でも次の質問に対する答えを提案できますか:

  1. パッケージの復元で Moq がダウンロードされないのはなぜですか?
  2. インターネットではないにしても、ビルド プロセスが nunit.framework.dll を取得するのは一体どこでしょうか。
4

2 に答える 2

2

vs、オプション、パッケージマネージャー...には「パッケージキャッシュ」セクションがあり、「参照」ボタンをクリックすると、マシン内のNugetキャッシュの場所に移動します。

于 2012-10-15T18:50:19.430 に答える
1

さて、ドキュメントで、パッケージの復元を有効にすると、新しいターゲットを追加するためにプロジェクト ファイルを変更することになっていることに気付きました。私のプロジェクト ファイルには、この変更はありませんでした。VS でソリューション タイトルを右クリックし、[NuGet パッケージの管理...] を選択してから、必要な変更を追加し、必要に応じてすべてをビルドしました。

確認したところ、インターネットにアクセスできない場合でもパッケージの復元が機能しているように見えるので、まだそれについて戸惑っています. NuGet は、ソリューションの外部で何らかの種類のバイナリのキャッシュを維持しますか?

于 2012-10-12T11:36:50.263 に答える