2015-07-17 16 views
18

Mam jedno rozwiązanie z 3 projektami WWW, z których 2 chciałbym użyć package.json (nazwy: "Site" i "SatelliteSite"). Są to wszystkie projekty ASP.NET 4, do których instaluję npm/gulp/bower, które działają dobrze dla jednego projektu, dlatego jestem tak zdezorientowany moim problemem.Wiele projektów Visual Studio 2015 npm

Po zapisaniu package.json w jednym z dwóch projektów dziennik menedżera pakietów zgaśnie i uruchomi się npm install. To świetnie, z jednym wyjątkiem.

To, co faktycznie działa, pomimo pobrania zmian w plikach package.json to tylko "Site" package.json. Po ponownym uruchomieniu Visual Studio, to teraz zbiera "SatelliteSite" i działa z tym package.json, co jest wspaniałe, ponieważ mam teraz moje zależności od łyka, ale śmieci, jeśli kiedykolwiek potrzebowałem aktualizacji.

Rozładowanie projektu SatelliteSite nie działa tak, jak podczas zapisywania w witrynie, nadal ładuje SatelliteSite package.json. To prawie tak, jakby "rejestrowało" pierwszy, który widzi, że SatelliteSite ładuje się przed Site, więc po ponownym uruchomieniu, który jest ładowany jako pierwszy) i ignoruje pozostałe, ciągle śledząc zmiany.

Zakładam, że jest to błąd w Visual Studio - ale być może robię coś złego i zastanawiam się, czy ktoś jeszcze napotkał/ma jakieś obejścia?

EDIT: Trochę więcej info, ja przemianowany package.json w SatelliteSite teraz do innej nazwy, a zapisany witryny package.json. Zgłasza ten błąd, co pokazuje, że VS zasadniczo ustawia katalog roboczy dla npm na podstawie pierwszego package.json, z którym się spotyka, niezależnie od projektu.

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

Czy próbowałeś uruchomić w jakiś sposób 'npm update --save', aby zaktualizować zmiany? – juanmajmjr

+0

Aby obejść ten problem, wystarczy dodać cel BeforeBuild z instalacją npm w csproj i będzie działał bez względu na wersję wizualną studia lub msbuild. przywróci wszystkie brakujące pakiety przed wykonaniem kompilacji: I właśnie sprawdziłem to z 2 projektami WWW w tym samym rozwiązaniu w VS 2015 i poszło dobrze –

+0

RC nie zainstalował npm na całym świecie, więc nigdzie nie próbowałbym uruchomić npm z (w tym konsoli programisty). Wygląda na to, że RTM rzeczywiście działa na PATH, więc może być uruchamiany w ten sposób - nie przetestowałem go, jeśli nadal jest uszkodzony w RTM, ale przetestuje i wróci. –

Odpowiedz

6

Z przyjemnością potwierdzam, że problem został rozwiązany w Visual Studio 2015 RTM.

====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==== 
Powiązane problemy