40

NuGet パッケージの復元を使用しています。TFS ビルド サーバー プロセス中にカスタム ソースを指定したいと考えています。

非表示の '.nuget' フォルダーにある NuGet.targets ファイルには、ソース リポジトリを指定するか、%APPDATA%\NuGet\NuGet.config の NuGet.config にフォールバックできることが示されています。

ただし、非表示の「.nuget」フォルダーにも NuGet.config があります。NuGet.targets でソース リポジトリを指定しなかった場合、非表示の '.nuget' フォルダー内の NuGet.config にフォールバックすると想定しました。そうではないようです。

何か案は?

4

5 に答える 5

31

NuGet の現在のバージョンでは、ソリューションの NuGet.config ファイルでカスタム リポジトリを指定し、ビルド中にパッケージの復元を有効にすることができます。この NuGet.config ファイルを使用すると、ビルド定義で他のアクションを実行しなくても、TFS ビルドで内部リポジトリからパッケージを自動的に復元できます。

<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>

  <packageSources>
    <add key="Internal" value="http://MyInternalRepository/nuget" />
  </packageSources>

  <packageRestore>
    <add key="enabled" value="True" />
  </packageRestore>

</configuration>

注: TFS2013 の既定のビルド プロセス テンプレートは、ここに記載されているように、特別な構成を行わなくても NuGet パッケージの復元ワークフローを既に実装しています: http://docs.nuget.org/docs/reference/package-restore-with-team-build

于 2014-07-02T09:40:52.717 に答える
19

パッケージの復元を有効にすると、$(SolutionDir)\。nugetフォルダーにNuGet.targetsMSBuildファイルがあります。

<PackageSources> "" </ PackageSources>要素を変更することで、パッケージソースを設定できます。

例:

<!-- Package sources used to restore packages. By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config -->
<PackageSources>"http://packages.nuget.org/api/v2/;http://myget.org/F/myfeed/"</PackageSources>
于 2012-05-17T18:28:59.183 に答える
6

NuGet 開発者の 1 人である pranavkm によると、この記事の執筆時点では、NuGet パッケージの復元は、ソース用の非表示の '.nuget' フォルダーにある NuGet.config を使用しません。現時点では、ソリューション固有の設定 (ソース管理バインディングを無視するため) にのみ使用されます。彼は、NuGet チームが NuGet.config のすべての側面を活用することを検討していると述べていますが、その優先度はどんどん高くなっていきます。

于 2012-05-17T20:37:06.670 に答える