バンドルを ASP.NET MVC 4 で機能させようとしています。バンドルされた CSS 用に生成されたリンクから 404 エラーが発生します。私は次のことをしました:
NuGet (v4.0.20710.0) 経由で「Microsoft ASP.NET Web Optimization Framework」パッケージをインストール
次の内容で App_Start ディレクトリに BundleConfig クラスを作成しました。
using System.Web.Optimization; namespace BsdAppTemplate.Web_Nancy.App_Start { public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new StyleBundle("~/bundles/styles/cvi").Include( "~/mainstyles.css" )); } } }
サイト ルートの Web.config に以下を追加しました。
<system.web> <compilation debug="false" targetFramework="4.5" /> <pages> <namespaces> <add namespace="System.Web.Optimization"/> ... </namespaces> </pages> </system.web>
MVC レイアウト ファイルの head 要素に以下を追加しました。
@Styles.Render("~/bundles/styles/cvi")
BundleConfig で参照されている CSS ファイル (「mainstyles.css」) を Web プロジェクトのルート ディレクトリにコピーしました。
レンダリングされたファイルのソースを表示すると、リンクが次のように表示されます。
<link href="/bundles/styles/cvi" rel="stylesheet"/>
このリンクを参照すると、または Chrome のネットワーク タブでページ リクエストを表示すると、404 が返されます。
Web フォームでも同等の方法を試しましたが、追加したときに生成されたリンクから同じ結果 (404) が得られます。
<%: Styles.Render("~/bundles/styles/cvi") %>