debugging VS 2017即时窗口显示“C#编译器中的内部错误”

kq4fsx7k  于 2022-11-14  发布在  C#
关注(0)|答案(6)|浏览(337)

我使用Visual Studio 2017(15.6.6)。调试时,我尝试在即时窗口中计算int a = 2;之类的简单表达式。
C#编译器中的内部错误
的值。
我尝试启用Use Managed Compatibility Mode,如this question中所暗示的,但没有帮助。
谢谢你的帮助。

yk9xbfzb

yk9xbfzb1#

进一步搜索,我找到了this issue on GitHub,其中一个答案建议也选中Use the legacy C# and VB expression evaluators。Visual Studio给了我一个关于选中此选项的警告,但打开此选项后,我可以再次在即时窗口中计算表达式。
甚至可以再次关闭Use Managed Compatibility Mode

**更新:**请注意,使用遗留表达式求值器会阻止我在调试时检查局部变量,因此我不会将其称为解决方案。

uujelgoq

uujelgoq2#

在我的例子中,问题发生在一个特定的程序集中。当我们查看程序集信息时,(从解决方案资源管理器中,右键单击项目,选择属性,然后单击组装信息),它完全是空白的。
所以我们给了它一个Guid,然后重新构建,它工作了。

7xzttuei

7xzttuei3#

我也有同样的问题。不知道你是否有这个选择,但对我来说,这是下一个问题:而不是“调试”版本的“发布”是打开的。所以当我切换回调试我摆脱了这个错误。

2ledvvac

2ledvvac4#

我在处理自己的NuGet包时也遇到了同样的错误。在我的情况下,VS解析了一个路径,指向“%userprofile%.nuget”文件夹中的程序集副本,而不是构建输出文件夹。
目前,我不知道如何防止新项目类型的这种错误解析,在新项目类型中没有为引用指定提示,但是有一个简单的解决方法:在调试之前,只需从%userprofile%\.nuget\packages\%yourpackage%中删除未打包软件包副本。

sq1bmfud

sq1bmfud5#

这也发生在Visual Studio 2022 17.3.2中,它可以在反馈中心找到“关闭,没有足够的信息”。一如既往,不称职的外包印度再次罢工。
无论如何,停止调试和重建解决方案的工作。它有一些与完全f****d和无用的热重新加载。

yizd12fk

yizd12fk6#

清除目录C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files为我解决了这个问题。如果问题再次出现,我将尝试构建一个存储库...

相关问题