Visual studio 2015 Roslyn的突破性变化列表
切换到Visual Studio 2015后,我们注意到在Roslyn中对lambdas编译为MSIL的方式所做的一些更改(如和中所述)会在某些情况下导致运行时失败 由于Roslyn显然是.NET的未来,我们希望切换到这项技术,但似乎所有在生产环境中运行的遗留代码(我们对其正常运行有相当程度的信心)现在都很容易出现新的运行时故障。这些库也受到此问题的影响(如) 我们已经跳过了对RyuJIT的升级,但我相信Visual Studio 2015与Roslyn的集成度很高,我不认为我们可以简单地手动替换Visual studio 2015 Roslyn的突破性变化列表,visual-studio-2015,roslyn,csc,Visual Studio 2015,Roslyn,Csc,切换到Visual Studio 2015后,我们注意到在Roslyn中对lambdas编译为MSIL的方式所做的一些更改(如和中所述)会在某些情况下导致运行时失败 由于Roslyn显然是.NET的未来,我们希望切换到这项技术,但似乎所有在生产环境中运行的遗留代码(我们对其正常运行有相当程度的信心)现在都很容易出现新的运行时故障。这些库也受到此问题的影响(如) 我们已经跳过了对RyuJIT的升级,但我相信Visual Studio 2015与Roslyn的集成度很高,我不认为我们可以简单地手动替
csc.exe
(但这很简单)
那么,是否有一份罗莎琳突破性变化的汇编清单,我们可以参考,看看我们能期待什么?(更新)
感谢@NealGafter提供链接。当前可在此处找到中断更改列表:
似乎有些文档应该在这里:。根据描述: 编译器规范详细说明了Roslyn VB和C#编译器支持(和半支持)的表面积。这包括
- COM特定功能和其他Microsoft特定功能
- 影响编译器行为的“已知”属性
- “规则集”文件语法和语义
- 命名索引器使用C#
这可能会有所帮助:@nawfal:此页面似乎显示了Roslyn API的更改,我更感兴趣的是相对于以前VS版本中的
csc.exe
,在生成的MSIL中所做的更改。我想,您目前在任何地方都找不到这些更改。你应该关注GitHub的问题,这与lambdas的变化有关。我们在roslyn回购协议@Neal中跟踪这个问题:我在中找到了包含一些信息的链接。不确定它是否是这方面的“规范”文档,但似乎很接近。我还考虑编译一个“todo迁移列表”,列出我的其他项目中可能出现的问题(比如围绕代码调用Delegate.CreateDelegate
,检查lambdas上的IsStatic
或Target
属性等),但我不确定这个列表是否至少能涵盖大部分问题。不幸的是,这个列表中的突破性变化还不完整。看。@Neal:谢谢(延迟),我已经在上面添加了你的链接。