Visual Studio错误ENC0039:背后的理由是什么?



我正在VS 2022中调试一个应用程序。我注意到我的一个||的格式不正确,所以我修复了它

// Before
while ((deq = ItemsToAppend.TryDequeue(out T? item))|| CanAppend)
// After
while ((deq = ItemsToAppend.TryDequeue(out T? item)) || CanAppend)

我一修复它,就得到了以下错误

ENC0039:在泛型类型的上下文中修改方法中的空白或注释需要重新启动应用程序。图像

很明显,这是来自IDE中的某个地方,我可以通过在调试中重新启动应用程序来解决它,但为什么会出现问题?空白和注释对编译后的输出不是很重要吗?还是Roslyn需要如此程度的内省,甚至改变空白也会把它搞砸?

空白会影响序列点的位置,这会影响断点的放置和方法语句的执行。调试器当前不支持在调试时更改泛型类型和方法中的此调试信息。

最新更新