8

jquery datepickerを使用するWebサイトがあります(通常のVS2012 MVC4テンプレートで実装されています)。ローカルホストで実行すると、見た目も動作も正常です。しかし、(Azureに)公開すると、CSSの一部が欠落しています。Chrome開発ツールは、2つのcssファイルで404エラーを表示します。

http://cyclelog.azurewebsites.net/Content/jquery.ui.base.css http://cyclelog.azurewebsites.net/Content/jquery.ui.theme.css

ソースツリーにそのようなファイルがないことに気づきました。2つのファイルは〜/ Content / themes / baseの下にあります(Content /のすぐ下ではありません)。私が言ったように、cssはローカルホストで正常に動作するため、これをどうすればよいかわかりませんでした。

デフォルトのテンプレートで作成されたバンドル構成を変更していません。または、むしろ、私はそうしましたが、問題を解決するためだけに努力しました-それはうまくいきませんでした。バンドルの初期化で元のコードを復元しました。

bundles.Add(new StyleBundle("~/Content/css").Include(
            "~/Content/site.css",                
            "~/Content/themes/base/jquery.ui.all.css"));

bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
    "~/Content/themes/base/jquery.ui.core.css",                        
    "~/Content/themes/base/jquery.ui.resizable.css",
    "~/Content/themes/base/jquery.ui.selectable.css",
    "~/Content/themes/base/jquery.ui.accordion.css",
    "~/Content/themes/base/jquery.ui.autocomplete.css",                        
    "~/Content/themes/base/jquery.ui.button.css",
    "~/Content/themes/base/jquery.ui.dialog.css",
    "~/Content/themes/base/jquery.ui.slider.css",
    "~/Content/themes/base/jquery.ui.tabs.css",
    "~/Content/themes/base/jquery.ui.datepicker.css",
    "~/Content/themes/base/jquery.ui.progressbar.css",
    "~/Content/themes/base/jquery.ui.theme.css"));

何か案は?

4

1 に答える 1

14

問題は、"~/Content/themes/base/jquery.ui.all.css"最初のバンドルに含まれていることです。そのファイルを2番目のバンドルに移動すると、機能します。

ローカルではバンドルが発生しないため、ローカルで機能します(デバッグモードであると想定)。そのファイルの@importは"/Content/themes/base/"、リンクが次のようにレンダリングされるため、正しいディレクトリ()を検索しているため機能します。

<link href="/Content/themes/base/jquery.ui.all.css" rel="stylesheet"/>

これをデプロイすると、そのファイルはにバンドルされ~/Content/cssます。スタイルシートはバンドルされており、次のようにレンダリングされます。

<link href="/Content/css?v=IqLBj6MTQkC-CU1" rel="stylesheet"/>

したがって、2つのファイルがそのディレクトリに存在しないため、2つの@importステートメントは失敗します。

ただし、それらは存在し"~/Content/themes/base/"ます。そのため、すべてがリリースモードでバンドルされる場合、2番目のバンドルで機能します。

この問題をローカルで再現する方法に関する情報を含む詳細情報:Scripts.Renderを使用して古いjavascriptファイルを使用する

于 2013-01-30T02:08:04.830 に答える