【问题标题】:No task runner configurations are found?没有找到任务运行器配置?
【发布时间】:2019-12-17 03:21:29
【问题描述】:

我有(新安装的)Visual Studio Professional 2017 (V 15.9.4),带有多个项目的 Visual Studio solution,单个 .sln 文件和 package.jsons 各自项目文件夹中的项目 @987654331 @、exampleCoorp.UI 等。前端项目用 React 编写,其他项目用 C# 编写。

当我导航到 View > Other Windows > Task Runner Explorer(最初由 Mads Kristens 开发,请参阅 marketplace.visualstudio.com)。由于我们也有 React 部分,所以我也安装了扩展程序 NPM Task Runner

我预计会出现以下情况(来自我的队友的屏幕截图,我遵循了他们的项目设置说明):

但是,对我来说实际结果看起来不同:

我必须理解的错误来自显示的 Visual Studio 面板:

未找到任务运行器配置。

但是为什么呢?更重要的是,我该如何解决?有解决方法吗?

只有一个 google-hit [developercommunity.visualstudio.com] 声称(唯一?)原因可能是错误放置的 package.json 文件:

这两个问题都是由 Visual Studio 的 NPM 集成不支持位于子文件夹而不是项目根目录中的 package.json 文件引起的。微软自己的官方 Angular 项目模板要求 package.json 放在 /ClientApp 子文件夹中,这不会改变。

这显然不是我的问题。任何帮助提示表示赞赏!

【问题讨论】:

  • 包含package.json文件的文件夹是否也是每个子项目的根文件夹(包含.csproj文件的文件夹)?
  • 如果您询问是否所有子项目(位于子文件夹中)都包含一个package.json 文件?不,这两个启动项目中只有一个有这个文件,但它们都有一个package.config 文件。

标签: reactjs visual-studio npm webpack


【解决方案1】:

NPM Task Runner 扩展只会查找 Visual Studio 项目文件夹 包含“package.json”文件的任务。如果此文件位于子文件夹(或父文件夹,即使您认为这是主“项目”文件夹),您将不会在 Task Runner Explorer 中看到这些任务。

提问者使用“项目”一词来表示两种不同的事物。他说他有一个“带有多个子项目的 React 项目”。 “Visual Studio 项目”不能有“子项目”,所以我想知道 package.json 文件到底在哪里。 [他随后更改了措辞,但我认为这可能是最有可能出现问题的原因。]

如果您在 VS 项目文件夹之一中创建 package.json 文件,您将立即看到 TR Explorer 将该项目添加到其下拉列表中,您可以选择在 TR Explorer 中查看其任务。您不需要重新启动 VS,甚至不需要重新构建。

SPA 模板创建了一些项目,将客户端代码放在项目文件夹的子文件夹中。例如,“dotnet new angular”将客户端代码及其 package.json 文件放在子文件夹“ClientApp”中。在这种情况下,如果您想从 TR Explorer 访问这些任务,您需要执行以下操作: 在 VS 项目文件夹中创建一个 package.json 文件,该文件将代理您要使用的那些。例如:

{
  "scripts": {
    "serve": "cd ClientApp && npm run serve",
    "build": "cd ClientApp && npm run build"
  },
  "-vs-binding": {
    "BeforeBuild": [
      "build"
    ]
  }
}

【讨论】:

  • 但是 package.json 最初在哪个文件夹中?如果它在 VS 项目文件夹中,您应该不会遇到此问题。哪个标记为启动都没有关系。
  • 抱歉耽搁了。我在 UI 项目文件夹中只有一个 package.json,所有其他项目(在 C# 中)都有 packages.config。父文件夹仅包含 .sln 文件(以及所有项目子文件夹)。
  • @B--rian 当您编辑问题时,您删除了这是您拥有的 React 项目这一事实。这也可能是相关的,具体取决于您如何创建 VS 项目来包含它。
  • Dankeschön!我再次放回该信息以及提示,即 NPM Task Runner 也已安装。如果您不介意,您可以编辑您的答案,使其适合我更新的问题(我更正了我之前对 project 的不精确用法)。
【解决方案2】:

在我执行以下步骤后,Task Runner Explorer 最终会正常工作(无特定顺序):

  • 我将我的两个子项目标记为启动项目,其中一个在子文件夹(本质上是该子项目的根文件夹)中有一个package.json

    李>
  • 我(重新)安装了NPM Task Runner,然后重新启动了 Visual Studio。

  • 我的同事也建议重新启动机器,但我不确定这是否必要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2020-10-30
    • 1970-01-01
    相关资源
    最近更新 更多