C# .NET Core 如何调试 System.IO.FileNotFoundException in System.



>当我在VS 2017上运行.NET Core Web API应用程序时,
在输出的调试面板中,继续向我显示异常抛出:

'System.IO.FileNotFoundException' in System.Private.CoreLib.dll

但是,应用程序运行良好,不会停止或出现故障。
我知道例外总是意味着需要关心某些事情。

那么,如何搜索运行 CoreCLR 时找不到的文件

-------------更多-------------------

'dotnet.exe' (CoreCLR: clrhost): Loaded 'C:Program Files (x86)dotnetsharedMicrosoft.NETCore.App2.0.0System.Private.Xml.Linq.dll'. Symbols loaded.
'dotnet.exe' (CoreCLR: clrhost): Loaded 'C:Program Files (x86)dotnetsharedMicrosoft.NETCore.App2.0.0System.Private.Xml.dll'. Symbols loaded.
'dotnet.exe' (CoreCLR: clrhost): Loaded 'C:Program Files (x86)dotnetsharedMicrosoft.NETCore.App2.0.0System.Resources.ResourceManager.dll'. Symbols loaded.
Exception thrown: 'System.IO.FileNotFoundException' in System.Private.CoreLib.dll
Exception thrown: 'System.IO.FileNotFoundException' in System.Private.CoreLib.dll

转到"调试/Windows/异常设置",然后在"公共语言运行时异常"下选中"FileNotFoundException"。引发异常时,调试器将停止,您将能够看到正在发生的事情。

请注意,在某些情况下,预期和处理异常并不罕见。您可能会发现异常是预期和处理的,无需执行任何操作来修复它。

上面的答案帮助我在测试项目中指出了我的问题。

的情况:我使用的是针对net45的.netcore csproj,并且缺少MSTest适配器引用。

一旦我添加了这些都很好。

 <ItemGroup>
    <PackageReference Include="MSTest.TestAdapter" Version="2.2.7" />
    <PackageReference Include="MSTest.TestFramework" Version="2.2.7" />
  </ItemGroup>

当您单击通过 VS 代码调试并且您已经使用 dotnet run 使用命令提示符打开应用程序时,会出现此问题。

确保通过命令 CTRL+C 关闭已打开应用程序的命令提示符

最新更新