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

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

环境:Linux+Mongo+Jexus

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

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

截图

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

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

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

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

解决

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

下面是webap路由引起的问题

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

解决

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

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

解决

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

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

使用EF,连接SQLSERVER数据库

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

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

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/40cf1619bf93e5dddb02c7d1c5d69679.html