我是C#的新手,正在学习复数视觉
我完全遵循了教程的操作,但是遇到了一个教程没有解决的问题。
当您通过.Net制作C#代码时,我拥有一个简单的“ Hello World”程序
在Visual Studio Code中,如果选择“开始调试”或“不进行调试开始”,则会弹出以下错误消息
''找不到任务'build'“
然后我仍然单击调试,然后出现以下错误
启动:程序目录\ <插入项目名称-此处> .dll不存在 可以选择打开launch.json
令人困惑的是,.dll文件确实存在...
进一步,检查launch.json,我有以下内容:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"WARNING01": "*********************************************************************************",
"WARNING02": "The C# extension was unable to automatically decode projects in the current",
"WARNING03": "workspace to create a runnable launch.json file. A template launch.json file has",
"WARNING04": "been created as a placeholder.",
"WARNING05": "",
"WARNING06": "If OmniSharp is currently unable to load your project, you can attempt to resolve",
"WARNING07": "this by restoring any missing project dependencies (example: run 'dotnet restore')",
"WARNING08": "and by fixing any reported errors from building the projects in your workspace.",
"WARNING09": "If this allows OmniSharp to now load your project then --",
"WARNING10": " * Delete this file",
"WARNING11": " * Open the Visual Studio Code command palette (View->Command Palette)",
"WARNING12": " * run the command: '.NET: Generate Assets for Build and Debug'.",
"WARNING13": "",
"WARNING14": "If your project requires a more complex launch configuration, you may wish to delete",
"WARNING15": "this configuration and pick a different template using the 'Add Configuration...'",
"WARNING16": "button at the bottom of this file.",
"WARNING17": "*********************************************************************************",
"preLaunchTask": "build",
"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
"args": ["link"],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
}
答案 0 :(得分:1)
在VS Code中,加载代码库之后。调出command pallet并输入> .NET Generate Assets for Build and Debug
,然后按回车键/输入。
这将强制VS Code重新创建launch.json
和task.json
文件。
请注意“ VS代码”窗口的左下角,该消息类似于以下内容:
并确保您单击Yes
您需要更改task.json
文件中当前显示为以下行的行:
"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
在您的csproj中用目标框架别名替换<insert-target-framework-here>
,看起来像这样:
<TargetFramework>netcoreapp2.1</TargetFramework>
您还需要用生成的DLL的名称替换<insert-project-name-here>.dll
字符串。
答案 1 :(得分:1)
我有一个类似的问题,杰米·泰勒(Jamie Taylor)的回答从一开始就没有为我做,它一直说“找不到任务'build'”,我无法评论他的回答,所以这是可行的为我。
简短答案
在调用> .NET Generate Assets for Build and Debug
之前,递归删除解决方案根目录中的任何.vscode文件夹。
详细答案
我每次都在OmniSharp日志中(在“输出”窗格中,OmniSharpLog下拉列表中)寻找第一个错误:
mkdir C:\Microsoft\Xamarin\NuGet\
dotnet restore
OmniSharp日志中没有更多的失败,但是它仍然抱怨构建任务。就我而言,我注意到我的解决方案中有两个.vscode文件夹,一个在根目录,一个在另一个文件夹中:
-全部删除
-称为> .NET Generate Assets for Build and Debug
做到这一点并看到它正确创建了launch.json
和tasks.json
。
现在我可以正确调试了。
答案 2 :(得分:0)
这听起来可能很奇怪,但就我而言,在我更新Visual Studio代码后,当我按下 Ctrl + Shift + B 时,构建操作成功完成。
答案 3 :(得分:-1)
在Visual Studio上,您可以使用C#扩展程序的生成器来构建launch.json和task.json 但是,您还应该将C#扩展程序的生成器用于launch.json和task.json。 请阅读:here以执行此操作。 但是,如果您是C#的初学者,那么最好使用Visual Studio。所有工具都是集成的。它不是编辑文本,而是IDE。 但是,如果您喜欢Visual Studio代码,请阅读我发送的文档:)。 visual studio ide