VS2017改用roslyn编译的,新的roslyn编译器,支持c# 6.0语法。它放到bin里面去是为了支持asp.net应用的动态编译。

它是通过nuget的包Microsoft.CodeDom.Providers.DotNetCompilerPlatform安装的,会在web.config里面配置<system.codedom><compilers>,替换掉默认的编译器。

它是通过nuget安装的包,如果你们都使用nuget来管理依赖,应该不会有问题。如果不需要roslyn,可以通过nuget把Microsoft.CodeDom.Providers.DotNetCompilerPlatform和Microsoft.Net.Compilers这两个包卸载。这样的话就不能在asp.net动态编译的地方(cshtml、aspx等等)使用 C# 6.0 的语法了。还有没有其它影响我目前也不清楚(roslyn据说性能更好,不过这对于asp.net一次性的动态编译没什么影响)。

05-11 17:28