

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"` と書けば良いのかが分かりません。

[code]

    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
    
    <script src="~/lib/jquery/dist/jquery.min.js"></script>        
    <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
    
[/code]

ご指導ください。


CC BY-SA 4.0
2020-07-30T01:29:49.570
69108
2023-01-31T06:07:55.950
2020-08-09T01:04:08.630
41274
41274
question
html visual-studio nuget
Visual Studio でのライブラリファイルのパスの書き方


実際にやって見て解決しました。 先ず、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/... " というように書く。


CC BY-SA 4.0
2020-08-09T01:03:39.483
69382
2020-08-09T01:03:39.483
41274
69108
answer