web-dev-qa-db-ja.com

NuGetパッケージの.nupkgファイルをローカルにインストールする方法を教えてください。

私はC#の本からいくつかの.nupkgファイルを持っています。どうやってそれらをインストールすることができますか?

Can't see my packages

366
Tom

メニューツールオプションパッケージマネージャ

Enter image description here

名前とフォルダの場所を指定します。 OKをクリックしてください。そのフォルダにNuGetパッケージファイルをドロップします。

プロジェクトに移動し、右クリックして"Manage NuGet Packages"を選択してから、新しいパッケージソースを選択します。

Enter image description here

これが ドキュメント です。

400
Shyju

Package Managerコンソール を使用して、Install-Packageパラメーターでパッケージファイルを含むディレクトリへのパスを指定して、-Sourceコマンドレットを呼び出すこともできます。

Install-Package SomePackage -Source C:\PathToThePackageDir\
270

私が使用したい.nupkgファイルの場合:

Install-Package C:\Path\To\Some\File.nupkg
87
Felix Alcala
  1. ソリューションの隣にあるLocalPackagesというフォルダーにファイルを追加します(これを呼び出す必要はありませんが、それに応じて次の手順でxmlを調整します)。
  2. 次の内容を含むソリューションファイルの隣にNuGet.configというファイルを作成します。

    <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <add key="LocalPackages" value="./LocalPackages" />
        </packageSources>
        <activePackageSource>
          <!-- this tells that all of them are active -->
          <add key="All" value="(Aggregate source)" />
        </activePackageSource>
     </configuration>
    
  3. ソリューションがVisual Studioで開いている場合は、閉じてからもう一度開きます。

パッケージはブラウザに表示されるか、Install-Packageを使用してインストール可能になります。

40
Samuel Jack

.nu​​pkgファイルがあり、.dllファイルだけが必要な場合は、拡張子を.Zipに変更してlibディレクトリを見つけるだけです。

36
Marlon Cristian

Visual Studio 2017とその新しい.csprojフォーマット

ローカルファイルを指すためにInstall-Packageを使用することはもはやできません。 (PackageReference要素はファイルパスをサポートしていないためです。パッケージのIDを指定することしかできません。)

最初にVisual Studioにパッケージの場所を知らせる必要があり、それからそれをプロジェクトに追加することができます。ほとんどの人がNuGetパッケージマネージャに入り、ローカルフォルダをソースとして追加します(メニュー ツール オプション NuGetパッケージマネージャ パッケージソース )。しかしそれはあなたの依存関係の場所があなたのコードベースの他の部分と(バージョン管理に)コミットされていないことを意味します。

相対パスを使用したローカルNuGetパッケージ

これにより、特定のソリューションにのみ適用されるパッケージソースが追加され、相対パスを使用できます。

nuget.configファイルと同じディレクトリに.slnファイルを作成する必要があります。必要なパッケージソースを使ってファイルを設定します。次にVisual Studio 2017でソリューションを開くと、それらのソースフォルダーからのすべての.nupkgファイルが使用可能になります。 (パッケージマネージャにソースが一覧表示され、プロジェクトのパッケージを管理しているときは[参照]タブにパッケージが表示されます。)

これを始めるためのnuget.configの例を示します。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="MyLocalSharedSource" value="..\..\..\some\folder" />
    </packageSources>
</configuration>

裏話

この機能の私のユースケースは私が私のマシン上に単一のコードリポジトリの複数のインスタンスを持っているということです。コードベース内に、.nupkgファイルとして公開/デプロイされた共有ライブラリがあります。このアプローチにより、コードベース全体にわたるさまざまな依存ソリューションが同じリポジトリインスタンス内でパッケージを使用することができます。また、Visual Studio 2017を新規インストールしたユーザーは、必要な場所でコードをチェックアウトするだけで、依存ソリューションが正常に復元および構築されます。

35
Granger

LinuxでNuGet CLIを使用する場合、コマンドは似ています。 my.nupkgをインストールするには、実行します

nuget add -Source some/directory my.nupkg

次に、そのディレクトリからdotnet restoreを実行します

dotnet restore --source some/directory Project.sln

またはそのディレクトリをNuGetソースとして追加します

nuget sources Add -Name MySource -Source some/directory

msbuild/p:RestoreAdditionalSources=MySourceまたは/p:RestoreSources=MySourceでそのディレクトリを使用するように指示します。 2番目のスイッチは、他のすべてのソースを無効にします。これは、たとえばオフラインシナリオに適しています。

1
user7610

更新をするためだけに、Visual Studio 2015ユーザーのための小さな変更があります。

パッケージを手動で使用またはインストールするには、 ツール - > オプション - > NuGetパッケージマネージャ - > パッケージソース にアクセスしてください。

[追加]ボタンをクリックしてソースを選択し、[ 更新 ]をクリックすることを忘れないでください。パッケージのフォルダの場所が更新されます。

enter image description here

追加したパッケージを選択するには、ソリューションを右クリックして「 Nugetパッケージの管理 」を選択します。

ドロップダウンリストが右側にあり、[参照]を選択してフォルダソースで指定したパッケージを参照します。そのフォルダソースにnugetパッケージがない場合、これは空になります。

enter image description here

1
Willy David Jr