【发布时间】:2014-06-03 07:13:32
【问题描述】:
我有一个带有 Asp.Net MVC 5 Web 角色和面向 4.5.1 框架的 Azure SDK 2.3 的云服务;该网站在本地完美运行。 但是当我将它部署到 Azure 云服务时,我遇到了经典的空引用错误:
对象引用未设置为对象的实例。 异常详细信息: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 有效。
我尝试在 Debug 模式和 Release 模式下部署,都在 Staging 中。
也试过在Web.config中改一下
compilation debug="true" and false
没有成功。 任何想法为什么会发生这种情况? 谢谢
【问题讨论】:
-
是否部署了捆绑包中引用的所有文件(jquery、knout、jquery.signalR 和modernizr)?最低版本和非最低版本?
-
是的,文件在那里,我还通过远程连接检查了实例,都在脚本文件夹中。我真的不知道它是什么!
标签: asp.net-mvc azure bundling-and-minification webrole