【发布时间】:2016-05-22 15:50:42
【问题描述】:
我已经在 vscode 中设置了我的项目,其中包含一个定义子项目的 global.json 根“解决方案”。这些目前是我的网络应用程序和类库。
效果很好,我在根目录下设置了以下 launch.json 以尝试调试我的网络应用程序:
{
"version": "0.2.0",
"configurations": [
{
"name": "WebApp",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "",
"program": "${workspaceRoot}/WebApp/bin/Debug/netcoreapp1.0/WebApp.dll",
"args": [],
"cwd": "${workspaceRoot}/WebApp/",
"stopAtEntry": false,
"launchBrowser": {
"enabled": true,
"args": "${auto-detect-url}",
"osx": {
"command": "open"
}
}
}
]
}
我有两个问题。
我不得不删除 preLaunchTask 构建,因为它试图从根目录构建。不理想,但我可以先手动构建来解决这个问题。
当调试器启动时,它无法找到源代码,因为它在根目录中查找,而不是在子项目中。这是一个显示停止器,因为如果没有加载源,我根本无法使用断点。
有没有办法解决这些问题?
更新:2016 年 8 月 9 日
我将问题直接提交给 Omnisharp 并进一步了解,能够在一个解决方案下调试应用程序和单独的库。不过,在一个解决方案下的多个可执行项目上还没有完全中奖。不幸的是,我不再从事该项目,但希望这可以帮助某人找到一个完整的解决方案。
讨论和代码示例链接:https://github.com/OmniSharp/omnisharp-vscode/issues/460#issuecomment-228392486
【问题讨论】:
-
我也遇到了同样的问题,你有没有找到解决办法?
-
@chris 很遗憾没有,我在这里也有一个持续的讨论:forums.dotnetfoundation.org/t/…(见 cmets)。如果我找到解决方法但看起来不太可能,我会在此处更新帖子。