首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# 6.0的升级路径在哪里?安全了吗?

C# 6.0的升级路径在哪里?安全了吗?
EN

Stack Overflow用户
提问于 2016-03-02 01:19:20
回答 1查看 558关注 0票数 7

我维护着大量的项目,目前都是用.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,其中许多肯定会影响我们的代码库。

同样,就在6个月前(http://nickcraver.com/blog/2015/07/27/why-you-should-wait-on-dotnet-46/),RyuJit似乎完全不稳定

我在任何地方都找不到任何关于安全升级到RTM6.0/ .Net 4.6的文档,但我发现非常奇怪的是,这些东西已经发布到RTM6.0和VS2015,而且有这么多公开的bug。

帮助?

EN

回答 1

Stack Overflow用户

发布于 2016-03-02 03:19:07

,其中许多肯定会影响我们的代码库。

我可不这么确定。我们不仅仅是用Roslyn来构建,还有Visual Studio的其余部分,整个.NET框架,视窗,ASP.NET,以及更多的用Roslyn来构建,并且已经这样做了两年。我们做了测试,我们从GitHub下载了数以千计的项目,这样我们就可以验证使用旧编译器构建的代码是否可以使用新编译器构建。我们非常非常认真地对待与旧编译器的兼容性。

有这么多公开的bug。

关于错误计数,有几件事需要知道:

不仅包括编译器,而且包括集成开发环境、重构、调试器和许多其他components.

  • That的
  1. 还包括尚未发布的特性的but。例如,几天前,我们开始测试一个新的编译器功能,我们希望在C# 7中发布,并在需要更新以了解它的各种集成开发环境功能上提交了30-40个错误。
  2. 我们为不会影响您的事情提交错误。例如,每当我们的自动化测试出现问题时,我们都会提交一个bug。任何时候有人意识到“嗯,我们可以清理这个”,我们就会提交一个bug。我们甚至使用“问题”来讨论未来的语言提案作为一个论坛,而不是一个bug本身。现在我有一个问题,那就是对于write a blog post that needs to be written.
  3. Some来说,这些实际上不是坏错误;它们包括像"I wish the compiler gave better error messages."
  4. Many这样的问题,其中一些涉及在Linux或Mac上运行Roslyn,它仍然活跃在development.

如果我们过滤到“编译器”bug的实际列表,并过滤掉尚未发布的特性的编译器bug,则the count is much much smaller

最重要的一点是:

  1. 在编译器的每个版本中都有bug。编译器是由人类编写的软件,因此从定义上讲,它并不完美。我们只是选择在GitHub上曝光我们的脏衣服,而不是把它藏在防火墙后面!--

当然,这并不是说你不会遇到bug,但我们已经尽了最大努力让Roslyn成为一名尽可能好的编译器,并尽可能地保持最好的兼容性。如果我们不得不写一个文档,上面写着“这是你的代码不兼容的所有方面”,那就意味着我们在这方面失败了。像往常一样,总是在部署之前测试一些东西,但这与其他东西没有什么不同。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35729254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档