質問: Visual Studio 2019 になって、NuGet で取得したライブラリの保存方法が変わり、プロジェクト毎ではなく、`C:\Users\[ユーザー名]\.nuget\packages` に一括して保存されるようになりました。 それは歓迎なのですが、.net MVC での View の *.cshtml ファイルで .css や .js のファイルへのパスをどのように書けば良いのでしょうか? 自動生成された `Views/Shared/_Layout.cshtml` では以下のようになっていますが、実際の保存場所は `(略).nuget\packages\bootstrap\4.5.0\content\Content` であり、なぜ `"~lib/[ライブラリ名]/dist"` と書けば良いのかが分かりません。 ``` ``` ご指導ください。
回答: 実際にやって見て解決しました。 先ず、Visual Studio 2019 では NuGet が取得した javascript 関連のライブラリと View の .cshtml ファイルが参照するライブラリは別物となります。 Visual Studio のソリューションエクスプローラー に wwwroot というディレクトリがあり、ここに css, js, lib というフォルダーがあり、ここが .cshtml から参照されるフォルダーとなります。 従って、jquery.js などはここの js または lib のフォルダーに置きます。 質問に書いた "~/lib/jquery/dist/jquery.min.js" という記述は、この wwwroot を起点としたファイルの記述でした。 ここにライブラリを置くには、wwwroot を右クリックし、メニューの「追加 / クライアント側のライブラリ」という機能である程度自動的にできるが比較的単純な機能です。libman という機能のようです。 サマリ - Visual Studio 2019 では、クライアント側のライブラリの管理は nuget のライブラリ管理と別物である。 クライアント側でだけ使うライブラリを nuget でインストールしても意味はない。 クライアント側のライブラリは、ほぼ手動で管理する必要がある。 (libman という簡単なツールはある。) .csmhtl ページからの参照は wwwroot を起点に、 "~/css/... " というように書く。