Asp.net mvc 4 MVC4应用程序的目标是.NET4.0,但似乎需要.NET4.5才能运行
我问了一个问题,描述了我是如何得出这个结论的。我环顾了一下网络,发现了类似的问题,但没有一个问题能给我答案,也没有一个问题能让我离得足够近,让我能够一跃而起,将问题全部解决。我在Visual Studio 2012中开发的MVC 4应用程序以.NET 4.0框架为目标,因为我们的生产服务器目前无法升级到.NET 4.5。在VS 2012和我的本地IIS上,应用程序运行良好。然而,当我将它部署到我们的登台服务器(只有.NET4.0)时,它不会完全运行,尽管它确实显示了登录页面。但是,它不会显示注册表或忘记登录页面 我尝试过的事情:Asp.net mvc 4 MVC4应用程序的目标是.NET4.0,但似乎需要.NET4.5才能运行,asp.net-mvc-4,deployment,web-config,Asp.net Mvc 4,Deployment,Web Config,我问了一个问题,描述了我是如何得出这个结论的。我环顾了一下网络,发现了类似的问题,但没有一个问题能给我答案,也没有一个问题能让我离得足够近,让我能够一跃而起,将问题全部解决。我在Visual Studio 2012中开发的MVC 4应用程序以.NET 4.0框架为目标,因为我们的生产服务器目前无法升级到.NET 4.5。在VS 2012和我的本地IIS上,应用程序运行良好。然而,当我将它部署到我们的登台服务器(只有.NET4.0)时,它不会完全运行,尽管它确实显示了登录页面。但是,它不会显示注册
- TwitterBootstrapMVC
- Grid.MVC
- 实体框架5.0
- 。。。我明天回去工作时会列出更多
好吧,我发现出了什么问题。对于我的一些控制器,我需要一个额外的参数,并且我不想使用QueryString,因此我在我的RouteConfig中添加了一个额外的url参数:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}/{xid}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, xid = UrlParameter.Optional }
);
我没有太多的时间来研究为什么这会在4.5而不是4.0中起作用,但当我找到它时,我会在这里发布一个解释或一个解释链接,以防万一有人发现自己陷入了类似的困境。如果读者有兴趣对此进行阐述,请随意。您已声明使用EF 5.0。可能您正在使用Net4.0不支持的一些功能,谢谢Stephen,这是一个很好的建议。不过,我正在EF5中首先使用代码,但我没有使用任何需要4.5的新功能,因为我在升级到VS 2012后开始了这个针对4.0的项目。一旦开始工作,我将对此进行验证,但我确信我没有使用Enum支持,我的应用程序也没有使用空间数据类型。我将尝试切换到EF4.3,看看结果是否不同。再次感谢斯蒂芬。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}/{xid}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, xid = UrlParameter.Optional }
);