microsoft / nodejstools

Node.js Tools for Visual Studio
http://aka.ms/explorentvs
Apache License 2.0
1.8k stars 359 forks source link

AnalysisIgnoredDirectories not working for sub-directories that have their own node_modules. #316

Closed ghost closed 9 years ago

ghost commented 9 years ago

VS2015 RTM start having a really tough time ever since I added a demo folder to my project. Inside demo there are 2 sub-directories that each have their own package.json file, so my .ntvs_analysis.dat has doubled and VS crashes if I run npm install on one of those sub-projects while VS is running. It also takes at least a minute or two to open the project.

The demo folder and it's descendants are not part of the nsproj file, I have excluded them from the project, but the problems continue. I am tempted to move the sub-projects into their own repo just so that I can continue using VS, but I'd rather not. Thanks.

UPDATE: I am using VS2015 Community RTM (which I upgraded from RC) and currently have the NTVS 1.1 RC installed. All of the issues that I have are with my project, staticbuild which is on the exact commit of v0.6.1 at this time.

ghost commented 9 years ago

I guess the crashing is coming from this particular line which is in both of the sub-projects' package.json files, which causes the demo sub-project to depend on the parent project:

"devDependencies": {
  ...
  "staticbuild": "file:../../",
  ...
}
ghost commented 9 years ago

OK, I found the answer here. Thanks again!

ghost commented 9 years ago

After finding the answer about AnalysisIgnoredDirectories and applying it, the problems continue. Here is what I tried putting into the nsproj file in my project:

<AnalysisIgnoredDirectories>bower_components;demo</AnalysisIgnoredDirectories>

(That went inside a PropertyGroup of course.) This made no difference. Removing the node_modules directories from demo\jade and demo\nunjucks is the only thing that worked at this point.

You can see in this screenshot that the directory is not being ignored:

2015-07-25 13_49_48-resource monitor

ghost commented 9 years ago

Next, I tried adding the following to the nsproj file:

<AnalysisIgnoredDirectories>bower_components;demo;demo\jade\node_modules;demo\nunjucks\node_modules</AnalysisIgnoredDirectories>

This did not work either. Here is the screenshot of this attempt:

2015-07-25 14_18_13-resource monitor

mousetraps commented 9 years ago

Thx for reporting this. Unfortunately I can't reproduce the issue with the project you linked to.

AnalysisIgnoredDirectories is a basic check for whether the string contains the directories, so if you specify "demo" every filepath containing "demo" will be ignored. https://github.com/Microsoft/nodejstools/blob/master/Nodejs/Product/Nodejs/Project/NodejsProjectNode.cs#L568-L572

A few things to check for:

kant2002 commented 9 years ago

As alternative, did you try to delete .ntvs_analysis.dat after you add folders to the AnalysisIgnoredDirectories?

ghost commented 9 years ago

Hi thanks for taking a look. The only way to reproduce it, is to run npm install inside of demo/jade or demo/nunjucks. Then open up the main project with VS2015. Alternatively, run npm install in those directories while VS2015 has the project open, at which point it should crash.

I will gather the diagnostics sometime today or tomorrow.

ghost commented 9 years ago

Here is the info from Node.js -> Diagnostics Info. This is from opening staticbuild.sln with VS2015 after demo/jade/node_modules and demo/nunjucks/node_modules was already full of npm packages.

Use Ctrl-C to copy contents

Projects: 
    Project: staticbuild.njsproj
        Kind: Node.js
        StartupFile: E:\devoptix\staticbuild\bin\staticbuild
        WorkingDirectory: .
        PublishUrl: <undefined>
        SearchPath: <undefined>
        CommandLineArguments: <undefined>
Analysis Log: 
[TS] 624760.2246, 00:10:24.7602246
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\omit.js, 24499
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\pickByArray.js, 24498
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\omit.js, 24499
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\omit.js, 24498
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\pickByCallback.js, 24497
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\shimKeys.js, 24496
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\shimKeys.js, 24497
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\shimKeys.js, 24496
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\equalObjects.js, 24495
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\equalObjects.js, 24496
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\assignWith.js, 24495
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\assignWith.js, 24496
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseMerge.js, 24495
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseMerge.js, 24496
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseMerge.js, 24497
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseMerge.js, 24498
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\arrayEach.js, 24497
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseMerge.js, 24498
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\result.js, 24497
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\result.js, 24498
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\array\last.js, 24499
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\has.js, 24498
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\has.js, 24499
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\math\sum.js, 24498
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\math\sum.js, 24499
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\transform.js, 24498
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseForOwn.js, 24497
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\arrayEach.js, 24496
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\transform.js, 24497
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\isNumber.js, 24496
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\string\trunc.js, 24495
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\isRegExp.js, 24494
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\string\trunc.js, 24495
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\keys.js, 24494
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\keys.js, 24495
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\keys.js, 24494
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseAssign.js, 24495
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseAssign.js, 24496
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseAssign.js, 24497
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\mixin.js, 24498
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\values.js, 24499
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\pairs.js, 24498
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\pairs.js, 24499
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\collection\size.js, 24498
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\values.js, 24497
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\isEmpty.js, 24496
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\isEmpty.js, 24495
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseAssign.js, 24494
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\keys.js, 24495
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\shimKeys.js, 24496
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\isNative.js, 24495
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseForOwnRight.js, 24494
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseForOwn.js, 24493
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseForOwn.js, 24492
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\assign.js, 24491
[TS] 624869.6058, 00:10:24.8696058
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\assign.js, 24492
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\extend.js, 24493
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24492
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24491
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\identity.js, 24490
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24489
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24488
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24487
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24486
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24485
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\identity.js, 24484
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24483
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24482
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\bindCallback.js, 24481
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\initCloneArray.js, 24480
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\initCloneObject.js, 24479
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\clone.js, 24478
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\matches.js, 24477
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\matchesProperty.js, 24476
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\cloneDeep.js, 24475
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\initCloneByTag.js, 24474
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseForOwn.js, 24473
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\assign.js, 24472
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseClone.js, 24471
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseClone.js, 24472
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\clone.js, 24473
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\matches.js, 24474
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\matches.js, 24475
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseClone.js, 24476
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\utility\matchesProperty.js, 24477
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\lang\cloneDeep.js, 24478
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseCreate.js, 24477
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\LazyWrapper.js, 24476
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\LazyWrapper.js, 24477
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseCreate.js, 24478
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\createCtorWrapper.js, 24477
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\createCtorWrapper.js, 24478
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\create.js, 24477
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\LodashWrapper.js, 24476
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\LodashWrapper.js, 24477
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\pickByArray.js, 24476
[E] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\object\pick.js, 24477
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseEvery.js, 24476
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\internal\baseEvery.js, 24475
[D] E:\devoptix\staticbuild\demo\jade\node_modules\lodash\collection\forEach.js, 24474

Logged events/stats:
    Analysis Level: High
    SurveyNewsFrequency: CheckOnceWeek
    Debug Launches: 0
    Normal Launches: 0

Loaded assemblies:
  AjaxMin, Version=5.14.5506.26196, Culture=neutral, PublicKeyToken=21ef50ce11b5d80f, FileVersion=(null)
  Anonymously Hosted DynamicMethods Assembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=(null)
  BundlerMinifierVsix, Version=1.0.42.0, Culture=en-US, PublicKeyToken=null, FileVersion=1.0.42
  ConfOxide, Version=1.4.2.0, Culture=neutral, PublicKeyToken=934faed64f82030e, FileVersion=1.4.2.0
  CustomMarshalers, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  EditorConfigPlugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=1.0.0.0
  EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  FileNesting, Version=2.1.2.0, Culture=neutral, PublicKeyToken=null, FileVersion=2.1.2
  GuardMethodAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=(null)
  log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, FileVersion=1.2.10.0
  MetadataViewProxies_7f0b6696-7492-47fe-a7e6-698a986dddf2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=(null)
  MetadataViewProxies_f5c6b5b0-ac37-4e66-8911-cefedd558bff, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=(null)
  Microsoft.ApplicationInsights, Version=0.17.0.7329, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=0.17.0.7329
  Microsoft.ApplicationInsights.PersistenceChannel, Version=0.17.0.7338, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=0.17.0.7338
  Microsoft.ApplicationInsights.UniversalTelemetryChannel, Version=0.17.0.7339, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=0.17.0.7339
  Microsoft.AspNet.Scaffolding.12.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.AspNet.Scaffolding.EntityFramework.12.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.AspNet.Scaffolding.VSExtension.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.AspNet.SignalR.Client, Version=2.1.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=2.1.30912.170
  Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.Build.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.Build.Utilities.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  Microsoft.Data.Entity.Design.BootstrapPackage, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.40302.0
  Microsoft.Data.Tools.Schema.Sql, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=12.0.3021.1
  Microsoft.Diagnostics.Tracing.EventSource, Version=1.1.16.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.16.0
  Microsoft.GeneratedCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=(null)
  Microsoft.GeneratedCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=(null)
  Microsoft.IdentityModel.Clients.ActiveDirectory, Version=2.16.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=2.16.20422.1202
  Microsoft.Internal.VisualStudio.UserNotifications, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.JavaScript.Services, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.Management.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.16384
  Microsoft.MSXML, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.NodejsTools, Version=1.0.2015.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.30716.01
  Microsoft.NodejsTools.Analysis, Version=1.0.2015.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.30716.01
  Microsoft.NodejsTools.InteractiveWindow, Version=1.0.2015.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.30716.01
  Microsoft.NodejsTools.Npm, Version=1.0.2015.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.30716.01
  Microsoft.NodejsTools.ProjectWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.30716.01
  Microsoft.PowerShell.Commands.Diagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.16384
  Microsoft.PowerShell.Commands.Management, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.17399
  Microsoft.PowerShell.Commands.Utility, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.17399
  Microsoft.PowerShell.ConsoleHost, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.17399
  Microsoft.PowerShell.Security, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.17399
  Microsoft.SmartDevice.Connectivity, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.SmartDevice.ConnectivityWrapper.11, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.SmartDevice.ConnectivityWrapper.12, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.SmartDevice.MultiTargeting.Connectivity, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.TeamFoundation.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23102.0
  Microsoft.TeamFoundation.VersionControl.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23102.0
  Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.0.168.0
  Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.0.168.0
  Microsoft.VisualStudio, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.AppDesigner, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Azure.CommonAzureTools.Utilities, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.3.30619.1602
  Microsoft.VisualStudio.Azure.Services.Utilities, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.3.30604.1604
  Microsoft.VisualStudio.CommandBars, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.CommonIDE, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ComponentModelHost, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ComponentModelHost.Implementation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Composition, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.50609.1
  Microsoft.VisualStudio.Composition.Configuration, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.50609.1
  Microsoft.VisualStudio.ConnectedServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=2.0.50624.6
  Microsoft.VisualStudio.ConnectedServices.Package2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=2.0.50624.6
  Microsoft.VisualStudio.CoreUtility, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Data.Core, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=9.0.21022.8
  Microsoft.VisualStudio.Data.Framework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Data.Host, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Data.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Data.Package, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Data.Services, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=9.0.21022.8
  Microsoft.VisualStudio.Data.Tools.Package, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.50717.0
  Microsoft.VisualStudio.DataDesign.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.DataDesign.DataSetDesigner, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.DataDesign.Interfaces, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Debugger.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Debugger.InteropA, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Design, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Designer.Interfaces, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.DeviceConnectivity.Interop.11.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Diagnostics.Assert, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Diagnostics.Measurement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Diagnostics.PerformanceProvider, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Diagnostics.ServiceModelSink, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Editor, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Editor.Implementation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Editors, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ErrorListPkg, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ExtensibilityHosting, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ExtensionManager, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ExtensionManager.Implementation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ExtensionsExplorer, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.GraphModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.GraphProviderPackage, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Html.Package, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.IDE.ToolboxControlsInstaller, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ImageCatalog, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Imaging, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Imaging.resources, Version=14.0.0.0, Culture=en, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.JavaScript.Project, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.JavaScript.Web.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.JSLS, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Language.Intellisense, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.LanguageServices.SolutionExplorer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=1.0.0.50618
  Microsoft.VisualStudio.Licensing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ManagedInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=8.0.50727.42
  Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Platform.AppDomainManager, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Platform.VSEditor, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Platform.VSEditor.Interop, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Platform.WindowManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Platform.WindowManagement.resources, Version=14.0.0.0, Culture=en, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ProductKeyDialog, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ProductKeyDialog.resources, Version=14.0.0.0, Culture=en, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Progression.CodeSchema, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Progression.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Progression.DataManager, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Progression.Interfaces, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ProjectAggregator, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.ProjectSystem.DNX.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.ProjectSystem.V14Only, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.50616.2
  Microsoft.VisualStudio.ServerExplorer, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.ServiceModel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Services.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23102.0
  Microsoft.VisualStudio.Services.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23102.0
  Microsoft.VisualStudio.Services.WebApi, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23102.0
  Microsoft.VisualStudio.Shell.10.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.11.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.12.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.Connected, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.Connected.resources, Version=14.0.0.0, Culture=en, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.Design, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=10.0.30319.1
  Microsoft.VisualStudio.Shell.Immutable.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=11.0.50727.1
  Microsoft.VisualStudio.Shell.Immutable.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=12.0.21005.1
  Microsoft.VisualStudio.Shell.Immutable.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Shell.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Shell.Interop.11.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Shell.Interop.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Shell.TreeNavigation.GraphProvider, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.TreeNavigation.HierarchyProvider, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.UI.Internal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.UI.Internal.resources, Version=14.0.0.0, Culture=en, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.ViewManager, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Shell.VsHub.Immutable, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.TaskRunnerExplorer, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.TaskRunnerExplorer.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Telemetry, Version=14.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.1.273.6697
  Microsoft.VisualStudio.Telemetry.Package, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.TemplateWizardInterface, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=8.0.50727.42
  Microsoft.VisualStudio.Text.Data, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Text.Internal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Text.Logic, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Text.UI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Text.UI.Wpf, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.TextManager.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.TextManager.Interop.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.TextManager.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Threading, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.50609.2
  Microsoft.VisualStudio.Toolbox, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Toolbox.resources, Version=14.0.0.0, Culture=en, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Utilities, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Validation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.50612.1
  Microsoft.VisualStudio.VSHelp, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.VSHelp80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  Microsoft.VisualStudio.Web, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Web.Application, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Web.BrowserLink.12.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Web.Extensions.Common, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Web.HTML, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Web.HTML.Implementation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Web.Internal.Contracts, Version=2.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=2.3.60626.0
  Microsoft.VisualStudio.Web.PackageManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Web.PageInspector.Package, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Web.PasteJson, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Web.Project, Version=2.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=2.3.60626.0
  Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Web.Publish, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.Web.Publish.Contracts, Version=2.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=2.3.60626.0
  Microsoft.VisualStudio.Web.PublishContract, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VisualStudio.Web.WindowsAzure.Contracts, Version=2.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=2.3.60626.0
  Microsoft.VisualStudio.Web.WindowsAzure.Explorer, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.0.10930.1602
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.1.1, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.20507.1601
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.1.2, Version=1.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.2.20710.1601
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.1.3, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.3.21031.1601
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.1.4, Version=1.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.4.30416.1601
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.1.5, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.5.30619.1602
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.Internal, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.0.30619.1602
  Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Package, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.5.30619.1602
  Microsoft.VisualStudio.WindowsAzure.Services.Common, Version=1.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.4.30611.1601
  Microsoft.VisualStudio.WindowsAzure.Services.Package, Version=1.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.4.30611.1601
  Microsoft.VSDesigner, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VSDesigner.BootstrapPackage, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VsHub.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.VsHub.Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23107.0
  Microsoft.Web.Design.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.23010.0
  Microsoft.Web.Editor, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=14.0.60626.0
  Microsoft.WSMan.Management, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.16384
  mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, FileVersion=6.0.4.17603
  PowerShellTools, Version=3.0.134.0, Culture=neutral, PublicKeyToken=32cd18849a3a99f8, FileVersion=3.0.134
  PowershellTools.Common, Version=3.0.134.0, Culture=neutral, PublicKeyToken=32cd18849a3a99f8, FileVersion=3.0.134
  PowerShellTools.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=32cd18849a3a99f8, FileVersion=1.0.0.0
  PowerShellTools.Repl, Version=3.0.134.0, Culture=neutral, PublicKeyToken=32cd18849a3a99f8, FileVersion=3.0.134
  PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  PresentationFramework.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  PresentationFramework-SystemData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.0.30319.33440
  PresentationFramework-SystemXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.0.30319.33440
  PresentationFramework-SystemXmlLinq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.0.30319.33440
  RegistryTools, Version=1.4.5652.11284, Culture=neutral, PublicKeyToken=8cfc085d5269c705, FileVersion=(null)
  SMDiagnostics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  SnippetDesigner, Version=1.4.5652.11285, Culture=neutral, PublicKeyToken=8cfc085d5269c705, FileVersion=(null)
  SnippetLibrary, Version=1.3.5652.11284, Culture=neutral, PublicKeyToken=8cfc085d5269c705, FileVersion=(null)
  System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Collections.Concurrent, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.Collections.Immutable, Version=1.1.36.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=1.1.36.0
  System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.0.30319.33440
  System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Diagnostics.Tracing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Drawing.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Dynamic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=6.3.9600.17400
  System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Runtime.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Runtime.Serialization.Formatters.Soap, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.ServiceModel.Internals, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  System.Threading.Tasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.0.30319.33440
  System.Threading.Tasks.Dataflow, Version=4.5.24.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.5.24.0
  System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=4.6.81.0
  System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.6.81.0
  System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, FileVersion=4.0.30319.33440
  UIAutomationProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.0.30319.33440
  UIAutomationTypes, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  VSLangProj, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  VSLangProj110, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  VSLangProj2, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  VSLangProj80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  VsWebSite.Interop, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, FileVersion=(null)
  WebCompiler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=1.0.0.0
  WebCompilerVsix, Version=1.0.73.0, Culture=en-US, PublicKeyToken=null, FileVersion=1.0.73
  WebEssentials2015, Version=0.5.0.0, Culture=neutral, PublicKeyToken=null, FileVersion=0.5
  WebMarkupMin.Core, Version=0.9.11.0, Culture=neutral, PublicKeyToken=99472178d266584b, FileVersion=0.9.11.0
  WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0
  WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, FileVersion=4.6.81.0

Analysis Level: High

Intellisense Completion Committed By: {}[]().,:;+-*/%&|^!~=<>?@#'"\
ghost commented 9 years ago

I do not have Resharper installed, I just put that in .gitignore for users who do have it installed.

ghost commented 9 years ago

By the time I forcefully exited VS2015 from the above session with the Node.js Diagnostics info, it was using 1.7GB of RAM and .ntvs_analysis.dat.tmp was not finished being created.

Next, I will reproduce the other issue which is VS2015 crashing after I run npm install in the demo projects.

ghost commented 9 years ago

To prepare for the next repro, I am deleting demo/jade/node_modules and demo/nunjucks/node_modules while leaving ~/node_modules intact. I have also deleted .ntvs_analysis.* and the .vs hidden directory. There is no obj directory at this time.

ghost commented 9 years ago

I have opened the staticbuild.sln and then in a cmd prompt run npm install in demo\jade. VS2015 did not crash this time, but it did start working immediately upon starting the npm command.

2015-07-26 15_34_16-task manager

ghost commented 9 years ago

OK, so it did not crash again after running npm install in demo\nunjucks. So, I will give you my crash data from yesterday. One other note - VS2015 itself was running very slowly yesterday taking over a minute to open the blank IDE (no solution or project). When I restarted, everything was fine. I suspect it had some unfinished updates.

Here are my crash events from yesterday, created by running a scenario similar to my last comment.

.NET Runtime error at 7/25/2015 3:80:53 AM

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name=".NET Runtime" /> 
  <EventID Qualifiers="0">1026</EventID> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2015-07-25T07:08:53.000000000Z" /> 
  <EventRecordID>105068</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>WONKA</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Application: devenv.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.PathTooLongException Stack: at System.IO.Path.NormalizePath(System.String, Boolean, Int32, Boolean) at System.IO.Path.GetDirectoryName(System.String) at Microsoft.VisualStudio.Services.DirectoryWatcher+<FilterDescendentDirectories>d__132.MoveNext() at System.Linq.Enumerable+<DistinctIterator>d__1`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext() at System.Linq.Enumerable.Contains[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.__Canon, System.Collections.Generic.IEqualityComparer`1<System.__Canon>) at System.Linq.Enumerable.Contains[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.__Canon) at Microsoft.VisualStudio.Services.DirectoryWatcher.ProcessDirectoryChanges(System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<System.String,Microsoft.VisualStudio.Services.ChangeStreamDigest>>, Int32) at Microsoft.VisualStudio.Services.DirectoryWatcher.ProcessChanges(System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<System.String,Microsoft.VisualStudio.Services.ChangeStreamDigest>>, Int32) at Microsoft.VisualStudio.Services.DirectoryWatcher.OnChangedAsync() at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)</Data> 
  </EventData>
  </Event>

Application Error at 7/25/2015 3:80:55 AM

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Application Error" /> 
  <EventID Qualifiers="0">1000</EventID> 
  <Level>2</Level> 
  <Task>100</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2015-07-25T07:08:55.000000000Z" /> 
  <EventRecordID>105069</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>WONKA</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>devenv.exe</Data> 
  <Data>14.0.23107.0</Data> 
  <Data>559b7ead</Data> 
  <Data>KERNELBASE.dll</Data> 
  <Data>6.3.9600.17415</Data> 
  <Data>54504ade</Data> 
  <Data>e0434352</Data> 
  <Data>00014598</Data> 
  <Data>11d8</Data> 
  <Data>01d0c6a1995b6a7d</Data> 
  <Data>C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe</Data> 
  <Data>C:\Windows\SYSTEM32\KERNELBASE.dll</Data> 
  <Data>025d2f2c-329c-11e5-80ff-e41f13958e4c</Data> 
  <Data /> 
  <Data /> 
  </EventData>
  </Event>
ghost commented 9 years ago

Although VS2015 did not crash during my last attempt - it is still unusable after 5 minutes. So, I ended the task and restarted VS2015 once to clear any post-crash behavior. Then I closed VS2015 and double-clicked the staticbuild.sln file in Explorer at 3:45 PM.

All node_modules folders are full of installed packages at this time (the main one and each demo project).

At 7 minutes now, VS2015 is still working away and using 30% CPU + 2GB RAM.

At 4 minutes into startup:

2015-07-26 15_49_52-

6 minutes in:

2015-07-26 15_54_09-2015-07-26 15_51_22-a

6 minutes in, more instances of npm:

2015-07-26 15_51_31-

ghost commented 9 years ago

Final note for you: I have NodeJS v0.12.7 and npm v2.11.3 and if you want me to try this with different Intellisense levels or log entry limits please let me know. Thank you.

ghost commented 9 years ago

Oh, I'm also running all of this on Windows Server 2012 R2 which I have used as my workstation for the past 2 years. My machine has 32GB RAM, a modern QUAD-Xeon processor, and an SSD C:\ drive, but a 7200RPM drive where the code lives on E:\. (I am moving to a Windows 8 Pro workstation with all SSDs this week.)

ghost commented 9 years ago

After 15 or so minutes, I'm actually able to use VS2015. It's performing well and only using 1GB of RAM.

mousetraps commented 9 years ago

I don't have an immediate idea yet, but thanks for the additional info. This is super helpful.

Looks like there are a few issues at play:

ghost commented 9 years ago

No problem.

ghost commented 9 years ago

Oh and all of those npm commands disappeared within 20 seconds. Then about 5 minutes later, VS was usable.

ghost commented 9 years ago

Just looking through the code of NpmController - There might be a nested lock if something accesses RootPackage during an ExceptionLogged event, which is raised from within ReloadModules called from UpdateModulesFromTimer while there is a lock on _fileBitsLock here.

billti commented 9 years ago

We just pushed a new release with this fix. See https://github.com/Microsoft/nodejstools/releases if you'd like to check it out. Thanks!

ghost commented 9 years ago

Fantastic! Thank you so much for all your great work!