Azure Cloudにデプロイされた後のASP.NET MVC 5 Webロール、@ scripts.renderで壊れる
-
21-12-2019 - |
質問
私はASP.NET MVC 5 WebロールとAzure SDK 2.3を持つクラウドサービスを持っています.2.3 4.5.1フレームワーク。ウェブサイトはローカルで完璧に機能します。 しかし、Azure Cloud Serviceに展開すると、古典的なNULL参照エラーがあります。
オブジェクト参照オブジェクトのインスタンスに設定されていません。 例外の詳細:System.NullReferenceException:オブジェクト参照オブジェクトのインスタンスに設定されていません。
ソースエラー:
Line 9: @Scripts.Render("~/bundles/jquery")
.
My BundleConfig.csは簡単です:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/knockout-{version}.js",
"~/Scripts/jquery.signalR-{version}.js",
"~/Scripts/modernizr-{version}.js"
));
.
IntelliTraceログを使用するWebroleでこのエラーが発生することができます:
ファイル監視のファイル名が無効です 'E:\ SitesRoot \ 0 \ scripts
インスタンスでリモートを入力すると、フォルダスクリプトがそのパスに正確にあることがわかります。
@ script.Renderの削除ページのロードを正常に削除します。 同じページの@ style.renderは機能します。
ステージングの両方でデバッグモード、およびリリースモードで展開しようとしました。
もweb.configで変更しようとしました
compilation debug="true" and false
.
成功しない。 なぜこれを起こる可能性のあるアイデアは何ですか? ありがとう
解決
テストの後、問題がWebGraseパッケージであることを発見しました。それを更新すると、新鮮な新しいプロジェクトでも問題が発生します。これでアンインストールして以前のバージョンを再インストールすると、問題が解決しました。
他のヒント
jQueryバンドルからjQueryをすべて削除してみてください。次に、jQuery依存スクリプト(ノックアウト、jQuery.Signalr&Modernizr)の新しいバンドルを作成し、jQueryバンドルの後にレンダリングします。