OK。本当に簡単な質問ですが、私はたぶん太っています。
プロジェクトの「references」フォルダーを右クリックして「Manage NuGet Packages」を選択すると、パッケージをインストールでき、クリックしたプロジェクトによって自動的に参照されます。しかし、同じソリューション内の他のプロジェクトに同じ参照を追加したいと思います。前の手順を繰り返して別のプロジェクトをクリックすると、パッケージがアンインストールされます(既にインストールされているため)。既存の(インストール済みの)NuGetパッケージをプロジェクト参照として追加する適切な方法は何ですか?通常のダイアログを使用して参照を追加し、パッケージフォルダのdllに「参照」しますか?ある方法を使用して最初の参照を追加し、その後別の方法で別の参照を追加しますか?それは正しくないようです。
Manage NuGet packages for Solution...
は次の方法で使用できます。
Tools > Library Package Manager > Manage NuGet packages for Solution
次に、以下のスクリーンショットのように、パッケージをインストールするプロジェクトを選択できます。 さらに、同じManage NuGet packages for Solution...
を使用して、インストールされたパッケージをソリューション内の別のプロジェクトに追加できます。
ここでの他の答えは私を助けませんでした。これが私がやったことです、私はそれを行う他の方法を知りません。 VS 2013を使用しています。
PM> Install-Package Newtonsoft.Json
これにより、プロジェクトへの参照の相対パスが追加されるため、ソース管理から別のディレクトリにコードを取得する他のユーザーと連携する必要があります。
同じ問題がありました。 kristianpによって投稿されたソリューションは期待どおりに機能しましたが、多くのパッケージを扱う場合は少し面倒な場合があります。私のために働いた解決策は、メモ帳でmyProjectName.csprojファイルを編集し、次のように別のプロジェクトから参照をコピーして貼り付けるだけでした:
...
<ItemGroup>
<Reference Include="Microsoft.AspNet.SignalR.Core">
<HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.1.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SignalR.SystemWeb">
<HintPath>..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.1.2\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath>
</Reference>
...
これが誰かを助けることを願っています。それは私に多くのクリックを保存しました:)
最近ではPackage Manager Console(View-> Other Windows-> Package Manager Console)を使用しています。
必要なのは、次の2つのコマンドだけです。
install-package <package-name> [-version <version-number>] [-project <project-name]
そして
update-package <package-name> [-reinstall] [-version <version-number>] [-project <project-name>]
どこ
最初は、これらのコマンドの動作は少しおかしいと思っていましたが、経験上、これらのコマンドはこのように最も有用であることがわかります。個人的には「デフォルトプロジェクト」ドロップダウンを完全に捨てます。