这个问题之前碰到过一次,这次又碰到,就记录一下解决方法。
这个问题的产生的原因,据说是虚拟主机没有权限执行exe文件造成的,如果是独立服务器的话发布就不会出现这个问题。
使用VS2015发布web项目,会在bin/roslyn目录下生成一堆exe文件,如下图
虚拟主机没有exe执行权限,就会报错了。
所以解决问题的办法,就是让vs发布的时候不要生成这些文件(有人或许就想,直接干掉这些文件不就OK了,嗯嗯,你可以试试哈)。
然后网上查了下资料,如果不需要roslyn,可以通过nuget把Microsoft.CodeDom.Providers.DotNetCompilerPlatform和Microsoft.Net.Compilers这两个包卸载,
据说干掉roslyn后就不能使用C# 6.0 的语法了。
通过nuget删除如下图: