Visual Studio 代码调试器:launch.json 属性 'program' 无效
Visual Studio Code debugger: launch.json The property 'program' is invalid
1. 设置:我已经在我的 Ubuntu 上安装了 Visual Studio 代码,并安装了 .NET Core 和 Mono。
2. 初始配置:我创建了一个简单的演示应用程序 运行 notnet restore
和 dotnet run
。这可以正常工作并在终端上显示 "Hello World!"。
3. 扩展:为了调试它,我安装了 OmniSharp 的扩展。然后使用 Visual Studio 代码的 "Debugger" 选项,我添加了 launch.json & task.json .
4. launch.json(仅显示配置部分):
....
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceRoot}/bin/Debug/netstandardapp1.5/hwAppCore2.dll",
"args": [],
"cwd": "${workspaceRoot}",
"stopAtEntry": false
}
....
5. 现在,当 运行 来自终端时它工作正常,但是当尝试使用选项 进行调试时。NET Core Launch(控制台) 我收到以下错误:
"launch: The property 'program' is invalid. '/home/ak/dotnet_core/hwAppCore2/bin/Debug/netstandardapp1.5/hwAppCore2.dll' is a library (.dll), not a program."
我也关注了 Channel 9 demo 中的一个,在那里我也可以看到 hwapp.dll 为 launch.json[=46= 的程序 属性 配置]
我不确定,我是否缺少任何配置?
我在 OmniSharp on GitHub 提出问题后得到了解决方案。
@gregg-miskelly 提供的解决方案路径,每日构建遵循路径 1 以获得我的问题的确切答案,推荐构建的路径 2 与之前一样有效评论。
要使用 VS Code 调试 .NET Core 网站,您必须跳过几个环节。相关步骤(来自this blog post walkthrough)是:
- 安装 C# extension 和 .NET 调试器 (Ctrl + Shift + P, "Download .NET Core Debugger")
- 打开您的项目文件夹 - 它会提示您添加构建任务
- (创建
.vscode > tasks.json
)
- 从侧边栏打开“调试”选项卡,单击 'Settings' 按钮,然后选择“.NET Core”
- (创建
.vscode > launch.json
)具有 3 种配置 - "console"、"web" 和 "attach".
- 打开
launch.json
文件并编辑 "web" 配置的 program
值 - 将 <>
占位符替换为您的特定值(例如 netcoreapp1.0
和 MyProject.dll
).
- (这是 OP 需要执行的步骤)
- 出于某种原因,VS Code 不处理 Web 项目的占位符...我还没有找到任何文档/解释为什么
- 编辑
project.json
文件 - 在 buildOptions
下,添加 "debugType" : "portable"
- 运行
dotnet restore
在你的项目上获取最新的包
- 开始调试!
1. 设置:我已经在我的 Ubuntu 上安装了 Visual Studio 代码,并安装了 .NET Core 和 Mono。
2. 初始配置:我创建了一个简单的演示应用程序 运行 notnet restore
和 dotnet run
。这可以正常工作并在终端上显示 "Hello World!"。
3. 扩展:为了调试它,我安装了 OmniSharp 的扩展。然后使用 Visual Studio 代码的 "Debugger" 选项,我添加了 launch.json & task.json .
4. launch.json(仅显示配置部分):
....
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceRoot}/bin/Debug/netstandardapp1.5/hwAppCore2.dll",
"args": [],
"cwd": "${workspaceRoot}",
"stopAtEntry": false
}
....
5. 现在,当 运行 来自终端时它工作正常,但是当尝试使用选项 进行调试时。NET Core Launch(控制台) 我收到以下错误:
"launch: The property 'program' is invalid. '/home/ak/dotnet_core/hwAppCore2/bin/Debug/netstandardapp1.5/hwAppCore2.dll' is a library (.dll), not a program."
我也关注了 Channel 9 demo 中的一个,在那里我也可以看到 hwapp.dll 为 launch.json[=46= 的程序 属性 配置]
我不确定,我是否缺少任何配置?
我在 OmniSharp on GitHub 提出问题后得到了解决方案。
@gregg-miskelly 提供的解决方案路径,每日构建遵循路径 1 以获得我的问题的确切答案,推荐构建的路径 2 与之前一样有效评论。
要使用 VS Code 调试 .NET Core 网站,您必须跳过几个环节。相关步骤(来自this blog post walkthrough)是:
- 安装 C# extension 和 .NET 调试器 (Ctrl + Shift + P, "Download .NET Core Debugger")
- 打开您的项目文件夹 - 它会提示您添加构建任务
- (创建
.vscode > tasks.json
)
- (创建
- 从侧边栏打开“调试”选项卡,单击 'Settings' 按钮,然后选择“.NET Core”
- (创建
.vscode > launch.json
)具有 3 种配置 - "console"、"web" 和 "attach".
- (创建
- 打开
launch.json
文件并编辑 "web" 配置的program
值 - 将<>
占位符替换为您的特定值(例如netcoreapp1.0
和MyProject.dll
).- (这是 OP 需要执行的步骤)
- 出于某种原因,VS Code 不处理 Web 项目的占位符...我还没有找到任何文档/解释为什么
- 编辑
project.json
文件 - 在buildOptions
下,添加"debugType" : "portable"
- 运行
dotnet restore
在你的项目上获取最新的包 - 开始调试!