4

Asp.Net MVC 5 Web ロールと 4.5.1 フレームワークをターゲットとする Azure SDK 2.3 を備えたクラウド サービスがあります。ウェブサイトはローカルで完全に機能します。しかし、それを Azure クラウド サービスにデプロイすると、従来の null 参照エラーが発生します。

オブジェクト参照がオブジェクト インスタンスに設定されていません。例外の詳細: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

ソース エラー:

Line 9:      @Scripts.Render("~/bundles/jquery")

私の 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"
                    ));

WebRole で Intellitrace ログを使用すると、次のエラーが表示されます。

ファイル監視用の無効なファイル名 'E:\sitesroot\0\Scripts

インスタンスにリモートで入ると、Scripts フォルダーがまさにそのパスにあることがわかります。

@Script.Render を削除すると、ページが正常にロードされます。同じページの @Style.Render が機能します。

両方ともステージングで、デバッグ モードとリリース モードでデプロイしようとしました。

また、Web.configで変更しようとしました

compilation debug="true" and false

成功しませんでした。なぜこれが起こるのでしょうか?ありがとう

4

2 に答える 2

4

数日間のテストの後、問題は WEBGREASE パッケージにあることがわかりました。更新すると、新しいプロジェクトでも問題が発生します。今のところ、それをアンインストールして以前のバージョンを再インストールすると、問題は解決しました。

于 2014-06-04T10:37:45.407 に答える
0

jquery バンドルから jquery 以外のすべてを削除してみてください。次に、jquery 依存スクリプト (knockout、jquery.signalR、modernizr) の新しいバンドルを作成し、jquery バンドルの後にレンダリングします。

于 2014-06-04T03:24:43.187 に答える