如何从c#代码写入VSS中的文件?

时间:2014-03-10 09:43:00

标签: c# visual-sourcesafe

我有一个Visual Source Safe(VSS)项目,我需要将行附加到“.sql”文件。 我试图使用明显的代码:

using (StreamWriter sw = File.AppendText(lblSourceFile.Text))
{
    sw.WriteLine("text here");
}

但我收到“文件访问”错误,因为该文件未在VSS中签出。 有没有办法以编程方式签出文件进行编辑,并在完成后重新检查? 我找到的所有链接都使用VSSDatabaseClass,我不知道如何为SourceSafetypelib dll添加引用并使用VSSDatabaseClass ...

2 个答案:

答案 0 :(得分:1)

您可以添加ssapi.dll(可以在VSS的安装文件夹中找到)作为参考,然后您可以使用SourceSafetypelib。 Here您可以看到示例。

答案 1 :(得分:0)

感谢Rachel提供的ssapi.dll文件。 这是适用于我的代码:

 using SourceSafeTypeLib;
 VSSDatabaseClass vssDatabase = new VSSDatabaseClass();
 vssDatabase.Open("VSS database path", "userName", "password");
 VSSItem item = vssDatabase.get_VSSItem("file path as shown in vss", false);
 item.Checkout("Comments", item.LocalSpec, 0);
 using (StreamWriter sw = File.AppendText(lblSourceFile.Text))
 {
     sw.WriteLine("text");
 }
 item.Checkin("Comments", item.LocalSpec, 0);
 vssDatabase.Close();