Linux~上部署.net MVC出现的问题与解决

这几天一直在搞linux下面的.net mvc的部署工作,遇到了很多问题,还好有一些朋友的帮助,问题才得到了解决!

环境:Linux+Mono+Jexus

希望的结果:直接运行windows+vistualstudio开发的MVC网站

遇到的问题:可以解析,但出现一些运行时(CLR)的错误

截图

 

这些问题都是来自于微软的程序集与mono程序集的冲突问题,即在MVC网站里对应的程序集,但mono框架也在linux上实现了一套,而两者出现了冲突,引发了这个异常

解决

删除MVC网站自己的程序集:Microsoft.Web.Infrastructure.dll

下面是webap路由引起的问题

解决

把它注释后,运行,老问题没有了,但新的问题来了

解决

这个问题像是MVC没有布局页引起的,我看了一个,layout确实没有,添加后,问题解决

 

使用EF,连接SQLSERVER数据库

注意:EF5及之前的版本,与.net类库结合紧密,所以部署到mono上是不行的,需要在nuget上进行升级,到EF6.0以后的版本就可以用了,它将EF核心模块从system.data中拿出来,把EF单独提出来了,挺好!解耦了!

 

问题终于都解决了,再次感谢朋友们的帮助!

 参考文章:http://www.cnblogs.com/Leo_wl/archive/2013/05/24/3097089.html

posted @ 2016-06-03 10:42  张占岭  阅读(1563)  评论(2编辑  收藏  举报