NuGet を使用したパッケージ管理
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>NuGet]]
* 目次 [#t4e98973]
#contents
*NuGet の操作 [#hc9419a9]
**GUI での操作 [#i71d56cf]
Visual Studio の「NuGet パッケージの管理」画面で操作する。~
[ツール]-[NuGet パッケージ マネージャー]-[ソリューション...
-CUI に比べると、できることが少ない~
インストールできるパッケージは、最新版のみで、バージョン...
-更新ができない~
一旦アンインストールしたあと、再度最新版をインストールする
**CUI での操作 [#lc0bc4fa]
Visual Studio の「パッケージ マネージャー コンソール」で...
[ツール]-[NuGet パッケージ マネージャー]-[パッケージ マネ...
***参考 [#x80329fb]
-NuGet で使用できる全コマンド~
https://docs.nuget.org/consume/package-manager-console-po...
***主なコマンド [#se78892d]
-一覧
--''Get-Package''~
インストール済みのパッケージ一覧を表示する。
--''Get-Package {パッケージ名の一部}''~
インストール済みのパッケージの中で、指定した名前をパッケ...
-インストール
--''Install-Package {パッケージ名}''
---指定したパッケージの、最新バージョンをインストールする。
---指定したパッケージが、別のパッケージに依存している場合...
--''Install-Package {パッケージ名} -Version {バージョン番...
---指定したパッケージの、指定したバージョンをインストール...
---指定したパッケージが、別のパッケージに依存している場合...
--''Install-Package {パッケージ名} -ProjectName {プロジェ...
指定したパッケージを、指定したプロジェクトにインストール...
-アップデート
--''Update-Package''~
現在インストールされているパッケージを、すべて最新版に更...
--''Update-Package {パッケージ名}''~
指定したパッケージを、最新バージョンに更新する。
--''Update-Package {パッケージ名} -Version {バージョン番...
指定したパッケージを、指定したバージョンに更新する。
-アンインストール
--''Uninstall-Package {パッケージ名}''~
指定したパッケージをアンインストールする。
--''Uninstall-Package {パッケージ名} -RemoveDependencies''~
指定したパッケージが別のパッケージに依存している場合、~
指定したパッケージを削除することによって、依存している別...
その依存している別のパッケージもアンインストールする。
--''Uninstall-Package {パッケージ名} -Force''~
指定したパッケージが、別のパッケージから依存されていても...
***パッケージの更新 [#h4de889b]
パッケージの更新 (Update-Package) を行うと、以下の操作が...
(簡単のため、依存関係は省略している)
+プロジェクトから、当該パッケージを削除する
++アセンブリ (*.dll) の場合、参照設定を解除する
++JavaScript や CSS の場合、ファイルそのものを削除する
+packages.config から、当該パッケージの項目を削除する
+packages フォルダから、古いバージョンのパッケージを削除...
+更新後のバージョンのパッケージを、packages フォルダにダ...
+packages.config に、更新後のパッケージの項目を追加する
+プロジェクトに、更新後のパッケージを追加する
++アセンブリ (*.dll) の場合、参照設定を追加する~
(参照先は、packages フォルダの中)
++JavaScript や CSS の場合、プロジェクトにファイルをコピ...
このため、NuGet パッケージについては、この
-プロジェクトの参照設定 または プロジェクトに含まれる Jav...
-packages.config
-packages フォルダ
の整合性を保つため、コマンドを使用して NuGet 経由で管理す...
(これらを手で編集することはオススメしない)
*アセンブリ参照先の種類 [#z4db50b1]
**GAC (Global Assembly Cache) [#v5e8c35e]
GAC に登録されるような従来の[[Microsoft Windows Installer...
**NuGet [#e68ca89b]
GAC に登録されていないパッケージ (OSS ライブラリなど) は...
しかし、そのパッケージが NuGet に登録されていれば、NuGet ...
**それ以外 [#j11c0ae4]
GAC にも NuGet にも登録されていないパッケージを使用する場...
**注意事項 [#kcf239d3]
***ローカルコピー [#s66ec541]
NuGet でインストールしたパッケージ (*.dll) は、GAC には含...
このため、NuGet でインストールしたパッケージをアプリケー...
*もし、こんなことをしてしまった場合はどうなる? [#gb2cd424]
**手動で、NuGet でインストールしたパッケージの参照設定を...
***ビルド [#r26b308b]
-参照設定を解除したパッケージを使用していない場合は、通る...
-(ただし、参照設定、packages.config、packages フォルダの...
***Install-Package [#ic394b19]
-既にインストールされています。というメッセージが表示され...
-(ただし、参照設定、packages.config、packages フォルダの...
***Update-Package [#ucff5796]
-当該パッケージに更新がなかった場合
--更新はありません。というメッセージが表示され、変わりな...
--(参照設定、packages.config、packages フォルダの整合性は...
-当該パッケージに更新があった場合
--問題なく更新が行われる。
--''参照設定、packages.config、packages フォルダの整合性...
***Uninstall-Package [#o8309b65]
-packages.config からは削除されるが、packages フォルダか...
-Visual Studio を再起動し、プロジェクトを再度開くと、その...
-''参照設定、packages.config、packages フォルダの整合性も...
**packages フォルダから、手動でフォルダを消した [#tfed94fd]
消したパッケージが自動的に復元され、ビルドは正常終了する。
パッケージの復元は、Visual Studio や、MSBuild でビルドし...
足りないパッケージを自動的に NuGet サイトからダウンロード...
***パッケージの復元を行うための設定 [#d9bd7f1a]
-Visual Studio の [ツール]-[オプション] でオプション画面...
-ツリーの中から、[NuGet パッケージ マネージャー]-[全般] ...
-「足りないパッケージをダウンロードすることを NuGet に許...
さらに、MSBuild などのコマンドラインツールでのビルド時に...
-Visual Studio の [ソリューション エクスプローラー] を右...
これにより、ソリューションフォルダ直下に''「.nuget」''フ...
コマンドラインツールでのビルド時でも、足りないパッケージ...
ダウンロードしてくれる(MSBuild だけでなく、devenv による...
※ [[この動作は、Visual Studio 2015 (NuGet 2.7) で変更され...
***packages フォルダそのものを削除した [#j77fe639]
上記と同様、パッケージが復元され、ビルドは正常終了する。
**packages.config を手動で編集した [#c45e67a1]
***<package> タグを消した [#k9bfa872]
-Install-Package~
成功 (ふたたび packages.config に <package> が生成される)
-Update-Package~
失敗 (パッケージがインストールされていないとのメッセージ...
-Uninstall-Package~
警告 (packages フォルダから削除する際に、正常に削除できな...
Visual Studio を再起動し、プロジェクトを再度開くと、その...
***バージョン番号を編集した [#la20a21a]
-存在するバージョン番号の場合~
ビルドは成功し、編集したバージョン番号のパッケージが pack...
このとき、編集前のバージョンのパッケージは packages フォ...
このため、以下の不整合が起きる。
--packages フォルダに、バージョンの異なる 2 つのパッケー...
--参照設定も解除されないので、プロジェクトは編集前のバー...
--このため、packages.config に書かれたバージョン番号と、...
-存在しないバージョン番号の場合
「NuGet パッケージの復元がプロジェクト {プロジェクト名} ...
--ビルド自体は成功する(編集前のバージョン番号のパッケージ...
--この場合も、以下の不整合が起きる。
---packages フォルダには、編集前のバージョン番号のパッケ...
---参照設定も解除されないので、プロジェクトは編集前のバー...
---このため、packages.config に書かれたバージョン番号と、...
**[[NuGetパッケージのDL先を変更した>#w8b2cd27]] [#efc7fefa]
同様に参照設定との整合性が崩れる。
-プロジェクトファイル(*.csproj、*.vbproj)内の<HintPath>...
-若しくは、Uninstall-Package -> Install-Packageを行う。
*その他のトピック [#t3cd7fc2]
**packageバージョンの変更時の注意事項 [#vcebe7be]
***注意事項 [#g59195ae]
NuGetは、Install-Packageを行った際に、バージョン間の問題...
"assemblyBinding -> dependentAssembly -> bindingRedirect"...
このため、
-Update-Package
-Uninstall-Package -> Install-Package
によってpackageのバージョンを変更した場合、問題を起こすこ...
この場合、一度、assemblyBinding sectionを削除した後に、~
Add-BindingRedirectを実行して、bindingRedirectを再生成す...
***参考 [#j5ffd193]
-Updating Assembly Redirects with NuGet - Rick Strahl's W...
https://weblog.west-wind.com/posts/2014/Nov/29/Updating-A...
-NuGet versioning
--Part 1: taking on DLL Hell - David Ebbo~
http://blog.davidebbo.com/2011/01/nuget-versioning-part-1...
--Part 2: the core algorithm - David Ebbo~
http://blog.davidebbo.com/2011/01/nuget-versioning-part-2...
--Part 3: unification via binding redirects - David Ebbo~
http://blog.davidebbo.com/2011/01/nuget-versioning-part-3...
-初心者が迷ったNuGet Packageのバージョンを下げたら~
app.configを掃除しなければイケナイという話 - tmori3y2のブ...
http://tmori3y2.hatenablog.com/entry/2016/02/07/235133
--.nuspec は間違いの無いように書こう、もしくは MSBuild の...
http://kendik.hatenablog.com/entry/2015/01/27/221240
**NuGetパッケージのDL先の変更方法 [#w8b2cd27]
***変更方法 [#c4e24322]
-nuget.configを用意し、親ディレクトリに配置、~
ここに、repositoryPathを指定することでNuGetパッケージのDL...
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value=".\sharedpackages" />
</config>
</configuration>
-なお、検証の結果、[[ソリューション分割>VSソリューション ...
NuGetパッケージのDL先(packages)が分割される模様。~
(既定では*.slnファイルと同じ階層にpackagesフォルダができ...
-従って、このケースでpackagesを共有したい場合、
--2つのソリューションのルート・ディレクトリにnuget.confi...
--2つのソリューションの其々の上位ディレクトリにnuget.con...
>で、対応ができる。
-以下は、2つの*.slnファイル(ClassLibrary.sln、ConsoleAp...
フォルダ/ファイル名 ...
--------------------------------------------------------...
Root1 ...
├ ClassLibrary ...
| ├ ClassLibrary1 ...
| | ├ Properties ...
| | | └ AssemblyInfo.cs ...
| | ├ Class1.cs ...
| | ├ ClassLibrary1.csproj ...
| | └ packages.config ...
| ├ ClassLibrary2 ...
| | ├ Properties ...
| | | └ AssemblyInfo.cs ...
| | ├ Class1.cs ...
| | ├ ClassLibrary2.csproj ...
| | └ packages.config ...
| └ ClassLibrary.sln ...
├ ConsoleApp1 ...
| ├ ConsoleApp1 ...
| | ├ Properties ...
| | | └ AssemblyInfo.cs ...
| | ├ App.config ...
| | ├ ConsoleApp1.csproj ...
| | ├ packages.config ...
| | └ Program.cs ...
| └ ConsoleApp1.sln ...
├ sharedpackages ...
| └ Newtonsoft.Json.10.0.3 ...
| ├ lib ...
| ├ tools ...
| ├ LICENSE.md ...
| └ Newtonsoft.Json.10.0.3.nupkg ...
└ nuget.config ...
***参考 [#pccf7a8d]
-.net - NuGetのパッケージの場所を変更することは可能ですか...
https://code.i-harness.com/ja/q/3e7357
-複数のソリューション間で NuGet のリポジトリを共有する - ...
http://blog.shibayan.jp/entry/20150417/1429269753
-Configuring the behavior of NuGet~
https://docs.microsoft.com/ja-jp/nuget/consume-packages/c...
**[[NuGetでインストールすると依存関係が増えすぎる問題]] [...
*マイグレーション [#efb3ee82]
**Visual Studio 2015 [#gc55f443]
NuGet自体のバージョンを(NuGet 2.7以降に)上げると、リス...
この場合、以下のように、リストア方法をマイグレーションす...
-Issue #220 · OpenTouryoProject/OpenTouryo~
This project references NuGet package(s) that are missing...
https://github.com/OpenTouryoProject/OpenTouryo/issues/220
***参考 [#yf912230]
-c# - How do I Enable NuGet Package Restore in Visual Stu...
http://stackoverflow.com/questions/27895504/how-do-i-enab...
-NuGet 2.7へアップグレードした場合のプロジェクトファイル...
http://kkamegawa.hatenablog.jp/entry/20130825/p1
-NuGet Package Restore | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/consume-packages/p...
**Visual Studio 2017 [#kd22a95f]
***Package Reference [#s3c3fcd3]
Visual Studio 2017からは、packages.configではなく、~
Projectファイルに統合されたPackage Reference を使用できる。
- 新しい csproj 形式 | ++C++; // 未確認飛行 C ブログ~
http://ufcpp.net/blog/2017/5/newcsproj/
- Visual Studio 2017 での NuGet アップデートが良い感じだ...
http://blog.shibayan.jp/entry/20170201/1485878757
ただし、[[一部問題>PackageReferenceに切り替え後のビルドで...
***.NET Coreの場合 [#hfdecb5a]
-.NET Coreで、ビルド出力にNuGetリファレンスがコピーされな...
--以下をcsprojファイルに追加するとNuGetリファレンスをビル...
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAs...
</PropertyGroup>
--参考
---c# - How to get .NET Core projects to copy NuGet refer...
https://stackoverflow.com/questions/43837638/how-to-get-n...
-NuGet Warning NU1701
--netからnetcoreappのパッケージを参照した場合などに発生す...
--netとnetstandardのアセンブリを同梱したNuGetパッケージで...
[[dependencies - group - targetFramework>NuGetパッケージ...
--参考
---Several warnings building on .Net Core · Issue #559 · ...
https://github.com/Azure/Azure-Functions/issues/559
*参考サイト [#ba9f6a73]
-.NET 用パッケージマネージャー NuGet のインストールと使い...
http://yohshiy.blog.fc2.com/blog-entry-236.html
-.NET開発の新標準「NuGet」入門 - @IT
--(前編)~
http://www.atmarkit.co.jp/fdotnet/chushin/nuget_01/nuget_...
--(後編)~
http://www.atmarkit.co.jp/fdotnet/chushin/nuget_02/nuget_...
**nuget.org [#cef3dce7]
-NuGet Gallery | Home~
https://www.nuget.org/
>現在登録されている NuGet パッケージを検索可能
-NuGet Docs~
http://docs.nuget.org/
>NuGet の機能や使い方などのドキュメントを閲覧可能 (英語)
**Microsoft Docs [#b9d4f08e]
***ツール [#n583c165]
-NuGet パッケージ マネージャー UI リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/package-mana...
-NuGet パッケージ マネージャー コンソールのガイド~
https://docs.microsoft.com/ja-jp/nuget/tools/package-mana...
-NuGet コマンド ライン インターフェイス (CLI) のリファレ...
https://docs.microsoft.com/ja-jp/nuget/tools/nuget-exe-cl...
***PowerShell [#zf381949]
-NuGet の Install-packageの PowerShell リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/ps-ref-insta...
-NuGet の Update-packageの PowerShell リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/ps-ref-updat...
-NuGet の Uninstall-package PowerShell リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/ps-ref-unins...
----
Tags: [[:.NET開発]], [[:デプロイ]], [[:NuGet]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>NuGet]]
* 目次 [#t4e98973]
#contents
*NuGet の操作 [#hc9419a9]
**GUI での操作 [#i71d56cf]
Visual Studio の「NuGet パッケージの管理」画面で操作する。~
[ツール]-[NuGet パッケージ マネージャー]-[ソリューション...
-CUI に比べると、できることが少ない~
インストールできるパッケージは、最新版のみで、バージョン...
-更新ができない~
一旦アンインストールしたあと、再度最新版をインストールする
**CUI での操作 [#lc0bc4fa]
Visual Studio の「パッケージ マネージャー コンソール」で...
[ツール]-[NuGet パッケージ マネージャー]-[パッケージ マネ...
***参考 [#x80329fb]
-NuGet で使用できる全コマンド~
https://docs.nuget.org/consume/package-manager-console-po...
***主なコマンド [#se78892d]
-一覧
--''Get-Package''~
インストール済みのパッケージ一覧を表示する。
--''Get-Package {パッケージ名の一部}''~
インストール済みのパッケージの中で、指定した名前をパッケ...
-インストール
--''Install-Package {パッケージ名}''
---指定したパッケージの、最新バージョンをインストールする。
---指定したパッケージが、別のパッケージに依存している場合...
--''Install-Package {パッケージ名} -Version {バージョン番...
---指定したパッケージの、指定したバージョンをインストール...
---指定したパッケージが、別のパッケージに依存している場合...
--''Install-Package {パッケージ名} -ProjectName {プロジェ...
指定したパッケージを、指定したプロジェクトにインストール...
-アップデート
--''Update-Package''~
現在インストールされているパッケージを、すべて最新版に更...
--''Update-Package {パッケージ名}''~
指定したパッケージを、最新バージョンに更新する。
--''Update-Package {パッケージ名} -Version {バージョン番...
指定したパッケージを、指定したバージョンに更新する。
-アンインストール
--''Uninstall-Package {パッケージ名}''~
指定したパッケージをアンインストールする。
--''Uninstall-Package {パッケージ名} -RemoveDependencies''~
指定したパッケージが別のパッケージに依存している場合、~
指定したパッケージを削除することによって、依存している別...
その依存している別のパッケージもアンインストールする。
--''Uninstall-Package {パッケージ名} -Force''~
指定したパッケージが、別のパッケージから依存されていても...
***パッケージの更新 [#h4de889b]
パッケージの更新 (Update-Package) を行うと、以下の操作が...
(簡単のため、依存関係は省略している)
+プロジェクトから、当該パッケージを削除する
++アセンブリ (*.dll) の場合、参照設定を解除する
++JavaScript や CSS の場合、ファイルそのものを削除する
+packages.config から、当該パッケージの項目を削除する
+packages フォルダから、古いバージョンのパッケージを削除...
+更新後のバージョンのパッケージを、packages フォルダにダ...
+packages.config に、更新後のパッケージの項目を追加する
+プロジェクトに、更新後のパッケージを追加する
++アセンブリ (*.dll) の場合、参照設定を追加する~
(参照先は、packages フォルダの中)
++JavaScript や CSS の場合、プロジェクトにファイルをコピ...
このため、NuGet パッケージについては、この
-プロジェクトの参照設定 または プロジェクトに含まれる Jav...
-packages.config
-packages フォルダ
の整合性を保つため、コマンドを使用して NuGet 経由で管理す...
(これらを手で編集することはオススメしない)
*アセンブリ参照先の種類 [#z4db50b1]
**GAC (Global Assembly Cache) [#v5e8c35e]
GAC に登録されるような従来の[[Microsoft Windows Installer...
**NuGet [#e68ca89b]
GAC に登録されていないパッケージ (OSS ライブラリなど) は...
しかし、そのパッケージが NuGet に登録されていれば、NuGet ...
**それ以外 [#j11c0ae4]
GAC にも NuGet にも登録されていないパッケージを使用する場...
**注意事項 [#kcf239d3]
***ローカルコピー [#s66ec541]
NuGet でインストールしたパッケージ (*.dll) は、GAC には含...
このため、NuGet でインストールしたパッケージをアプリケー...
*もし、こんなことをしてしまった場合はどうなる? [#gb2cd424]
**手動で、NuGet でインストールしたパッケージの参照設定を...
***ビルド [#r26b308b]
-参照設定を解除したパッケージを使用していない場合は、通る...
-(ただし、参照設定、packages.config、packages フォルダの...
***Install-Package [#ic394b19]
-既にインストールされています。というメッセージが表示され...
-(ただし、参照設定、packages.config、packages フォルダの...
***Update-Package [#ucff5796]
-当該パッケージに更新がなかった場合
--更新はありません。というメッセージが表示され、変わりな...
--(参照設定、packages.config、packages フォルダの整合性は...
-当該パッケージに更新があった場合
--問題なく更新が行われる。
--''参照設定、packages.config、packages フォルダの整合性...
***Uninstall-Package [#o8309b65]
-packages.config からは削除されるが、packages フォルダか...
-Visual Studio を再起動し、プロジェクトを再度開くと、その...
-''参照設定、packages.config、packages フォルダの整合性も...
**packages フォルダから、手動でフォルダを消した [#tfed94fd]
消したパッケージが自動的に復元され、ビルドは正常終了する。
パッケージの復元は、Visual Studio や、MSBuild でビルドし...
足りないパッケージを自動的に NuGet サイトからダウンロード...
***パッケージの復元を行うための設定 [#d9bd7f1a]
-Visual Studio の [ツール]-[オプション] でオプション画面...
-ツリーの中から、[NuGet パッケージ マネージャー]-[全般] ...
-「足りないパッケージをダウンロードすることを NuGet に許...
さらに、MSBuild などのコマンドラインツールでのビルド時に...
-Visual Studio の [ソリューション エクスプローラー] を右...
これにより、ソリューションフォルダ直下に''「.nuget」''フ...
コマンドラインツールでのビルド時でも、足りないパッケージ...
ダウンロードしてくれる(MSBuild だけでなく、devenv による...
※ [[この動作は、Visual Studio 2015 (NuGet 2.7) で変更され...
***packages フォルダそのものを削除した [#j77fe639]
上記と同様、パッケージが復元され、ビルドは正常終了する。
**packages.config を手動で編集した [#c45e67a1]
***<package> タグを消した [#k9bfa872]
-Install-Package~
成功 (ふたたび packages.config に <package> が生成される)
-Update-Package~
失敗 (パッケージがインストールされていないとのメッセージ...
-Uninstall-Package~
警告 (packages フォルダから削除する際に、正常に削除できな...
Visual Studio を再起動し、プロジェクトを再度開くと、その...
***バージョン番号を編集した [#la20a21a]
-存在するバージョン番号の場合~
ビルドは成功し、編集したバージョン番号のパッケージが pack...
このとき、編集前のバージョンのパッケージは packages フォ...
このため、以下の不整合が起きる。
--packages フォルダに、バージョンの異なる 2 つのパッケー...
--参照設定も解除されないので、プロジェクトは編集前のバー...
--このため、packages.config に書かれたバージョン番号と、...
-存在しないバージョン番号の場合
「NuGet パッケージの復元がプロジェクト {プロジェクト名} ...
--ビルド自体は成功する(編集前のバージョン番号のパッケージ...
--この場合も、以下の不整合が起きる。
---packages フォルダには、編集前のバージョン番号のパッケ...
---参照設定も解除されないので、プロジェクトは編集前のバー...
---このため、packages.config に書かれたバージョン番号と、...
**[[NuGetパッケージのDL先を変更した>#w8b2cd27]] [#efc7fefa]
同様に参照設定との整合性が崩れる。
-プロジェクトファイル(*.csproj、*.vbproj)内の<HintPath>...
-若しくは、Uninstall-Package -> Install-Packageを行う。
*その他のトピック [#t3cd7fc2]
**packageバージョンの変更時の注意事項 [#vcebe7be]
***注意事項 [#g59195ae]
NuGetは、Install-Packageを行った際に、バージョン間の問題...
"assemblyBinding -> dependentAssembly -> bindingRedirect"...
このため、
-Update-Package
-Uninstall-Package -> Install-Package
によってpackageのバージョンを変更した場合、問題を起こすこ...
この場合、一度、assemblyBinding sectionを削除した後に、~
Add-BindingRedirectを実行して、bindingRedirectを再生成す...
***参考 [#j5ffd193]
-Updating Assembly Redirects with NuGet - Rick Strahl's W...
https://weblog.west-wind.com/posts/2014/Nov/29/Updating-A...
-NuGet versioning
--Part 1: taking on DLL Hell - David Ebbo~
http://blog.davidebbo.com/2011/01/nuget-versioning-part-1...
--Part 2: the core algorithm - David Ebbo~
http://blog.davidebbo.com/2011/01/nuget-versioning-part-2...
--Part 3: unification via binding redirects - David Ebbo~
http://blog.davidebbo.com/2011/01/nuget-versioning-part-3...
-初心者が迷ったNuGet Packageのバージョンを下げたら~
app.configを掃除しなければイケナイという話 - tmori3y2のブ...
http://tmori3y2.hatenablog.com/entry/2016/02/07/235133
--.nuspec は間違いの無いように書こう、もしくは MSBuild の...
http://kendik.hatenablog.com/entry/2015/01/27/221240
**NuGetパッケージのDL先の変更方法 [#w8b2cd27]
***変更方法 [#c4e24322]
-nuget.configを用意し、親ディレクトリに配置、~
ここに、repositoryPathを指定することでNuGetパッケージのDL...
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value=".\sharedpackages" />
</config>
</configuration>
-なお、検証の結果、[[ソリューション分割>VSソリューション ...
NuGetパッケージのDL先(packages)が分割される模様。~
(既定では*.slnファイルと同じ階層にpackagesフォルダができ...
-従って、このケースでpackagesを共有したい場合、
--2つのソリューションのルート・ディレクトリにnuget.confi...
--2つのソリューションの其々の上位ディレクトリにnuget.con...
>で、対応ができる。
-以下は、2つの*.slnファイル(ClassLibrary.sln、ConsoleAp...
フォルダ/ファイル名 ...
--------------------------------------------------------...
Root1 ...
├ ClassLibrary ...
| ├ ClassLibrary1 ...
| | ├ Properties ...
| | | └ AssemblyInfo.cs ...
| | ├ Class1.cs ...
| | ├ ClassLibrary1.csproj ...
| | └ packages.config ...
| ├ ClassLibrary2 ...
| | ├ Properties ...
| | | └ AssemblyInfo.cs ...
| | ├ Class1.cs ...
| | ├ ClassLibrary2.csproj ...
| | └ packages.config ...
| └ ClassLibrary.sln ...
├ ConsoleApp1 ...
| ├ ConsoleApp1 ...
| | ├ Properties ...
| | | └ AssemblyInfo.cs ...
| | ├ App.config ...
| | ├ ConsoleApp1.csproj ...
| | ├ packages.config ...
| | └ Program.cs ...
| └ ConsoleApp1.sln ...
├ sharedpackages ...
| └ Newtonsoft.Json.10.0.3 ...
| ├ lib ...
| ├ tools ...
| ├ LICENSE.md ...
| └ Newtonsoft.Json.10.0.3.nupkg ...
└ nuget.config ...
***参考 [#pccf7a8d]
-.net - NuGetのパッケージの場所を変更することは可能ですか...
https://code.i-harness.com/ja/q/3e7357
-複数のソリューション間で NuGet のリポジトリを共有する - ...
http://blog.shibayan.jp/entry/20150417/1429269753
-Configuring the behavior of NuGet~
https://docs.microsoft.com/ja-jp/nuget/consume-packages/c...
**[[NuGetでインストールすると依存関係が増えすぎる問題]] [...
*マイグレーション [#efb3ee82]
**Visual Studio 2015 [#gc55f443]
NuGet自体のバージョンを(NuGet 2.7以降に)上げると、リス...
この場合、以下のように、リストア方法をマイグレーションす...
-Issue #220 · OpenTouryoProject/OpenTouryo~
This project references NuGet package(s) that are missing...
https://github.com/OpenTouryoProject/OpenTouryo/issues/220
***参考 [#yf912230]
-c# - How do I Enable NuGet Package Restore in Visual Stu...
http://stackoverflow.com/questions/27895504/how-do-i-enab...
-NuGet 2.7へアップグレードした場合のプロジェクトファイル...
http://kkamegawa.hatenablog.jp/entry/20130825/p1
-NuGet Package Restore | Microsoft Docs~
https://docs.microsoft.com/ja-jp/nuget/consume-packages/p...
**Visual Studio 2017 [#kd22a95f]
***Package Reference [#s3c3fcd3]
Visual Studio 2017からは、packages.configではなく、~
Projectファイルに統合されたPackage Reference を使用できる。
- 新しい csproj 形式 | ++C++; // 未確認飛行 C ブログ~
http://ufcpp.net/blog/2017/5/newcsproj/
- Visual Studio 2017 での NuGet アップデートが良い感じだ...
http://blog.shibayan.jp/entry/20170201/1485878757
ただし、[[一部問題>PackageReferenceに切り替え後のビルドで...
***.NET Coreの場合 [#hfdecb5a]
-.NET Coreで、ビルド出力にNuGetリファレンスがコピーされな...
--以下をcsprojファイルに追加するとNuGetリファレンスをビル...
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAs...
</PropertyGroup>
--参考
---c# - How to get .NET Core projects to copy NuGet refer...
https://stackoverflow.com/questions/43837638/how-to-get-n...
-NuGet Warning NU1701
--netからnetcoreappのパッケージを参照した場合などに発生す...
--netとnetstandardのアセンブリを同梱したNuGetパッケージで...
[[dependencies - group - targetFramework>NuGetパッケージ...
--参考
---Several warnings building on .Net Core · Issue #559 · ...
https://github.com/Azure/Azure-Functions/issues/559
*参考サイト [#ba9f6a73]
-.NET 用パッケージマネージャー NuGet のインストールと使い...
http://yohshiy.blog.fc2.com/blog-entry-236.html
-.NET開発の新標準「NuGet」入門 - @IT
--(前編)~
http://www.atmarkit.co.jp/fdotnet/chushin/nuget_01/nuget_...
--(後編)~
http://www.atmarkit.co.jp/fdotnet/chushin/nuget_02/nuget_...
**nuget.org [#cef3dce7]
-NuGet Gallery | Home~
https://www.nuget.org/
>現在登録されている NuGet パッケージを検索可能
-NuGet Docs~
http://docs.nuget.org/
>NuGet の機能や使い方などのドキュメントを閲覧可能 (英語)
**Microsoft Docs [#b9d4f08e]
***ツール [#n583c165]
-NuGet パッケージ マネージャー UI リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/package-mana...
-NuGet パッケージ マネージャー コンソールのガイド~
https://docs.microsoft.com/ja-jp/nuget/tools/package-mana...
-NuGet コマンド ライン インターフェイス (CLI) のリファレ...
https://docs.microsoft.com/ja-jp/nuget/tools/nuget-exe-cl...
***PowerShell [#zf381949]
-NuGet の Install-packageの PowerShell リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/ps-ref-insta...
-NuGet の Update-packageの PowerShell リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/ps-ref-updat...
-NuGet の Uninstall-package PowerShell リファレンス~
https://docs.microsoft.com/ja-jp/nuget/tools/ps-ref-unins...
----
Tags: [[:.NET開発]], [[:デプロイ]], [[:NuGet]]
ページ名: