rksoftware

Visual Studio とか C# とかが好きです

NuGet のパッケージソースを追加する

NuGet のパッケージソースを追加する方法です。
パッケージソースとしてプライベートなパッケージ配置場所を設定することでプライベートな配布ができます。

■ Visual Studio で追加する

おそらく一番一般的に知られた方法です。

Visual Studio の [ NugGet パッケージの管理 ] から右上の歯車アイコンで開くダイアログで設定します。 f:id:rksoftware:20211206005037p:plain
f:id:rksoftware:20211206005209p:plain

■ dotnet コマンドで追加する

現代の第一の方法でしょう。

> dotnet nuget add source c:\packages -n my-packages

追加結果

> dotnet nuget list source
登録されているソース:
  1.  nuget.org [有効]
      https://api.nuget.org/v3/index.json
  2.  Microsoft Visual Studio Offline Packages [有効]
      C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
  3.  my-packages [有効]
      c:\packages

詳細はこちら

docs.microsoft.com

■ nuget.config で追加する

今回推したいのはこちら。nuget.config というファイルを作っておくとその配下のディレクトリ内に対して設定をできます。
このファイルをソリューションのトップ ディレクトリに置いてソース管理に追加しておけば、ソースを手元に持ってきた人は何もしなくて OK です。

別の視点でも、プロジェクトごとに異なるプライベート リポジトリをパッケージ ソースに追加しなければならない場合などにも便利だと思います。

nuget.config (例)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="debug-repository" value="C:/debug-repository" />
  </packageSources>
</configuration>

追加結果

> dotnet nuget list source
登録されているソース:
  1.  debug-repository [有効]
      C:\debug-repository
  2.  nuget.org [有効]
      https://api.nuget.org/v3/index.json
  3.  Microsoft Visual Studio Offline Packages [有効]
      C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\