2016-05-10 28 views
1

私のアプリケーションをAzureのVisual Studio 2015から公開するときにこの問題が発生しました。どうやらそれは正しくファイルを.cssのロードしませんでした(と誰が他に何を知っている)Visual Studio 2015からAzureのアプリケーションを公開しません.CSS

enter image description here

:それはこのように見えました。

私は多くの調査をしましたが、期待したことに反して、問題の原因を見つけるのは非常に困難でしたが、失われたフォーラムでは、web.configが公開時にそのプロパティを変更した地元のweb.configファイルは次のようになります。このような

<system.web> 
<authentication mode="None" /> 
<compilation debug="true" targetFramework="4.5.2" /> 
<httpRuntime targetFramework="4.5.2" /> 
<httpModules> 
    <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> 
</httpModules> 

マイリモートweb.configファイル:

<system.web> 
<authentication mode="None" /> 
<compilation targetFramework="4.5.2" /> 
<httpRuntime targetFramework="4.5.2" /> 
<httpModules> 
    <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> 
</httpModules> 

私はコンパイルでデバッグ=「true」を追加すると、それが適切に働いていた:

enter image description here

を、私はこの同じ問題を抱えて誰を支援するための、そして私の質問としてここにこれを残しておきたい:

1デバッグを無効にすると、.cssファイル(および他のファイル)が読み込まれる方法が変わる理由を教えてください。

2リモートサーバーでデバッグを許可せずにこれを修正する別の方法はありますか?

3おそらく、誰かがこれを経験したことがある人が知識を共有してくれたら、私が助けを求めて逃してしまったという、別の回避策があります。

私はazure xDでアプリを公開していたのですが、これは非常に一般的であると思います。
私のアプリはデータベースでも動作することを覚えておいてください。 azure xDで実装する

ありがとう!

編集: BundleConfig.cs

using System.Web; 
using System.Web.Optimization; 

namespace Distribuidora_Saturno 
{ 
    public class BundleConfig 
    { 
     // Para obtener más información sobre Bundles, visite http://go.microsoft.com/fwlink/?LinkId=301862 
     public static void RegisterBundles(BundleCollection bundles) 
     { 
      bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
         "~/Scripts/jquery-{version}.js")); 

      bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
         "~/Scripts/jquery.validate*")); 

      // Utilice la versión de desarrollo de Modernizr para desarrollar y obtener información. De este modo, estará 
      // preparado para la producción y podrá utilizar la herramienta de compilación disponible en http://modernizr.com para seleccionar solo las pruebas que necesite. 
      bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
         "~/Scripts/modernizr-*")); 

      bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
         "~/Scripts/bootstrap.js", 
         "~/Scripts/respond.js")); 

      bundles.Add(new StyleBundle("~/Content/CSS").Include(
         "~/Content/CSS/bootstrap.css", 
         "~/Content/CSS/site.css")); 
     } 
    } 
} 
+0

アプリケーションの実際のURLを共有できますか?バンドルはあなたのCSSパスを台無しにしているようです。通常、これはアイコン(http://stackoverflow.com/questions/19664287/bootstrap-icons-are-loaded-locally-but-not-when-online)でも発生しますが、ページの読み込みに対する実際の応答を調べる価値がありますあなたの実際のウェブサイトに –

+0

確かにhttp://distribuidorasaturno.azurewebsites.net/からアクセスできます 私が言ったように、今は動作していますが、リモートサーバーでデバッグを有効にした後で、なぜわかりません! – Loaderon

+0

デバッグを無効にしてコードを展開できますか? –

答えて

2

私は何が起こっているのか知っていると思います。だから私はあなたのウェブサイトにアクセスし、Chrome開発ツールでリクエスト/レスポンスを監視し、CSSバンドルではIISが403エラーで応答していることに気付きました。

enter image description here

ただ、好奇心から、私がバンドルされたリンクにアクセスして、これは私が得たものである:

enter image description here

だから私は、バンドルされたファイルに403エラーのために周りに検索し、このスレッドに走りました:ASP.NET MVC framework 4.5 CSS bundles does not work on the hostingとあなたのバンドルの名前をあなたのサーバー上の物理的なパスと競合するように変更することです。

バンドル名を変更してみることはできますか?以下のような何か試してみてください:

 bundles.Add(new StyleBundle("~/CSSBundle").Include(
        "~/Content/CSS/bootstrap.css", 
        "~/Content/CSS/site.css")); 

をしてから/Content/CSSから/CSSBundleにあなたのビューページでパスを変更します。

これで問題は解決します。

+0

それは働いた!本当にありがとう!それは貧弱なMicrosoftのBundle用テンプレートは正しく動作しませんが、とにかくxD – Loaderon

1

私はあなたがあなたのBundleConfig.csクラスを探すべきだと思います。最近の変更後に公開されると、状況が壊れる可能性があります。 BundleConfig.csファイルを投稿して、スタイルバンドルを追加します。

+0

実際に私はそれを変更したことはないと思っています:O これはASP.NETのMVC5テンプレートです。 – Loaderon

関連する問題