如何在VSCode的launch.json中配置.NET Core 2.0应用运行参数?
在VSCode的launch.json中添加.NET Core 2.0 Kestrel传输参数
要让VSCode调试时带上--kestrelTransport Libuv这个参数,只需要修改.NET Core Launch (web)配置里的args数组就可以了,具体操作如下:
- 找到launch.json里的
"args": []字段,把命令行参数按空格拆分后逐个放入数组。对于--kestrelTransport Libuv,需要把"--kestrelTransport"和"Libuv"作为两个独立元素加入数组。 - 修改后的
args字段应该是:
"args": ["--kestrelTransport", "Libuv"],
下面是修改后的完整.NET Core Launch (web)配置片段,你可以直接替换原配置中的对应部分:
{ "name": ".NET Core Launch (web)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. "program": "${workspaceFolder}/bin/Debug/netcoreapp2.0/Benchmarks.dll", "args": ["--kestrelTransport", "Libuv"], // 核心修改部分 "cwd": "${workspaceFolder}", "stopAtEntry": false, "internalConsoleOptions": "openOnSessionStart", "launchBrowser": { "enabled": true, "args": "${auto-detect-url}", "windows": { "command": "cmd.exe", "args": "/C start ${auto-detect-url}" }, "osx": { "command": "open" }, "linux": { "command": "xdg-open" } }, "env": { "ASPNETCORE_ENVIRONMENT": "Development" }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" } }
配置逻辑说明
VSCode调试配置里的args字段,对应直接运行程序时(即dotnet <你的dll文件>命令后)跟随的参数,和你在命令行执行dotnet run --kestrelTransport Libuv的效果完全一致。因为dotnet run本质是先编译再启动对应dll,而调试配置已经通过preLaunchTask: build完成了编译步骤,所以直接给程序传递参数即可达到相同效果。
内容的提问来源于stack exchange,提问作者richard




