运行我的 web 应用程序(在 vscode 中)时,调试控制台充满了如下行:
加载“/foo/bar/dotnet/shared/Microsoft.NETCore.App/2.2.4/System.Private.CoreLib.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。
和
线程 123 已退出,代码为 0 (0x0)。
我认为这与
appsettings.json
文件中的日志过滤有关,但这些不属于我可以禁用的任何类别。
这非常烦人 - 我该如何禁用它?
这些日志由 VS Code 管理。您可以在
launch.json
目录中的 .vscode
文件中禁用它们。您可以在 configurations
节点中的任何元素内添加以下节点,以禁用该配置的模块加载消息:
"logging": {
"moduleLoad": false
}
还有更多可用选项,例如
exceptions
和 programOutput
,请查看 Intellisense 以了解所有可用选项。
我找到这个答案是为了寻找与原始问题相同的东西。 here提供的答案是正确的,但我不明白我需要把它放在哪里。所以我决定添加我自己的答案,希望能够指导处于相同情况的其他人......
您需要将以下代码添加到您的解决方案(如果您不使用解决方案,则添加到项目文件)。
"logging": {
"moduleLoad": false
}
因为我不清楚需要在哪里添加它(我的“配置”节点中有两个单独的区域,称为“名称”:“.NET Core Launch(控制台)”和“名称”:“.NET Core Attach” ”),我想发布我的整个配置以使其更加清晰。
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/bin/Debug/netcoreapp2.2/example.dll",
"args": [],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopAtEntry": false,
"logging": {
"moduleLoad": false
}
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
接受的答案中的解决方案在调试 Blazor 项目时不起作用。
用这个代替:
"dotNetConfig": {
"logging": { "moduleLoad": false }
}
我认为以上所有答案现在都已经过时了。它们对我不起作用(版本 1.83.1)。对我有用的是在 settings.json 文件 (~/.config/Code/User/settings.json) 中添加以下行。
"csharp.debug.logging.moduleLoad": false