Если вы обновляетесь до Visual Studio 2017 (подойдет бесплатная версия Community Edition), тогда команда VS добавила возможность останавливать запуск npm при открытии проекта. Он находится в разделе Инструменты / Параметры / Проекты и решения / Управление веб-пакетами / Восстановление пакета. Вы можете отключить восстановление NPM (и Bower) в Project Open и в package.json Save отдельно.
Также обратите внимание, что для типов проектов node.js (NTVS) в настоящее время в VS2017 полностью отключено только автоматическое восстановление пакетов.
Изменить: приведенный выше ответ также относится к Visual Studio 2019. Параметры меню находятся в том же месте, хотя поддержка Bower устарела.
Попробуй это:
Не похоже, что закрывать решение и т. Д. Необходимо. Функциональность NPM и Bower теперь отключена в VS, но будет нормально работать в командной строке (при условии, что вы глобально установили npm, bower и т. Д.). В окне вывода могут появляться сообщения об ошибках, но не ошибки сборки или предупреждения.
Чтобы восстановить нормальную работу, вернитесь во Внешние веб-инструменты и нажмите «Восстановить настройки по умолчанию» в правом нижнем углу.
Я не пробовал это с публикацией - вам, возможно, придется восстановить значения по умолчанию для успешной публикации, попробуйте, если вы столкнетесь с ошибками в этот момент.
источник
В обновлении 2 Visual Studio 2015 эта проблема устранена! Установите Обновление 2, и все будет в порядке.
Прямая загрузка: http://go.microsoft.com/fwlink/?LinkId=691129
Примечания к выпуску обновления 2: https://www.visualstudio.com/news/releasenotes/vs2015-update2-vs
Изменить : « фиксированный » может быть не совсем точным и не может быть полностью исправлен для всех пользователей. Может быть, мы сможем определить, что переживают все. Чтобы уточнить, мой опыт был следующим:
По моему опыту, VS после патча после открытия .sln запускает npm install, если какая-либо из зависимостей в package.json отсутствует в папке node_modules (или если сама папка отсутствует).
Вы не можете отключить «npm install», поэтому «fixed» может быть не совсем правильным, однако он не делает это при каждом запуске, как раньше, поэтому я считаю это победой. Могут ли люди подтвердить, что это такое поведение, или мы наблюдаем другое поведение?
источник