VSCode调试控制台应用时找不到sln文件,如何指定正确路径?
解决VSCode调试时MSBUILD找不到src下.sln文件的问题
1. 修正launch.json里的路径配置
打开.vscode/launch.json,根据你的.NET版本调整对应字段:
- 若要基于整个解决方案启动,直接添加
solution字段指定src下的sln路径:
{ "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "solution": "${workspaceFolder}/src/你的解决方案名.sln", "project": "${workspaceFolder}/src/控制台项目名/控制台项目名.csproj", "program": "${workspaceFolder}/src/控制台项目名/bin/Debug/netX/控制台项目名.dll", "args": [], "cwd": "${workspaceFolder}/src/控制台项目名", "console": "internalConsole", "stopAtEntry": false } ] }
${workspaceFolder}是VSCode当前工作区的根目录,确保你的工作区是包含src文件夹的上级目录。
2. 同步tasks.json的构建路径
如果调试前的预构建任务(preLaunchTask)是build,同步修正.vscode/tasks.json里的构建路径:
{ "version": "2.0.0", "tasks": [ { "label": "build", "command": "dotnet", "type": "process", "args": [ "build", "${workspaceFolder}/src/你的解决方案名.sln", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary" ], "problemMatcher": "$msCompile" } ] }
3. 更简单的方式:直接打开src作为工作区
不想折腾配置的话,直接关闭当前工作区,打开src文件夹作为VSCode的工作区。此时${workspaceFolder}就是src目录,VSCode会自动识别里面的sln文件,调试时无需额外指定路径。
4. 先验证路径是否有效
在VSCode终端执行dotnet build src/你的解决方案名.sln(工作区是上级目录时),或者dotnet build 你的解决方案名.sln(工作区是src时),确认能正常构建后再启动调试,避免路径写错。
内容的提问来源于stack exchange,提问作者thomasb
相关产品推荐
相关产品推荐

