У меня есть одно решение с 3 веб-проектами, 2 из которых я хотел бы использовать package.json
(имена: «Сайт» и «Спутниковая антенна»). Это все проекты ASP.NET 4, в которые я модернизирую npm/gulp/bower, что отлично подходит для одного проекта, поэтому я так запутался в своей проблеме.Несколько проектов Visual Studio 2015 npm
Когда я сохраняю package.json
в любом из двух проектов, журнал диспетчера пакетов отключается и запускается npm install
. Это здорово, за одним исключением.
Что он на самом деле работает, несмотря на то, что изменения в обоих файлах package.json
- это только «сайт» package.json. После перезапуска Visual Studio теперь он собирает «SatelliteSite» и работает с этим package.json
, и это здорово, поскольку теперь у меня есть свои зависимости от глотки, но мусор, если мне когда-либо понадобилось обновлять.
Разгрузка проекта SatelliteSite не работает, так как при сохранении его на Сайте он по-прежнему загружает SatelliteSite package.json
. Это почти похоже на то, что «регистрирует» первый package.json
, который он видит (т.е. загрузка SatelliteSite перед сайтом, поэтому после перезагрузки, который загружается первым) и игнорирует остальные, в то же время отслеживая изменения.
Я предполагаю, что это ошибка в Visual Studio, но, возможно, я делаю что-то неправильно и задаюсь вопросом, столкнулся ли кто-нибудь еще с общими методами?
EDIT: Немного больше информации, я переименовал package.json
в SatelliteSite теперь к другому имени и сохранен Сайту package.json
. Он выдает эту ошибку, которая показывает, что VS в основном устанавливает рабочий каталог для npm на основе первого package.json
, с которым он сталкивается, независимо от проекта.
npm ERR! command "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Web Tools\\External\\\\node\\node" "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Web Tools\\External\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\Development\source\Cedita.Site\Cedita.SatelliteSite
npm ERR! node -v v0.10.31
npm ERR! npm -v 1.4.9
npm ERR! path C:\Development\source\Cedita.Site\Cedita.SatelliteSite\package.json
npm ERR! code ENOPACKAGEJSON
Вы пытались каким-то образом запустить обновление npm --save' для обновления изменений? – juanmajmjr
Для обходного пути просто добавьте цель BeforeBuild с установкой npm в csproj, и она будет работать независимо от версии визуальной студии или msbuild. он восстановит все недостающие пакеты до сборки: И я просто проверил его с двумя веб-проектами в том же решении в VS 2015 и все прошло отлично –
RC не устанавливал npm глобально, поэтому нигде, что я пытался запустить npm из (включая консоль разработчика), на самом деле работало. Кажется, RTM действительно PATH до npm, поэтому он может быть запущен так - я на самом деле не тестировал, если он все еще сломан в RTM, но будет проверяться и возвращаться. –