3

nuget の新しい自動パッケージ復元に移行しようとしています。自分のマシンでは正常に動作しますが (パッケージは復元されます)、ビルド サーバーで TFS ビルドとして実行されたビルドはビルドされず、さまざまな dll (復元の一部としてダウンロードされているはずです) が見つからないと不平を言います。

ここで指定されているように、ソリューション フォルダーに nuget.config を作成しました。

http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

また、この nuget.config ファイルを TFS の nuget.exe ファイルの隣に配置しようとしましたが、使用されることを期待していましたが、役に立ちませんでした。

ここのナゲット参照:

http://docs.nuget.org/docs/reference/nuget-config-file

私のソリューションフォルダーのnuget.configを取得する必要があると述べています。しかし、そうではないようです。

私は私のテザーの終わりにいます。nuget によると、パッケージの復元機能は、パッケージをチェックインする必要がないように特別に設計されています。ただし、TFS で実際にパッケージを復元する方法についての情報はほとんどなく、私が見つけたものは機能しません。

どんな助けでもありがたく受け取られます。

私の nuget.config は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="ads" value="<address to local repository>" />
  </packageSources>
</configuration>
4

2 に答える 2

-1

Visual Studio のバージョンによっては、ソリューションを右クリックして [NuGet パッケージの復元を有効にする] を選択するだけです。これにより、NuGet.exe、NuGet.Targets ファイル、および NuGet.config を含む Nuget フォルダーが作成されます。

ローカルの NuGet フィードがある場合は、それを使用してターゲット ファイルを更新できます。

ローカルでテストするには、パッケージ フォルダーの内容を削除し、ソリューションを再ビルドします。これにより、NuGet からファイルがダウンロードされ、ソリューションが正しくビルドされます。NuGet フォルダーとファイルをソース管理にチェックインします。パッケージをソース管理に追加しないでください。

TFS ビルドでパッケージを復元できるようになりました

NuGet 復元

このようにセットアップしても TFS で動作しない場合は、ビルド アカウントでビルド サーバーにログオンし、ソリューションをローカルにロードして、パッケージの復元がビルド マシンのビルド アカウントとして機能することを確認します。ビルド サーバー/ビルド アカウントが Nuget.org インターネット サイトにアクセスできない、ファイアウォール/プロキシの問題がある可能性があります

于 2014-07-08T14:24:12.447 に答える