编程获取 VSS 版本号大于1的最新代码
编程获取 VSS 版本号大于1的最新代码的代码如下:
class Program
{
static void Main(string[] args)
{
// Create a VSSDatabase object.
IVSSDatabase vssDatabase = new VSSDatabase();
vssDatabase.Open(@"\\192.168.1.197\VSSFor2005",
"xh", " ");
Console.WriteLine("请稍待");
IVSSItem vssFile = vssDatabase.get_VSSItem("$/Jcysoft9/JcySoft", false);
string local = @"E:\DfApp\Jcysoft9\Jcysoft_Abc";
GetEditedFile(vssFile, local);
Console.WriteLine("获取修改过的文件结束!");
}
private static void GetEditedFile(IVSSItem vssFile, string local)
{
if (vssFile.Type == (int)Microsoft.VisualStudio.SourceSafe.Interop.VSSItemType.VSSITEM_PROJECT)
{
foreach (VSSItem item in vssFile.get_Items(false))
{
string temp = local + @"\" + item.Name;
GetEditedFile(item, temp);
}
}
else
{
if (vssFile.VSSVersion.VersionNumber > 1)
{
vssFile.Get(ref local, 0);
Console.WriteLine(local);
}
}
}
}
class Program
{
static void Main(string[] args)
{
// Create a VSSDatabase object.
IVSSDatabase vssDatabase = new VSSDatabase();
vssDatabase.Open(@"\\192.168.1.197\VSSFor2005",
"xh", " ");
Console.WriteLine("请稍待");
IVSSItem vssFile = vssDatabase.get_VSSItem("$/Jcysoft9/JcySoft", false);
string local = @"E:\DfApp\Jcysoft9\Jcysoft_Abc";
GetEditedFile(vssFile, local);
Console.WriteLine("获取修改过的文件结束!");
}
private static void GetEditedFile(IVSSItem vssFile, string local)
{
if (vssFile.Type == (int)Microsoft.VisualStudio.SourceSafe.Interop.VSSItemType.VSSITEM_PROJECT)
{
foreach (VSSItem item in vssFile.get_Items(false))
{
string temp = local + @"\" + item.Name;
GetEditedFile(item, temp);
}
}
else
{
if (vssFile.VSSVersion.VersionNumber > 1)
{
vssFile.Get(ref local, 0);
Console.WriteLine(local);
}
}
}
}
环境: VS2008 , VSS2005 , 项目需要添加 Microsoft.VisualStudio.SourceSafe.Interop
在产品更新的时候,很有用.
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |