我使用Visual Studio 2017(15.6.6)。调试时,我尝试在即时窗口中计算int a = 2;
之类的简单表达式。
C#编译器中的内部错误
的值。
我尝试启用Use Managed Compatibility Mode
,如this question中所暗示的,但没有帮助。
谢谢你的帮助。
我使用Visual Studio 2017(15.6.6)。调试时,我尝试在即时窗口中计算int a = 2;
之类的简单表达式。
C#编译器中的内部错误
的值。
我尝试启用Use Managed Compatibility Mode
,如this question中所暗示的,但没有帮助。
谢谢你的帮助。
6条答案
按热度按时间yk9xbfzb1#
进一步搜索,我找到了this issue on GitHub,其中一个答案建议也选中
Use the legacy C# and VB expression evaluators
。Visual Studio给了我一个关于选中此选项的警告,但打开此选项后,我可以再次在即时窗口中计算表达式。甚至可以再次关闭
Use Managed Compatibility Mode
。**更新:**请注意,使用遗留表达式求值器会阻止我在调试时检查局部变量,因此我不会将其称为解决方案。
uujelgoq2#
在我的例子中,问题发生在一个特定的程序集中。当我们查看程序集信息时,(从解决方案资源管理器中,右键单击项目,选择属性,然后单击组装信息),它完全是空白的。
所以我们给了它一个Guid,然后重新构建,它工作了。
7xzttuei3#
我也有同样的问题。不知道你是否有这个选择,但对我来说,这是下一个问题:而不是“调试”版本的“发布”是打开的。所以当我切换回调试我摆脱了这个错误。
2ledvvac4#
我在处理自己的NuGet包时也遇到了同样的错误。在我的情况下,VS解析了一个路径,指向“%userprofile%.nuget”文件夹中的程序集副本,而不是构建输出文件夹。
目前,我不知道如何防止新项目类型的这种错误解析,在新项目类型中没有为引用指定提示,但是有一个简单的解决方法:在调试之前,只需从
%userprofile%\.nuget\packages\%yourpackage%
中删除未打包软件包副本。sq1bmfud5#
这也发生在Visual Studio 2022 17.3.2中,它可以在反馈中心找到“关闭,没有足够的信息”。一如既往,不称职的外包印度再次罢工。
无论如何,停止调试和重建解决方案的工作。它有一些与完全f****d和无用的热重新加载。
yizd12fk6#
清除目录
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
为我解决了这个问题。如果问题再次出现,我将尝试构建一个存储库...