我得到消息'';找不到任务';构建'&引用;当我尝试启动我的C#代码时
我是C#新手,正在学习使用pluralsight 我完全遵循了教程的内容,但遇到了一个教程没有解决的问题 我有一个简单的“Hello World”程序,它是在你通过.Net编写C代码时构建的 在VisualStudio代码中,如果使用启动调试或不使用调试启动,将弹出以下错误 “”找不到任务“生成” 然后,我仍然单击debug,然后出现以下错误 启动:程序目录\我得到消息'';找不到任务';构建'&引用;当我尝试启动我的C#代码时,c#,.net-core,C#,.net Core,我是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.json
和task.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您需要重新启动