What is Microsoft.VisualStudio.Diagnostics.ServiceModelSink.dll?
-
Thursday, May 08, 2008 9:20 PMI'm in the process of reducing the startup time of our client application. About 200ms seems due to the loading of 'Microsoft.VisualStudio.Diagnostics.ServiceModelSink.dll' from the GAC, when constructing a DuplexChannelFactory - i.e. new DuplexChannelFactory<IOurService>(Type,Binding,EndpointAddress) This is on a development machine.
What is the purpose of this assembly? I can't find any information about it at all.
Thanks,
- John
Answers
-
Friday, May 16, 2008 9:04 PMModerator
Hi John,
I've gotten a better answer to your question:
Turning it off will disable the Visual Studio WCF debugging features – stepping into services, automatically attaching to services in your solution, and displaying a logical callstack.
There is a command line tool included with Visual Studio to turn it on off:
\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\vsdiag_regwcf.exe
'-u' to unregister.
That is odd that it would take so long to load – it does very little unless there is a debugger present, and even then it doesn't do much.
Hope this answers your question!
--Jason
All Replies
-
Monday, May 12, 2008 3:13 PMNo one can shed any light on this?
-
Tuesday, May 13, 2008 2:01 AMModerator
Does this dll get loaded even when your application is compiled under a Release build? It looks like something that enables debugging capabilities, and should not be loaded otherwise.
Another solution you might consider is to to comment it from your machine.config:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config
Look for:
<commonBehaviors>
<endpointBehaviors>
<Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior></Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior>
</endpointBehaviors>
<serviceBehaviors>
<Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior/>
</serviceBehaviors>
</commonBehaviors>Do let us know if this helps you any. Thanks!
--Jason
-
Thursday, May 15, 2008 4:20 PMModerator
Hi John,
Did the above help?
--Jason
-
Friday, May 16, 2008 5:23 PMThanks for the reply. The dll is loaded in both Debug and Release builds, both under the VS hosting process (.vshost.exe) and without.
The only way to disable it was to comment out the section in machine.config you mention above. This disables it across the board.
What debugging ability am I losing with this disabled? (for day-to-day development)
Thanks,
- John -
Friday, May 16, 2008 8:35 PMModerator
On my dev machine, I do not have this assembly loaded while debugging, and it doesn't seem to affect my debugging of WCF apps.
I'm not entirely sure about what exactly it does, however; I will do my best to find out exactly what unloading this dll means.
Cheers,
--Jason
-
Friday, May 16, 2008 9:04 PMModerator
Hi John,
I've gotten a better answer to your question:
Turning it off will disable the Visual Studio WCF debugging features – stepping into services, automatically attaching to services in your solution, and displaying a logical callstack.
There is a command line tool included with Visual Studio to turn it on off:
\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\vsdiag_regwcf.exe
'-u' to unregister.
That is odd that it would take so long to load – it does very little unless there is a debugger present, and even then it doesn't do much.
Hope this answers your question!
--Jason
-
Saturday, May 17, 2008 5:34 PMThanks for the information Jason! I'll leave it enabled on the dev machines.
-
Monday, July 27, 2009 3:23 PMHas this defect been fixed in any of the hotfix or servicepack?
Thanks,
Aparna -
Monday, December 13, 2010 5:23 AM
Hi,
Thnaks, after commenting in machine.config, its working fine.
But can you please tell me why its happing because when I am doing any changes in CLR stored procedure and built it,
and deploying its giving me the same error. And when commenting <commonBehaviors> in machine.config, its working fine.
Can you please tell me whats the actual reason....
thnks....
Ashutosh

