나는 그것을 얻었습니다!
여기에는 가장 최근의 업데이트와 업데이트 날짜를 표시하는 콘솔 앱만 있습니다. 이것은 매우 효율적이지 않습니다. 이제는 무엇을해야 할지를 알았으므로 정렬을 제거하고 단일 항목을 비교하여 가장 최근 항목을 비교합니다. 그러나 여기에 요점이 있습니다 :
class Program
{
static void Main(string[] args)
{
//Environment.CurrentDirectory = @"c:\Program Files (x86)\Microsoft Visual SourceSafe Upgrade";
IVSSDatabase db = new VSSDatabase();
db.Open(@"ThePath\srcsafe.ini", "Admin", "ThePassword");
IVSSItem rootFolder = db.get_VSSItem("$/", false);
var versions = new List();
foreach (IVSSVersion item in rootFolder.get_Versions((int)Microsoft.VisualStudio.SourceSafe.Interop.VSSFlags.VSSFLAG_RECURSYES))
{
versions.Add(new VersionInfo()
{
ItemName = item.VSSItem.Name,
ItemFullPath = item.VSSItem.Spec,
ItemVersionDate = item.Date,
ItemVersionNumber = item.VersionNumber
});
}
// echo all
var versionInfo = versions.OrderByDescending(i => i.ItemVersionDate).First();
Console.WriteLine("{0} {1}", versionInfo.ItemFullPath, versionInfo.ItemVersionDate);
Console.ReadLine();
}
}
class VersionInfo
{
public string ItemName { get; set; }
public string ItemFullPath { get; set; }
public DateTime ItemVersionDate { get; set; }
public int ItemVersionNumber { get; set; }
}