mscorlib.dll、System.Data.dll和EntityFramework.dll在Output窗口中引发



我从OnModelCreating和相关的NuGet包EntityFramework.DynamicFilters中删除了一个动态过滤器,因为它不再是必需的。当我这样做的时候,我开始看到异常被抛出到输出窗口中。

首先,当我运行我的应用程序(带有WPF和EF的C#(时,我得到:

引发异常:mscorlib.dll 中的"System.TypeLoadException">

然后,当我访问我的数据(实体框架(时,当我的代码到达以下语句时,我会得到一大堆异常:

public List<T> GetAll() => Table.ToList();

错误包括:

引发异常:System.Data.dll 中的"System.Data.SqlClient.SqlException">

引发异常:EntityFramework.dll 中的"System.Data.SqlClient.SqlException">

引发异常:EntityFramework.dll 中的"System.Data.Entity.Core.EntityCommandExecutionException">

引发异常:EntityFramework.SqlServer.dll 中的"System.Data.Entity.Core.EntityCommandExecutionException">

奇怪的是,数据按预期返回,应用程序似乎正在工作,然而,我的直觉告诉我不要简单地忽略它们,并希望一切顺利。

根据其他帖子的建议,我删除了Debug文件夹、Cleaned Solution和Rebuilded Solution的内容,但没有任何改进。

根据其他建议,我卸载并重新安装了Microsoft.Net Core和Microsoft.Net Framework,也没有任何改进。我的应用程序的目标是.Net Framework 4.8

我删除并修复了实体框架NuGet包,但仍然没有任何帮助。

为了100%确保这不是我代码中的错误,我将应用程序克隆到另一台机器上,第一次它运行得很好。(编辑:为了清楚起见,我还在有问题的机器上创建了一个新文件夹,并将其克隆到有相同问题的文件夹中(这告诉我它一定是我的环境中的某个东西,但又怎么样?

我完全没有想法,缺少硬盘格式化和重新安装Windows,事实上,在过去的24小时里,我认真考虑了几次。

阅读https://learn.microsoft.com/en-us/visualstudio/debugger/just-my-code?view=vs-2019促使我比较了这两台机器上的调试设置。事实证明,有问题的机器未选中"仅启用我的代码"。检查它使我的问题";走开";。我想现在的问题是,简单地忽略异常是否安全;不在我的代码中";?

经过大量研究,我的问题是Visual studio中的Debug设置没有设置为"启用仅我的代码";。("工具"->"选项"->"调试"选项卡,"仅启用我的代码"(。https://learn.microsoft.com/en-us/visualstudio/debugger/just-my-code?view=vs-2019年

根据我从谷歌收集到的信息,忽略来自外部程序集的小错误是足够安全的。假设它们不会影响你的程序逻辑,那就是。我不能100%接受忽略异常,但可以这样做。

最新更新