ligershark / template-builder

This project will output a NuGet package which can be used to help create Visual Studio Item Templates and Project templates
Other
42 stars 28 forks source link

Bad Visual Studio Performance #94

Open lakario opened 7 years ago

lakario commented 7 years ago

As a result of trying to utilize TemplateBuilder to create an installer for a large multi-project template, the performance of Visual Studio while maintaining the VSIX project is miserable. Adding a file to the project, editing a build configuration, updating references- anything which modifies the project in anyway, results in a delay of several minutes or even indefinite while Visual Studio processes the change.

Opening up SysInternals procmon.exe I was able to determine that the crux of the issue was massive churn on the VSIX project's /obj directory. Every change to the project is copying and reprocessing files from the ProjectTemplates directory. In the case of my templates, we have about 50 nuget packages which are being extensively indexed by TemplateBuilder's build targets. Interestingly, if Visual Studio is hanging for any period of time, I can just delete the /obj folder and Visual Studio snaps back to life.

http://i.imgur.com/6FPQHyt.gifv

A small installer project like the one configured in the multi-project template tutorial, is still slow, but it's manageable. In the case of my large project template, Visual Studio is just short of unusable without constantly deleting the /obj folder.

lakario commented 7 years ago

This appears to be related to #67.