.NET Framework Developer Center > .NET Framework Forums > Windows Communication Foundation (WCF) > What is Microsoft.VisualStudio.Diagnostics.ServiceModelSink.dll?

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

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

Answers

  • Friday, May 16, 2008 9:04 PM
    Moderator
     
     Answered

    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 PM
     
     
    No one can shed any light on this?
  • Tuesday, May 13, 2008 2:01 AM
    Moderator
     
     

    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 PM
    Moderator
     
     

    Hi John,

     

    Did the above help?

     

    --Jason

  • Friday, May 16, 2008 5:23 PM
     
     
    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 8:35 PM
    Moderator
     
     

    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 PM
    Moderator
     
     Answered

    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 PM
     
     
    Thanks for the information Jason!  I'll leave it enabled on the dev machines.
  • Monday, July 27, 2009 3:23 PM
     
     
    Has 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