我使用Visual Studio 2017(15.6.6(。调试时,我尝试评估直接窗口中的int a = 2;
之类的简单表达式。错误
C#编译器中的内部错误
被扔了。
我试图在这个问题中提到的启用Use Managed Compatibility Mode
,但没有帮助。
感谢您的任何帮助。
进一步搜索我在github上找到了这个问题,答案也建议检查Use the legacy C# and VB expression evaluators
。Visual Studio向我发出警告,以检查此选项,但是在此选项上打开此选项,我可以在直接的窗口中评估表达式。
甚至可以再次关闭Use Managed Compatibility Mode
。
更新:请注意,尽管使用旧式表达式评估器可以防止我在调试时间检查本地变量,因此我不会称其为解决方案。
在我的情况下,问题发生在特定的组件中。当我们查看汇编信息(从解决方案资源管理器中,右键单击项目,选择属性,然后单击汇编信息(,它们都是空白的。
所以我们给了它一个GUID,然后重新构建并起作用。
我也有同样的问题。不知道这是否是您的选择,但对我来说,这是下一个问题:而不是"发行版"开启的"调试"版本。因此,一旦我转回调试,我就摆脱了这个错误。
处理自己的nuget软件包时,我遇到了相同的错误。在我的情况下,与"%userprofile%.nuget"文件夹而不是构建输出文件夹中的汇编副本的路径。
当前,我不知道如何防止针对新项目类型的这种错过解决,其中没有指定参考的提示,但是有简单的解决方法:只需从调试之前删除%userprofile%.nugetpackages%yourpackage%
的未包装副本。
它也发生在Visual Studio 2022 17.3.2中,可以找到"封闭","不够信息"在反馈中心。与往常一样,不称职的印度再次罢工。
无论如何,停止调试和重建解决方案有效。它与完全f **** d和无用的热重新加载有关。
清除目录C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files
为我解决了问题。如果问题再次出现,我将尝试建立一个仓库...