Project-system: Project System: VSHost replacement

Created on 13 May 2016  路  13Comments  路  Source: dotnet/project-system

_From @davkean on April 11, 2016 22:56_

Currently csproj/msvbproj uses vshost.exe to "speed up" F5 debugging for desktop client apps.It is also used for immediate window evaluation without starting a debugging session. We need to figure out if we are going to bring this forward to CPS or not.

_Copied from original issue: dotnet/roslyn#10484_

Feature Request Parity-Legacy-Feature Triage-Approved Triage-Won't-Fix

Most helpful comment

Hosting process has been removed in VS2017 - there's no work to do here.

All 13 comments

ClickOnce partial trust support is also handled by VSHost.

_From @tmat on April 12, 2016 3:19_

@tmat

_From @KirillOsenkov on April 17, 2016 5:51_

Note that using VSHost prevents you from inspecting most optimized variables in Watch/Locals/etc. windows. I always turn it off (and enable COMPLUS_ZapDisable=1) to actually see the variables in the debugger. My understanding is that the vshost process doesn't inherit environment from devenv, so COMPLUS_ZapDisable=1 has no effect.

I've never seen any benefit from VSHost being turned on. No perceptible perf improvement at all.

We gathered the data, there's ~300ms win on F5 with the the hosting process, but we end up paying 3 - 10 seconds on solution load, and stop debugging.

It's a bit more complicated than that. There are other factors. The debugger team is working on some more precise measurements to determine why exactly VS hosts helps F5 speedup in some scenarios.

@tmat @ManishJayaswal where did we land with this?

Debugger team had an action item to identify the specific benefits of this process on various project types. I had pinged them last week and they had asked for 2 more weeks time to get back.

Hosting process has been removed in VS2017 - there's no work to do here.

Actually, it's still there to support DTEE for class libraries. It's only loaded when DTEE is used.

@davkean @tmat Can you explain a little more what work CPS would need to do in this case?

We fire up VSHost for the immediate window inside csproj, the work, if we supported it, would be to figure out how that works and port it.

I'm not sure it's worth the effort. I think there are more important things to do.

Agreed, I don't think this will ever bubble up as important. Closing this out.

Was this page helpful?
0 / 5 - 0 ratings