Visual Studio 2017在保存时未还原软件包

8
在VS2017中,我有一个快速的node.js“Hello world”项目。node.js的安装模板包括通过一个名为package.json的文件使用NPM。我正在编辑package.json文件以包含新的依赖项。保存package.json后,VS应该安装所有新添加的包。
我从项目模板开始:其他语言\TypeScript\Node.js Project Template: Blank Node.js Web Application 我确认了还原npm包选项已启用,当保存package.json时,它会自动还原npm包。 Tools\Options\Projects and Solutions\Web Package Management\Package Restore 但是,无论我对package.json做出什么更改,VS都不会运行npm并安装缺少的包。而且,如果我构建或运行,VS也不会自动安装缺失的包。我可以右键单击npm并选择安装缺失的程序包,这是有效的。
我错过了什么? enter image description here

这在VS2015中对你有用吗?特别是针对Node.Js项目? - Paul van Brenk
好问题,因为我在VS2015中没有尝试过这个。FYI @jimmy 答案或多或少是肯定的,它可以工作。VS2015没有相同的模板。但是,如果您使用Other Languages\TypeScript模板创建一个新项目,然后添加package.json,它将在保存package.json时添加模块。但是,默认情况下不会将它们包含在项目中。您必须选择新添加的模块并使用上下文菜单将其包含在项目中。 - Bruce C
1个回答

4
在NPM项目中,NPM包的“保存即还原”功能目前无法正常工作。我仍在查找根本问题,但我确实遇到了一个讨论,在这个讨论中,他们(NTVS人员)想要退出Web项目的某些行为。
npm或个别包节点上有一些上下文菜单选项可以还原/更新等操作。您也可以为这些上下文菜单项创建新的键盘快捷方式,但我不知道如何使Ctrl+S起作用。
我正在内部跟进重新审视这些决定,但与此同时,请提供反馈,以便我们有一些客户数据可供参考!

感谢您的跟进。我们一直在使用上下文菜单来安装缺失的软件包。此外,使用构建警报运行构建和/或调试会提示您缺少的软件包,但不会安装它们。 - Bruce C
这个答案当然是正确的,但它让我感到困惑。为了明确,似乎在Visual Studio 2017的node.js项目类型(NTVS)中,这种行为不起作用,但在其他项目类型中它可以正常工作,并且如果你使用新功能来打开Visual Studio中的一个文件夹,也可以正常工作。该行为可以通过OP显示的选项进行禁用。 - Rich N

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接