2012-03-31 25 views
0

我不是新来ASP.NET MVC,但我有一个非常奇怪的问题,我一直无法解决。我已经检查了大多数其他相关的查询和更远的地方,但我还没有找到解决方案。我有一个非常简单的ASP.NET MVC 3应用程序,在Cassini下运行,直到我添加了log4net日志记录时才能正常工作。因为我已经删除了所有引用log4net的尝试,并把它找回来,但我总是得到错误:'/'应用程序中的MVC3服务器错误

服务器错误“/”应用。 找不到资源。 HTTP 404.您正在查找的资源(或其相关项之一)可能已被删除等等。

这是结果,无论请求哪个网址。

的应用仍然保留了原来的HomeController,Index.cshtml等,并从标准的“外的即装即用” Visual Studio 2010的模板中的缺省路由。

public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 
    } 

我检查和反复检查有没有遗漏的文件(如CSS或JS文件)多数民众赞成在必要并防止我在这个问题上向前迈进的另一个问题是,没有断点被命中时试图调试它。实际上,如果我在Application_Start方法的第一行放置了一个断点,并开始调试,断点根本不会被触及,并且会出现第二个断点(参见下图)!

Only the first breakpoint was actually inserted

发生这种情况,即使我做一个干净和重建。 我试过使用Phil Haacks路由调试器,但仍然得到相同的错误,并且Application_Start断点未被命中的事实让我怀疑我的web.config。我已经检查了好几次,实际上用我的托管网站的web.config取代了它,应用程序运行正常,但在我的开发设置中仍得到相同的结果。 我检查过没有属性中的StartUp页面。 我想添加一些功能,并能够调试它之前部署到我的托管网站,但这阻止了我。

有没有人在开始调试时遇到过添加断点?考虑到症状,你会从哪里开始寻找问题的根源?

+0

你有没有试过清理你的临时Internet文件?关闭VS,删除\ bin和\ obj文件夹。然后打开一切备份并重建。 – mgnoonan 2012-03-31 16:21:27

+0

是的,只是试过 - 相同的结果。 – 2012-03-31 18:20:36

回答

0

就解决了这个问题,所以对于那些谁可能在这一次旅行中,我指出为什么下面的原因。然而,我可以在没有可用的调试或追踪的情况下找到问题的方法更有价值。由于它仍然是一个小型站点,我决定创建另一个标准的“开箱即用”的MVC 3应用程序并手动比较文件。文件之间似乎没有区别,但在通过此练习时,我注意到在问题应用程序中,Global.asax文件位于Views文件夹中!我必须无意地移动它们 - 它并不是很明显,因为Views文件夹总是被展开并对它进行了扫描,看起来Global.asax文件位于正确的位置,因为它们通常位于Views文件夹的正下方(不是缩进,因为它们是在视图文件夹内)。

无论如何,由我造成的问题,但确实造成了一些奇怪的行为!

相关问题