1. ホーム
  2. Web プログラミング
  3. 関連情報

VS Nugetの実践的な使い方

2022-01-17 07:50:26

I. はじめに

我々はサードパーティのライブラリを参照する最古の時間は、メソッドは、最初のサードパーティのDLLファイルをダウンロードし、我々のプロジェクトに配置し、これらのDLLを参照する参照を追加することです、このメソッドは、参照のDLLのバージョンなどの不便の様々を持って、一貫性のない、またはDLLのプロジェクトディレクトリなどに提出することを忘れて、よく知られていなければ、VSの古いバージョンの使用はヌジェットがヌジェットがライブラリへの参照の痛みを解決するために作成されていますです。

II. Nugetを知る

Nugetは、VSの拡張プラグインです。VSで開発する場合、Nugetを使用すると、プロジェクト内の参照の追加、削除、更新がより速く、より簡単になります。

Nugetは、VSメニューの「ツール」→「拡張機能と更新」から見ることができます。

III. Nugetの使用方法

1. 一般的な使用方法

ソリューションマネージャーでは、サブプロジェクトの参照を管理するために、"サブプロジェクトを右クリック → Manage Nuget Packages" または "サブプロジェクト下の参照を右クリック → Manage Nuget Packages" を使用します。

開いた "Manage Nuget Packages" ウィンドウで、このサブプロジェクトが参照するライブラリを管理できます。

2. 歴史的バージョンのクラスライブラリのインストール

nugetで検索されるものは、通常、クラスライブラリの最新バージョンですが、それを使用する過程で、我々はクラスライブラリの歴史的なバージョンをダウンロードするために行く必要があるかもしれません、でnuget公式ウェブサイトを開く。

https://www.nuget.org/

インストールしたいライブラリのキーワードを入力します。例えば、EFバージョン6.0.2をインストールしたい場合は、直接EFと検索してください。

最初のものをクリックすると、その詳細が表示されます。

ここでは、ライブラリが他のライブラリに依存しているかどうか、ライブラリの各バージョンの履歴を確認することができます。歴史的バージョンのライブラリをインストールするには、メニューの "Tools → Nuget Package Manager → Package Management Console" から開くことができるパッケージ管理コンソールを使用する必要があります。

私は時々、パッケージ管理コンソールを開いて失敗が発生した、現象は、ウィンドウを開くことですが、内部は空白であり、その後、データのVS Nugetパッケージマネージャは、WindowsオペレーティングシステムのPowerShellに依存して、スタートメニューからPowerShellを開き、次に再オープン、パッケージ管理コンソールでVS問題は解決されました。

次に、EFのバージョン6.0.2をインストールするとして、nugetサイトのEF履歴から6.0.2を探し、中をクリックするとインストールコマンドが表示されます。

インストールしたいサブプロジェクトが正しく選択されていることを確認し、ここにコマンドを貼り付けてEnterで実行します。エラーメッセージが出ない場合は、インストールに成功したことを意味します。

3. よくある質問

Nugetのインストールは、自動的にライブラリ関連のDLLは、ソリューションディレクトリの下のパッケージフォルダへのパスをダウンロードするので、パッケージファイルが比較的大きくなる、実際の開発は、一般的にソースコードとsvnやgitに提出されていないので、Nugetの最初の世代の後にsvnやgitからソースコードを引っ張って自動的にクラスライブラリへのプロジェクトの参照を復元されます。たまに復元に失敗する場合は、ソリューションを右クリック→Enable Nuget Package Restoreで手動で復元して再試行することができます。

Nugetパッケージの復元に失敗したり、オンラインライブラリの検索ができない場合は、Nugetソースが利用可能かどうかを確認し、DNSをBaidu Open DNS: 180.76.76.76, または 114.114.114 に設定してみてください。コンピュータがHttpプロキシ、ブラウザの壁(科学)プラグイン、VPNなどを使用していないか確認します。プロキシの場合はオフ/無効にして再度試してみてください。

Nugetの復元を実際に使用すると、いくつかのソリューションパッケージの復元失敗、つまり、正常に復元した後、"ソリューションマネージャ"のサブプロジェクトを展開する黄色の感嘆符は、この時点で、パッケージ管理ですることができます発生しましたこのケースでは、次のコマンドで、パッケージ管理コンソールで変更したサブプロジェクト用のパッケージは再インストールすることができます。

Update-Package -reinstall -ProjectName Project name

例えば、Modelプロジェクトのパッケージを再インストールする場合。

Update-Package -reinstall -ProjectName BookShop.Model

コマンドを実行します。Update-Package -reinstall はソリューションの全パッケージを再インストールしますが、一度ピットインしており、ソリューションの全パッケージの再インストールは非常に時間がかかり、実行する必要がないためここでは推奨しません。

実際には、似たようなフレームワークを持つ2つのプロジェクトをビルドしたい場合、一方が既にビルドされていると仮定すると、もう一方のプロジェクトはnuget managerインターフェースを使用してすべての参照を再度検索して追加する必要はなく、対応するサブプロジェクトの下にpackages.configファイルをコピーしてnuget restoreコマンドを実行するだけでよいのです。

mysql関連のMySql.DataやMySql.Data.Entityなど、一部のライブラリのnugetパッケージはインストール後に自動的にプロジェクトの参照ディレクトリに対応するDLLの参照を追加しないので、手動で参照を追加します(ソリューションを右クリック→参照を追加→Set→Extensions)。

4. オフラインでnugetパッケージをインストールする

環境によっては、オフラインでnugetパッケージをインストールする必要があるかもしれません(例:インターネットに直接接続できない開発用コンピューター)。

まず、nuget ウェブサイトに行き、インストールする必要がある nuget パッケージをダウンロードする必要があります (すなわち、接尾辞が .nupkg のものです。オフライン・インストール・モードの依存関係は、手動でダウンロードしてインストールする必要があることに注意してください)。

次に、nugetオフラインソースを追加し、メニュー "Tools → Nuget Package Manager → Package Manager Settings" からnugetパッケージマネージャの設定を開いてください。

右上のAddボタンをクリックして、カスタムソース名とアドレスパスを記入し、任意のフォルダを設定し、ダウンロードした.nupkgパッケージファイルをそのフォルダに入れることができます。

次に、nuget パッケージマネージャで作成したオフラインソースを選択すると、先ほど入れたオフラインパッケージが表示されます。

次に、インストールを行います。オフラインでのインストールは依存関係の問題を示すことがあり、インストールが成功する前に依存関係を手動でインストールする必要があることに注意してください

VS Nugetの使い方については、過去の記事を検索していただくか、引き続き以下の記事をご覧ください。