Visual Studio 2017 年缺少任务运行器配置

Task Runner Configuration Missing in Visual Studio 2017

我刚刚安装了 Visual Studio 2017 并打开了一个我一直在使用 Visual Studio 2015 的解决方案。看起来一切都很好,除了 VS 2017 中的任务运行器资源管理器没有检测到package.json 文件在我的一个项目中,所以它给我消息 "No task runner configurations were found." 我的 package.json 与我的解决方案文件位于同一文件夹中,我通过创建文件将其添加到正确的项目中link。 VS 2015 对此没有问题,我不确定 VS 2017 为何如此或如何修复它。

我在 Visual Studio 商城中找到 NPM Task Runner extension 解决了我的问题。安装后,package.json 文件出现在 Task Runner Explorer 中。

此外,不要忘记通过进入“选项”>“外部 Web 工具”并将 $(PATH) 移到列表中,将您的系统路径设置为外部 Web 工具的最高优先级。在我也这样做之前,我的 npm 脚本一直失败。

Task Runner Explorer 可以通过菜单 View > Other Windows > Task Runner Explorer.

找到

这就是您找到它的方式,或者您可以使用右上角的搜索 window 并搜索 Task Runner,它就会出现。

如果 "Microsoft ASP.NET and Web Tools" 扩展被禁用,Task Runner Explorer 不会显示在 "View/Other Windows/Task Runner Explorer" 菜单中。但是,如果启用它并禁用 "Microsoft Azure App Service Tools" 扩展,则 Task Runner Explorer 将出现在 "View/Other Windows" 菜单中,但不会工作。

所以答案如下:"Microsoft ASP.NET and Web Tools" 和 "Microsoft Azure App Service Tools" 扩展都应该启用,Task Runner Explorer 才能工作。 在 Visual Studio Community 2017 版本 15.2 (26430.16)

上测试

您可以只安装 Bundler & Minifier VS 扩展。您可以从 VS 工具 > 扩展和更新安装它。

这是一个上下文菜单选项。如果您在 visual studio 2017 中突出显示了 bundleconfig.json(或其他适当的内容),您将在工具中看到它,如果您没有...那么它将始终在 view/other 中windows

我在尝试 this introductory Typescript tutorial 时遇到了类似的问题。 运行 任务 运行ner 资源管理器的选项不存在,而我认为它应该存在。

这个解决方案很奇怪,但它奏效了。我要处理的文件在子文件夹中,如下所示:

注意右键菜单中缺少 'Task Runner Explorer'。

然后我将文件移动到项目的主文件夹中:

现在它按预期工作了。

更新快:

如果图像停止显示(这似乎是某些答案的问题):

解决方法是将文件放在项目的根文件夹中

如果你来到这里是因为你的 webpack.config.js 没有出现在 Task Runner Explorer 中,那是因为默认情况下不支持 webpack。

您必须从 Visual Studio 中的扩展和更新 window 安装 Mads Kristensen 的 WebPack Task Runner

或者安装 Web Essentials 2017,其中包括 WebPack Task Runner,以及来自 Mads 的许多其他很棒的工具。

虽然我已经成功地将 Task Runner Explorer 用于其他项目,但即使是昨晚,今天 (11/17/2018) 突然停止工作。解决方案是转到 Tools->Extensions And Updates 并在(右上角)搜索 NPM Task Runner,当它找到该扩展名时,我单击它旁边的 Enable 按钮。它给了我一个警告,我需要关闭并重新打开 Visual Studio 2017,当我这样做时,package.json 中的 BeforeBuild-vs-binding 开始工作,并且项目在Task Runner Explorer 看起来正确并再次开始工作。

如果您已经 运行 Mads' Webpack Task Runner 并且仍然没有看到任务,请注意插件只识别名为 webpage.config.js[=16= 的文件]

如果您将其命名为任何其他名称 - 例如 webpack.MyProject.js - 那么 Task Runner 将不会显示您的任务。