特定のVisual Studioソリューション内だけで利用するカスタムNuGet パッケージソースを登録する方法

samatsu 8/17/2017 1675 N/A Visual Studio

少し前にしったのですが、Visual Studioで特定のソリューションの中だけで利用するカスタムのNuGetパッケージソースを登録する方法があったのでメモを残しておきます。

Visual Studioで開発をしているときにnuget.org 以外のカスタムのNuGet パッケージソースからパッケージを参照して開発をする場合があります。例えば Sitecore の場合は、 次のURLがSitecore XPの開発で利用する主要なDLLが公開されているNuGet FeedのURLになります。

https://sitecore.myget.org/F/sc-packages/api/v3/index.json

 

Visual Studioの Tool > Options からカスタムのパッケージソースを登録できますが、この方法を使用すると、新しい人が参加するたびにその人のマシンのVisual StudioでカスタムNuGet パッケージソースの登録をする必要があります。

なんかいい方法ないかなぁと思っていたら、特定のVisual Studioソリューションで利用するNuGetパッケージの構成方法がありました。

Configuring NuGet behavior

https://docs.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior

いろいろ細かく書いてありますが、要するにVisual Studioのソリューションフォルダーに NuGet.configという名前でファイルを配置しておくと、Visual Studioのほうが空気読んでその内容を読み込んで、そのVisual Studioソリューションの中だけで利用するカスタムのNuGetパッケージソースを追加してくれるみたいです。

例えば次のようにファイルを作成してあげればOK.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="Sitecore" value="https://sitecore.myget.org/F/sc-packages/api/v3/index.json" />
  </packageSources>
</configuration>

こうすれば、ソリューションエクスプローラーでプロジェクトを右クリック > NuGet パッケージ管理 メニューをクリックするとソースに上記の例では Sitecore が表示されるようになります。