我有一个云服务,带有ASP.NET MVC 5 Web角色和Azure SDK 2.3定位4.5.1框架;该网站在本地工作完美。 但是当我将它部署到Azure Cloud Service时,我有Classic 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

在实例中远程输入我看到文件夹脚本正好在该路径中。

删除@ script.Render常用页面加载。 @ style.render在同一页面工作。

我试图在调试模式下部署和释放模式,都在暂存中。

还尝试在web.config中更改

compilation debug="true" and false
.

没有成功。 任何想法如何发生这种情况? 谢谢

有帮助吗?

解决方案

经过几天的测试,我发现问题是WebGrease包。更新它将导致问题甚至在新的新项目上。现在卸载它并重新安装以前的版本解决了问题。

其他提示

尝试从jQuery捆绑包中删除所有内容但jQuery。然后为jQuery依赖脚本创建一个新捆绑包(敲除,jquery.signalr&modernizr)并在jQuery捆绑后渲染它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top