Microsoft 开发人员网络 > 论坛主页 > Visual Studio Source Control and SourceSafe > Where to find the Microsoft.VisualStudio.SourceSafe.Interop.dll
提出问题提出问题
 

已答复Where to find the Microsoft.VisualStudio.SourceSafe.Interop.dll

  • 2007年1月14日 15:54fengchao 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    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

答案

全部回复

  • 2007年1月15日 20:29Barry MSFT版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     
    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.
  • 2007年1月15日 22:19Richard Berg版主用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复

    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

  • 2007年3月30日 6:48Prasad Honrao 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    Thanks a lot Richard.

    The link was really helpful.

  • 2009年6月24日 17:07gerard_odonnell 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     包含代码

    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.
  • 2009年6月25日 3:00Catherine Sea 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     
    Thanks for the information.

    Catherine Sea
    http://www.scmsoftwareconfigurationmanagement.com