我维护了大量项目,目前都是用.Net 4.5 / c#5编写的。我有兴趣升级到C#6.0,但找不到任何有关安全性的文档。
根据我的阅读,升级到VS 2015 / C#6 / .Net 4.6意味着使用Roslyn / RyuJit构建我们的代码。 (或者使用msbuild 14,它使用了Roslyn)。
然而,Roslyn目前存在大量未解决的问题:https://github.com/dotnet/roslyn/issues/7278其中许多问题都会影响我们的代码库。
同样,RyuJit似乎完全不稳定,最近6个月前(http://nickcraver.com/blog/2015/07/27/why-you-should-wait-on-dotnet-46/)
我无法在任何地方找到安全升级到C#6.0 / .Net 4.6的任何文档,但发现这些东西已经发布到RTM和VS 2015并且公开发布了如此多的错误,这一点非常奇怪。 / p>
帮助?
答案 0 :(得分:11)
其中许多都会影响我们的代码库。
我不太确定。我们不仅要构建Roslyn本身,还要构建Visual Studio的其余部分,整个.NET Framework,Windows,ASP.NET以及Roslyn,并且已经这样做了两年了。我们做了测试传递,我们从GitHub下载了数千个项目,因此我们可以验证使用旧编译器构建的代码是否可以使用新编译器构建。我们非常非常重视与旧编译器的兼容性。
公开场面有很多错误。
关于错误计数的一些事情需要了解:
如果我们过滤到"编译器"的实际列表错误并过滤掉尚未发布的功能的编译器错误the count is much much smaller。
最重要的一点:
这当然不是说你赢了找到了一个错误,但是我们已经尽力使Roslyn成为最好的编译器,我们可以最好的兼容性我们可以如果我们有来编写一份文件,说明这里的所有代码都不兼容"那就意味着我们失败了。像往常一样,在部署之前总是要测试一些东西,但这与其他任何东西没什么不同。