我得到消息'';找不到任务';构建'&引用;当我尝试启动我的C#代码时

我得到消息'';找不到任务';构建'&引用;当我尝试启动我的C#代码时,c#,.net-core,C#,.net Core,我是C#新手,正在学习使用pluralsight 我完全遵循了教程的内容,但遇到了一个教程没有解决的问题 我有一个简单的“Hello World”程序,它是在你通过.Net编写C代码时构建的 在VisualStudio代码中,如果使用启动调试或不使用调试启动,将弹出以下错误 “”找不到任务“生成” 然后,我仍然单击debug,然后出现以下错误 启动:程序目录\.dll不存在 有一个打开launch.json的选项 令人困惑的是,.dll文件确实存在 此外,检查launch.json,我有以下内容

我是C#新手,正在学习使用pluralsight

我完全遵循了教程的内容,但遇到了一个教程没有解决的问题

我有一个简单的“Hello World”程序,它是在你通过.Net编写C代码时构建的

在VisualStudio代码中,如果使用启动调试或不使用调试启动,将弹出以下错误

“”找不到任务“生成”

然后,我仍然单击debug,然后出现以下错误

启动:程序目录\.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}"
    }
  ]
}
{
//使用IntelliSense了解可能的属性。
//悬停以查看现有属性的描述。
//有关更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387
“版本”:“0.2.0”,
“配置”:[
{
“名称”:“.NET核心启动(控制台)”,
“类型”:“coreclr”,
“请求”:“启动”,
“警告01”:“警告”,
“WARNING02”:“C#扩展无法自动解码当前版本中的项目”,
“WARNING03”:“创建可运行的launch.json文件的工作区。模板launch.json文件已存在”,
“WARNING04”:“已创建为占位符。”,
“警告05”:“警告”,
“WARNING06”:“如果OmniSharp当前无法加载您的项目,您可以尝试解决”,
“WARNING07”:“通过还原任何缺少的项目依赖项(例如:运行'dotnet restore'),可以实现此目的。”,
“WARNING08”:“并通过修复在工作区中构建项目时报告的任何错误。”,
“WARNING09”:“如果这允许OmniSharp现在加载您的项目,那么--”,
“警告10”:“*删除此文件”,
“警告11”:“*打开Visual Studio代码命令调色板(视图->命令调色板)”,
“WARNING12”:“*运行命令:'.NET:生成用于生成和调试的资产”。”,
“警告13”:“警告”,
“警告14”:“如果您的项目需要更复杂的启动配置,您可能希望删除”,
“警告15”:“此配置并使用“添加配置…”选择其他模板”,
“警告16”:“此文件底部的按钮。”,
“警告17”:“************************************************************************************************************************************************************************************************************************”,
“预启动任务”:“构建”,
“程序”:“${workspaceFolder}/bin/Debug/.dll”,
“参数”:[“链接”],
“cwd”:“${workspaceFolder}”,
“控制台”:“内部控制台”,
“stopAtEntry”:false
},
{
“名称”:“.NET核心附加”,
“类型”:“coreclr”,
“请求”:“附上”,
processId:“${command:pickProcess}”
}
]
}

在visual studio上,您可以使用c#扩展的生成器构建launch.json和task.json 但是,您还应该使用C#扩展的生成器来生成launch.json和tasks.json。 读这个:做这个。 不过,如果您是c#的初学者,最好使用visual studio。所有工具都是集成的。它不是编辑文本,而是IDE。 但是如果您喜欢visual studio代码,请阅读我发送的文档:)。

简单的方法 在VS代码中,加载代码库后。调出并输入.NET生成用于构建和调试的资源,然后单击return/enter

这将强制VS代码重新创建launch.jsontask.json文件

注意VS代码窗口左下角的toast消息,如下所示:

并确保单击
Yes

复杂的方式 您需要更改
task.json
文件中的行,该行当前显示:

"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
“程序”:“${workspaceFolder}/bin/Debug/.dll”,
将csproj中的
替换为目标框架名字对象,该名字对象可能类似于以下内容:

<TargetFramework>netcoreapp2.1</TargetFramework>
netcoreapp2.1

您还需要将
.dll
字符串替换为您生成的dll的名称。

这听起来可能很奇怪,但在我的情况下,当我点击Ctrl+Shift+B更新Visual Studio代码后,构建操作成功进行。

我遇到了类似的问题,而Jamie Taylor的回答从上世纪年代就没有为我这样做塔特,它一直说“找不到任务‘构建’”,我不能对他的回答发表评论,所以这里是对我有用的

简短回答
在调用
.NET生成用于生成和调试的资源之前,以递归方式删除解决方案根目录中的任何.vscode文件夹(如果有)

长答案
我每次都在OmniSharp日志中查找第一个错误(在输出窗格中,OmniSharp日志下拉列表中):

  • 我的第一个错误是[fail]:找不到回退包文件夹“C:\Microsoft\Xamarin\NuGet”
    • 解决方案=>
      mkdir C:\Microsoft\Xamarin\NuGet\
  • 然后,下一个失败是Omnisharp在恢复我的nuget软件包时遇到问题
    • 解决方案=>my.sln所在的文件夹的cd,名为
      dotnet restore
OmniSharp日志中不再出现故障,但它仍然抱怨构建任务。在我的例子中,我注意到我的解决方案中有两个.vscode文件夹,一个在根目录下,一个在另一个文件夹中:
-全部删除
-调用.NET生成用于生成和调试的资产

它成功地创建了
launch.json
tasks.json


现在我可以正确调试了。

我收到以下消息“找不到.NET核心项目”。选择“为生成和调试生成资产”选项后,未生成资产“”:SI没有任何task.json文件,我该怎么办?@JoyFulCode您需要重新启动