今天用VSS 2005的时候发现管理员的负担太重了,于是考虑AD中的权限委派能否使用VSS实现。至少能够通过命令行行使管理员权限也好啊。经过查阅帮助和网上的文档,发现VSS提供的命令行工具命令都是针对于客户端的。对于服务器端的Administrator的操作没有命令行工具的支持。但是帮助中提到了可以通过.NET调用Microsoft.VisualStudio.SourceSafe.Interop;的类和接口来进行控制。但是在按照其提供的帮助文档在进行开发的时候遇到了权限管理问题。但是经过实际测试,发现开发文档和实际情况严重不符。而且可以通过程序可以做到VSS本身界面无法提供的功能,主要是权限的灵活组合。下面我把测试环境和测试结果贴上来,供后来人参考。
系统环境:Windows 7 EN
开发环境:Visual Studio 2008 EN
VSS环境:Visual Soure Safe 2005 EN
命名空间版本:Microsoft.VisualStudio.SourceSafe.Interop 5.2.0.0
Path:C:/Program Files/Common Files/Microsoft Shared/MSEnv/PublicAssemblies/Microsoft.VisualStudio.SourceSafe.Interop.dll
VSS MSDN 帮助:
The VSSRights enumeration elements:
Element | Description | Value |
---|---|---|
VSSRIGHTS_READ | Read. | 1 |
VSSRIGHTS_CHKUPD | Check out, Check in. | 2 |
VSSRIGHTS_ADDRENREM | Add, Rename, Remove. | 4 |
VSSRIGHTS_DESTROY | Destroy. | 8 |
VSSRIGHTS_ALL | Read, Check out, Check in, Add, Rename, Remove, Destroy. | 15 |
VSSRIGHTS_INHERITED | Rights inherited from parent project. Not valid for | 16 |
我的测试结果: