c# – 如何以编程方式从sourcesafe获取文件?
发布时间:2020-12-15 19:29:33 所属栏目:百科 来源:网络整理
导读:我需要以编程方式从sourcesafe数据库中获取文件.知道怎么做吗? ps:我会通过使用C#来做到这一点. 解决方法 using System;using System.Collections.Generic;using SourceSafeTypeLib;namespace YourNamespace{public class SourceSafeDatabase { private re
我需要以编程方式从sourcesafe数据库中获取文件.知道怎么做吗?
ps:我会通过使用C#来做到这一点. 解决方法using System; using System.Collections.Generic; using SourceSafeTypeLib; namespace YourNamespace { public class SourceSafeDatabase { private readonly string dbPath; private readonly string password; private readonly string rootProject; private readonly string username; private readonly VSSDatabaseClass vssDatabase; public SourceSafeDatabase(string dbPath,string username,string password,string rootProject) { this.dbPath = dbPath; this.username = username; this.password = password; this.rootProject = rootProject; vssDatabase = new VSSDatabaseClass(); } public List<string> GetAllLabels() { List<string> allLabels = new List<string>(); VSSItem item = vssDatabase.get_VSSItem(rootProject,false); IVSSVersions versions = item.get_Versions(0); foreach (IVSSVersion version in versions) { if (version.Label.Length > 0) { allLabels.Add(version.Label); } } return allLabels; } public void GetLabelledVersion(string label,string project,string directory) { string outDir = directory; vssDatabase.get_VSSItem(rootProject,false).get_Version(label).Get(ref outDir,(int)VSSFlags.VSSFLAG_RECURSYES + (int)VSSFlags.VSSFLAG_USERRONO); } public void Open() { vssDatabase.Open(dbPath,username,password); } public void Close() { vssDatabase.Close(); } } // some other code that uses it SourceSafeDatabase sourceControlDatabase = new sourceControlDatabase(...); sourceControlDatabase.Open(); sourceControlDatabase.GetLabelledVersion(label,rootProject,projectDirectory); sourceControlDatabase.Close(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |