現在、ビルドを Cruise Control から Team City に切り替えており、いくつかのプロジェクトで使用されているコンポーネントのカスタム NuGet パッケージを復元しようとして問題が発生しています。コンポーネントはコネクタ ベースと呼ばれます。Team City で、NuGet パッケージを正常に作成し、セットアップした Team City NuGet サーバーからアクセスできるアーティファクトとして保存する Connector Base 用のビルドをセットアップしました。この依存関係にアクセスする必要がある私のプロジェクトのソリューションに入り、Team City 設定で提供された URL を使用して、NuGet パッケージ マネージャーから Connector Base をインストールしました。すべてが順調で、期待どおりに構築および機能します。次に、それを SVN にコミットし、Team City の NuGet インストーラー ビルド ステップを使用して、ソリューション ファイルで NuGet パッケージの復元を試みます。その結果、どのパッケージもビルドまたは復元されず、コネクタ ベースの依存関係が見つからないため、後でビルドが失敗します。私はインターネット全体を見てきましたが、答えに最も近いものは次のとおりです。http://nuget.codeplex.com/discussions/288024。ただし、これはパッケージの作成に関するものであり、復元に関するものではありません。
参照用にログを含めています。
Step 1/6: NuGet Package Restore (NuGet Installer)
[12:09:00]scan: Searching for nuget.config files
[12:09:00]Found packages folder: C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\packages
[12:09:00]Failed to find repositories.config at C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\packages\repositories.config
[12:09:00]Scanning projects in solution file: C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\Acris.sln
[12:09:00]Found project C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\Acris\Acris.csproj
[12:09:00]Found project C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\IngeoCommon\IngeoLogger\IngeoLogger\IngeoLogger.csproj
[12:09:00]Found project C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\Common_Components\DynamicConnectorTester\DynamicConnectorTester.csproj
[12:09:00]Found project C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\Common_Components\Interface\Interface.csproj
[12:09:00]Found project C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\.nuget
[12:09:00]restore: Restoring NuGet packages for Ingeo\Connector_County\NewConnectors\Acris\Acris.sln
[12:09:00]NuGet command: C:\TeamCity\buildAgent\plugins\nuget-agent\bin\JetBrains.TeamCity.NuGetRunner.exe C:\TeamCity\buildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe restore C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\Acris.sln -Source https://nuget.org/api/v2/ -Source http://localhost/guestAuth/app/nuget/v1/FeedService.svc/
[12:09:00]Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script1470188724716953938.cmd
[12:09:00]in directory: C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris
[12:09:01]JetBrains TeamCity NuGet Runner 8.0.30168.9
[12:09:01]Registered additional extensions from paths: C:\TeamCity\buildAgent\plugins\nuget-agent\bin\plugins-2.8
[12:09:01]Starting NuGet.exe 2.8.50506.491 from C:\TeamCity\buildAgent\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe
[12:09:01]Process exited with code 0
パッケージの復元手順を実行した後、ソリューションをビルドしようとすると、次のエラーで失敗します。
「このプロジェクトは、このコンピューターにない NuGet パッケージを参照しています。NuGet パッケージの復元を有効にしてダウンロードしてください」
1 つには、ビルドを行うたびにビルド サーバーでパッケージの復元を物理的に有効にする必要がなく、単純なパッケージの復元でうまくいくはずのときに .nuget フォルダーをチェックインするのは非常に実用的ではありません。誰もこれについて経験がありますか?私が読んだことの 1 つは、それが私の Connector Base NuGet パッケージにも他の非カスタム NuGet パッケージへの依存関係があるという事実によるものであることを示しているようでした。どんな助けでも大歓迎です。
アップデート
パッケージを復元できた後でも、次のエラーが表示されます。
[Error] C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\Acris\Acris.csproj(327, 5): This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is C:\TeamCity\buildAgent\work\e0174164dde3f938\Ingeo\Connector_County\NewConnectors\Acris\\.nuget\NuGet.targets.