今回は、Visual Studio 2022でNuGetパッケージの追加で躓いたので、備忘もかねて記事にしていきます。
C#環境のWPFアプリケーションで、フォルダを選択するダイアログを実装しようとした際に、[WindowsAPICodePack-Shell]の[CommonOpenFileDialog]クラスを使用する予定でしたが、そもそもNuGetパッケージマネージャからNuGet.orgのPackage Sourceの追加方法が不明でした。
NuGetとは
NuGet(ニューゲット)とは.NET Frameworkに対応するフリー・アンド・オープンソースのパッケージマネージャである[2]。かつてはNuPackと言う名で知られていたが既にあるソフトウェアパッケージのNUPACK(英語版)との混乱を避けるため変更された[3]。 2010年に登場して以来、NuGetはツールとサービスのより大きなエコシステムへと発展してきた[4]。
NuGetはVisual Studioエクステンションとして配布されている。Visual Studio 2012以降は標準で含まれているほか、SharpDevelopにも統合されている。NuGetはコマンドラインからも利用でき、スクリプトによる自動化も可能である。
wikiより引用
NuGetは、dotNetのパッケージの一種です。
NuGetを使用すると一からコードを記載せずとも、ある程度のパーツが用意されているため、開発が楽になります。
前提条件
本手順で使用する環境は以下の通りです。
- 開発環境 : Visual Studio 2022 Community
- 開発言語 : C#
- プロジェクト : 作成済み
- 追加したいパッケージ : WindowsAPICodePack-Shell
今回は、Visual Studio 2022をインストールして、プロジェクトを作成した段階で追加作業を行いました。
現状の確認
[Visual Studio 2022]のメニューより、[ツール]を押下します。
[ツール]-[NuGetパッケージマネージャー]-[ソリューションのNuGetパッケージの管理]を押下します。
[ソリューションのパッケージの管理]より、[パッケージソース]を確認すると、[Microsoft Visual Studio Offline Packages]のみが表示されています。
そのため、[WindowsAPICodePack-Shell]のパッケージを検索しても見つかりませんでした。
パッケージソースの追加
[パッケージソース]右側にある歯車マークを押下します。
NuGetを使用する際には、ここにNuGetのパッケージソースを追加することで、使用可能になります。
デフォルトの状態だと[Microsoft Visual Studio Offline Packages]しか入っていないため、ドライブ上にあるNuGetのパッケージしか利用できませんでした。
[パッケージソース]の右側にある[+]ボタンを押下します。
[+]ボタンを押下すると、空のパッケージソースが追加されます。
追加したパッケージソースを選択し、以下の設定を行います。
- 名前 : nuget.org (任意の名前)
- ソース : https://api.nuget.org/v3/index.json
設定が完了したら、[更新]を押下します。
パッケージソースの設定を行うと、設定したパッケージソースが反映されるので、設定した値を確認し、[OK]を押下します。
以上で、NuGetのパッケージソースの追加は完了です。
NuGetパッケージの確認
NuGetのパッケージソースの追加が完了したら、実際にパッケージが表示されるか確認していきたいと思います。
[ソリューションのパッケージの管理]より、[パッケージソース]から作成した[nuget.org]を選択します。
パッケージソースで[nuget.org]を選択したら、パッケージ検索画面に、インストールするパッケージを検索します。
今回は、[WindowsAPICodePack-Shell]をインストールしたいので、[WindowsAPICodePack-Shell]を検索しています。
[Microsoft Visual Studio Offline Packages]の場合だと、何も表示されませんでしたが、nuget.orgを選択すると、パッケージがヒットしました。
これで、nuget.orgのパッケージをインストールすることができます。
まとめ
今回は、Visual Studio 2022でWindowsAPICodePack-Shellが使いたかったのですが、NuGetパッケージマネージャーで検索しても出てきませんでした。
NuGetを使用すればインストールできるという記事は多くあったのですがそもそもNuGetのパッケージソースの設定まで解説してくれている記事が少なかったので、備忘のために記事にしました。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント