希望知道的能给出详细的实现源代码,明天结贴。
解决方案 »
- C#调用BAT批处理文件连接sqlplus批量执行sql语句
- C#,C++,C誰更快更強
- 新手请教C#小程序!!
- 求教!
- C#如何取得字符串地址
- C#写了个同步通讯的Socket程序,不知道出了什么错啊,服务器端发不出信息给客户端
- 是不是只有最基本的变量在声明时不用New,其它的都用??
- 求助:在C#中,怎样查找调用API函数的写法
- 我编写了一段statusBar的程序,用来生成它的状态栏面板,为什么在程序中无法真正执行呢?
- 问个关于设计模式弱弱的问题
- Request.ServerVariables("server_name") asp与asp.net的写法有何不同?
- 半年做了一个网站,大家帮测试一下bug
一定要对VSS的类进行引用了..
不解的是 未知lz想用来干吗?
/// <summary>
/// 对VSS里的文件进行签入/签出操作
/// </summary>
/// <param name="Username">VSS登陆名</param>
/// <param name="Password">VSS登陆密码</param>
/// <param name="SrcSafeIni">VSS数据库路径</param>
/// <param name="Spec">要操作文件的所在VSS目录路径</param>
/// <param name="Filename">文件名</param>
/// <param name="CheckFlag">0:签入 1:签出</param>
private void VssForCheckInOut(string Username,string Password,string SrcSafeIni,string Spec,string Filename,bool CheckFlag)
{
try
{
//打开VSS数据库
VSSDatabaseClass vss = new VSSDatabaseClass();
vss.Open(SrcSafeIni,Username,Password); //获取指定的项
VSSItem vssProj=vss.get_VSSItem(Spec,false);
//获取子项
IVSSItems childItems = vssProj.get_Items(false); if (childItems != null && childItems.Count > 0)
{
foreach(VSSItem childItem in childItems)
{
//childItem.Type=0:项目文件夹 childItem.Type=1:项目文件
if (childItem.Type==1)
{
if(childItem.Name == Filename)
{
//签入
if(CheckFlag == true)
{
//childItem.IsCheckedOut=1:被别人签出 childItem.IsCheckedOut=2:被自己签出
if (childItem.IsCheckedOut==1||childItem.IsCheckedOut==2)
{
childItem.Checkin("",childItem.LocalSpec,0);
}
}
//签出
else
{
//childItem.IsCheckedOut=0:未签出
if (childItem.IsCheckedOut==0)
{
childItem.Checkout("",childItem.LocalSpec,0);
}
}
}
}
}
}
}
catch(System.Exception ex)
{
throw new Exception(ex.Message);
}
}