「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[ビルドスクリプト]] --[[プログラムの配付技術]] --[[Windows 10のパッケージ・マネージャ]] * 目次 [#gd26055e] #contents *概要 [#v8acd5e1] -.NET 向けのパッケージ管理システム。 -https://www.nuget.org/ **背景 [#ob06d863] -昨今の技術の複雑化により、GACでは1台のPCに複数の環境を構築・共存させることが難しくなってきた。 -そこで、NuGetでは、パッケージ管理システムにより、 --Webからダウンロードしたパッケージをローカルのpackagesフォルダに格納するようにした。 --これにより、1台のPCに複数の環境を共存させることが、以前と比べて容易になった。 -Visual Studio のバージョン --Visual Studio 2010 以前に NuGet を使用する場合は、個別に Visual Studio に追加インストールする必要があった。 --Visual Studio 2012 以降では、NuGet も Visual Studio に同梱されるようになった。 **サイト [#re2d48cd] -以下の2つのサイトがある。~ --[[nuget.org>https://www.nuget.org/]]~ ---NuGet を使用してインストールできるパッケージ (NuGet パッケージ) が多数公開されている。 ---自作ライブラリのパッケージ (NuGet パッケージ) を作成して、公開することもできる。 --[[symbolsource.org>https://www.symbolsource.org/]] ---[[「シンボル サーバー」と「ソース サーバー」>ビルド環境と開発環境のソースファイルパスを一致させる(PDB)。]]の機能を提供している。 ---これにより、自作のNuGetパッケージのデバッグ・シンボルとソース・ファイルを公開できる。 -サイトの概要 --双方とも、マイクロソフトが直接運営しているサイトではなく、~ 非営利団体のオープンソース コミュニティによって運営されている。 --使用許諾 ---nuget.orgの使用許諾~ NuGet Gallery | Terms and Conditions~ https://www.nuget.org/policies/Terms ---symbolsource.orgの使用許諾~ Terms of Service | SymbolSource.org~ https://www.symbolsource.org/Public/Home/TermsOfService *NuGet を使うメリット [#v447cd4b] **一連のパッケージ管理が簡便になる。 [#x47f83dc] -古いパッケージの参照設定を解除 -古いパッケージを削除 -新しいパッケージに更新 -新しいパッケージを参照設定に追加 **パッケージの依存関係の定義と維持 [#q2b9661c] パッケージの依存関係を定義でき、既定では依存関係が壊れるような~ パッケージの更新・削除はできず、パッケージ間の関連をキレイに保つことができる。 *NuGet で配布・インストールできる、主なパッケージの種類 [#hff121df] **.NET アセンブリ (*.dll) [#g6a64b5f] ASP.NET MVC や、[[Entity Framework]] など **JavaScript や、CSS などのライブラリ [#u1350163] jQuery や、jQuery の各種プラグインなど *NuGet で使用するファイル/フォルダ [#t9244c35] **各プロジェクトに含まれる packages.config [#mc35e2b9] -当該プロジェクトにインストールされている NuGet パッケージが記述される -[[Visual Studio 2017以降は、Projectファイルに統合されたPackageReferenceを使用できる。>NuGet を使用したパッケージ管理#kd22a95f]] **ソリューションフォルダ直下の packages フォルダ [#z8225700] -プロジェクトにインストールした NuGet パッケージ本体が格納される -[[Visual Studio 2017以降は、PackageReferenceを使用すると、packages フォルダは生成されなくなる。>NuGet を使用したパッケージ管理#kd22a95f]] *トラブルシュート [#g0904008] **NuGet使用時 [#wcbf8047] ***[[Nuget使用時に「warning MSB3247 Found conflicts between different versions of the same dependent assembly.」が発生]] [#k30c6325] ***[[Nuget使用時に「warning NU1701 Package 'xxxxx' was restored using 'yyyyy' instead of the project target framework 'zzzzz'...」が発生>NuGet を使用したパッケージ管理#hfdecb5a]] [#t9272c99] ***[[Nuget使用時に「error MSB3086 Task could not find AL.exe」が発生]] [#j8444cc2] ***[[Nuget使用時に「error MSB4036 'GetReferenceNearestTargetFrameworkTask' task was not found.」が発生]] [#j8444cc2] ***[[Nuget使用時に「which has a higher version X than the version Y in the current target framework...」が発生]] [#t9272c99] ***[[PackageReferenceに切り替え後のビルドで「error CS0246 The type or namespace name ...」が発生]] [#ne8bd624] ***[[dotnetコマンドのビルドで「error NU1605 Detected package downgrade」が発生]] [#pe39e6b9] **[[ビルド時>MSBuild#k9e791f6]] [#u9496ebd] *参考 [#u9091665] **[[NuGet を使用したパッケージ管理]] [#wd520c58] **[[NuGetパッケージの開発と公開]] [#w6bc4ec1] **[[NuGetプライベート・リポジトリ]] [#h517e99c] **[[NuGetパッケージのデバッグ]] [#b842cc20] **[[ASP.NET の Modernization]] [#zcf72241] ---- Tags: [[:.NET開発]], [[:デプロイ]], [[:NuGet]]