2016-11-26 21 views
0

私はこのテーマについて多くの話題があると知っていますが、私はすでにそれらをすべて読んだと思います。私はまだ私の問題を解決することができないので、私は自分の話題を書く。私はトリックを行うweb.configファイルを持っているのでC#サーバでバンドルが動作しない

BundleTable.EnableOptimizations = true; 

:私はこのラインを持っていない

public static void RegisterBundles(BundleCollection bundles) 
{ 
    var scriptBundle = new ScriptBundle("~/bundles/layoutJS") 
     .Include(
      "~/Scripts/jquery-1.11.2.js" 
      , "~/Scripts/jquery-ui.js" 
      , "~/Scripts/jquery.stellar.js" 
      , "~/Scripts/jquery.velocity.js" 
      , "~/Scripts/jquery.tubular.1.0.custom.js" 
      , "~/Scripts/helper.js" 
      , "~/Scripts/Style/Plugins/popup.js" 
      , "~/Scripts/Style/Plugins/select.js" 
      , "~/Scripts/Style/Plugins/jQuery/cnil.js" 
      , "~/Scripts/Style/layout.js" 
     ); 

    scriptBundle.Orderer = new BundleOrderer(); 
    bundles.Add(scriptBundle); 

    var cssBundle = new StyleBundle("~/bundles/layoutCSS") 
     .Include(
      "~/Content/Style/Font-Awesome/font-awesome.css" 
      , "~/Content/Style/Jquery-ui/jquery-ui.css" 
      , "~/Content/Style/Jquery-ui/jquery-ui.structure.css" 
      , "~/Content/Style/Jquery-ui/jquery-ui.theme.css" 
     ); 
    cssBundle.Orderer = new BundleOrderer(); 
    bundles.Add(cssBundle); 
} 

は、ここに私のBundleConfigファイルです。ここでは(とlocalYのみ使用)私のweb.configファイルの一部

<system.web> 
    <compilation targetFramework="4.5.1" debug="true" /> 
</system.web> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
</system.webServer> 

であり、ここで私のステージサーバーに使用web.release.configです:私の_layoutに

<system.web xdt:Transform="Replace"> 
    <compilation targetFramework="4.5.1" debug="false"/> 
</system.web> 

Finaly .cshtml私はそのように私のバンドルをレンダリング:

@Styles.Render("~/bundles/layoutCSS") 
@Scripts.Render("~/bundles/layoutJS") 

私はローカルに私のウェブサイトを実行する場合だから私は:(ない私は大丈夫だと思うけど... 、それはデバッグまたはリリース構成のいずれかで、動作はOKです。すべてのスクリプトとスタイルが表示され、クロムコンソールにエラーはありません。

しかし、ときに私はそれが壊れています...私のサーバーにデプロイするよ: - 最初に私は、ソースコード でバンドルにバージョン番号を持っていない - 第二に、明らかに私は、各バンドルの404を持っている...

私のサーバーのIISには何かできますか? 何か不足していますか?

お返事ありがとうございました!

EDIT:バンドルの登録:

protected void Application_Start() 
{ 
    Bootstraper.Run(); 

    var unitOfWork = (IUnitOfWork)Bootstraper.GetInstance<IUnitOfWork>(); 
    var cache = (ICacheManager) Bootstraper.GetInstance<ICacheManager>(); 

    MvcHandler.DisableMvcResponseHeader = true; 

    AreaRegistration.RegisterAllAreas(); 
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
    RouteConfig.RegisterRoutes(RouteTable.Routes, unitOfWork.RouteRepository, cache); 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 
} 
+0

'RegisterBundles'とその周辺の呼び出しを表示できますか?また、ローカルでリリースされたWebサイトを実行しようとしましたか? –

+0

はい、私は最後に投稿を編集しました。 はい、私はそれをテストしました...そしてそれは動作します:( –

+0

あなたのサーバー上のOSとIISバージョンは何ですか?MVCのバージョン –

答えて

0

Aaaaaaalrightを、それは実際にすべてOKでした。唯一のことは、私のスクリプトフォルダに空のディレクトリがあり、展開されていないということです。残念ながら、私はいくつかのバンドルを作るためのパターンで、このディレクトリのルールを持っていました。だから、それは他のすべてのバンドルを壊した。

お返事ありがとうございます@Vivien Chevallier

0

次のため<system.webServer>セクション変更、あなたのweb.configファイルを更新します。

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <remove name="BundleModule" /> 
     <add name="BundleModule" type="System.Web.Optimization.BundleModule" /> 
    </modules> 
</system.webServer> 
+0

既に試してみてくださいそして今すぐ再試行した...しかし何も私はiisresetをやったことがありますが、確かに...何もありません。 –

関連する問題