我的ASP.NET MVC 3 Web项目工作正常,然后我重新编译它,现在我收到此错误(更改了一些路径和命名空间以保护无辜):
对象引用未设置为 对象的实例。描述:一个 未处理的异常发生在 当前网络的执行 请求。请查看堆栈跟踪 有关错误的更多信息 它起源于代码。
异常详细信息: System.NullReferenceException:Object 引用未设置为的实例 对象
来源错误:
第66行:
RouteTable.Routes.MapRoute(第67行:
“DefaultRoutes”,//路线名称线 68:
“{模块} / {控制器} / {行动} /(编号)”, //带参数的URL源文件:.... \ Global.asax.cs
行:66堆栈追踪:
[NullReferenceException:Object 引用未设置为的实例 对象。]
Project.MvcApplication.RegisterRoutes(RouteCollection 路线)在D:..... \ Global.asax.cs:66 Project.MvcApplication.Application_Start() 在D:..... \ Global.asax.cs:139[HttpException(0x80004005):Object 引用未设置为的实例 对象。]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext的 上下文,HttpApplication app)+4051717 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr的 appContext,HttpContext上下文, MethodInfo []处理程序)+191
System.Web.HttpApplication.InitSpecial(HttpApplicationState state,MethodInfo []处理程序,IntPtr appContext,HttpContext context)+352 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr的 appContext,HttpContext context)+407 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr的 appContext)+375[HttpException(0x80004005):Object 引用未设置为的实例 对象。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext的 上下文)+11642112
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext的 上下文)+141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context)+4865877
我在Windows 7 x64上使用IIS7.5,并且应用程序池配置为使用.NET 4和“集成”托管管道运行。
我尝试重新启动,并且还清除了bin和obj文件夹但没有成功。
一些重要的额外信息 - 上面错误页面中缺少的一行:
RouteTable.Routes.MapRoute(
"DefaultRoutes", // Route name
"{module}/{controller}/{action}/{id}", // URL with parameters
new { module = _loadedModules.FirstOrDefault().Name, controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
答案 0 :(得分:1)
在你的global.asax.cs中,你可以像这样写
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(....);//you should use routes parameter rather than RouteTable.Routes
}
答案 1 :(得分:0)
这个项目动态加载模块,原始ASP.NET错误页面中不清楚的是NullReferenceException是由MapRoute()方法调用的最后一行引起的。
事实证明_loadedModules为空,因此FirstOrDefault()返回null - 因此异常。