2015-07-17 3 views
18

У меня есть одно решение с 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 
+0

Вы пытались каким-то образом запустить обновление npm --save' для обновления изменений? – juanmajmjr

+0

Для обходного пути просто добавьте цель BeforeBuild с установкой npm в csproj, и она будет работать независимо от версии визуальной студии или msbuild. он восстановит все недостающие пакеты до сборки: И я просто проверил его с двумя веб-проектами в том же решении в VS 2015 и все прошло отлично –

+0

RC не устанавливал npm глобально, поэтому нигде, что я пытался запустить npm из (включая консоль разработчика), на самом деле работало. Кажется, RTM действительно PATH до npm, поэтому он может быть запущен так - я на самом деле не тестировал, если он все еще сломан в RTM, но будет проверяться и возвращаться. –

ответ

6

Я рад подтвердить, что эта проблема решена в RTM Visual Studio 2015.

====Executing command 'npm install'==== 

npm WARN package.json [email protected] No description 

====npm command completed with exit code 0==== 


====Executing command 'npm install'==== 

npm WARN package.json [email protected] No description 

====npm command completed with exit code 0==== 
Смежные вопросы