none
What is Microsoft.VisualStudio.Diagnostics.ServiceModelSink.dll?

    Question

  • I'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
    Thursday, May 8, 2008 9:20 PM

Answers

  • 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

    Friday, May 16, 2008 9:04 PM
    Moderator

All replies

  • No one can shed any light on this?
    Monday, May 12, 2008 3:13 PM
  • 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

    Tuesday, May 13, 2008 2:01 AM
    Moderator
  • Hi John,

     

    Did the above help?

     

    --Jason

    Thursday, May 15, 2008 4:20 PM
    Moderator
  • Thanks 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 5:23 PM
  • 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 8:35 PM
    Moderator
  • 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

    Friday, May 16, 2008 9:04 PM
    Moderator
  • Thanks for the information Jason!  I'll leave it enabled on the dev machines.
    Saturday, May 17, 2008 5:34 PM
  • Has this defect been fixed in any of the hotfix or servicepack?

    Thanks,
    Aparna
    Monday, July 27, 2009 3:23 PM
  • 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

    Monday, December 13, 2010 5:23 AM