Visual Studio Developer Center > Visual Studio Forums > Visual Studio Source Control and SourceSafe > Where to find the Microsoft.VisualStudio.SourceSafe.Interop.dll
Ask a questionAsk a question
 

AnswerWhere to find the Microsoft.VisualStudio.SourceSafe.Interop.dll

  • Sunday, January 14, 2007 3:54 PMfengchao Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hello:

    I used the ssapi.dll which included in vc6.0 to redo the Addin test in the msdn, but the dll name does not appear to be Microsoft.VisualStudio.SourceSafe.Interop, I don't know where to find the proper dll.

    Thanks a lot

Answers

All Replies

  • Monday, January 15, 2007 8:29 PMBarry MSFTModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    I did a search on my computer and found "Microsoft.VisualStudio.SourceSafe.Interop.dll" at location path "C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies". However, VC 6.0 did not have this DLL. "Microsoft.VisualStudio.SourceSafe.Interop.dll" did not exist until Visual Studio .NET. I'm not sure if there is a equivalent DLL in VC 6.0.
  • Monday, January 15, 2007 10:19 PMRichard BergModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Correct, the Interop DLL is a managed wrapper around the IVSS COM interface exported from ssapi.dll.  Managed (.Net) code didn't exist until VS 2002. 

    You can write VSS automation in native code by calling the COM interface directly.  Here are some references: http://www.codeproject.com/samples/SSBrowser.asp#OtherResources

  • Friday, March 30, 2007 6:48 AMPrasad Honrao Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Thanks a lot Richard.

    The link was really helpful.

  • Wednesday, June 24, 2009 5:07 PMgerard_odonnell Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Has Code

    Just copy Microsoft.VisualStudio.SourceSafe.Interop.dll from:
     C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies
    to
     C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies

    It then shows up in the macros ide in Visual Studio 2008, under Project | Add Reference...

    Once you've added the reference, you can import it into your macro project and the Intellisense will show the constants e.g. for VSSFLAG_GETYES:

    Imports Microsoft.VisualStudio.SourceSafe.Interop
    
    ...
    
    sourceSafeFile.Get(csLocalFilePath, VSSFlags.VSSFLAG_GETYES + VSSFlags.VSSFLAG_TIMENOW)
    Haven't tried creating an object using the interop DLL, but it probably also works.
  • Thursday, June 25, 2009 3:00 AMCatherine Sea Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Thanks for the information.

    Catherine Sea
    http://www.scmsoftwareconfigurationmanagement.com