参照MSDN,利用VSS接口,进行二次开发,结果Get文件到客户端本地机器时,不可得,Get的文件没有到本地,而是Get到服务器的相应目录了,这是怎么回事,大伙给点意见。MSDN参考:http://msdn.microsoft.com/zh-cn/library/microsoft.visualstudio.sourcesafe.interop.ivssitem.get(VS.80).aspx
示例代码:using System;
using Microsoft.VisualStudio.SourceSafe.Interop;public class IVSSTest
{
public static void Main()
{
// Create a VSSDatabase object.
IVSSDatabase vssDatabase = new VSSDatabase(); // Open a VSS database using network name
// for automatic user login.
vssDatabase.Open(@"C:\VSSTestDB\srcsafe.ini",
Environment.UserName, ""); IVSSItem vssFile =
vssDatabase.get_VSSItem("$/TestFolder/test.txt", false); // Get a file into a specified folder.
string testFile = @"C:\1\test.txt";
vssFile.Get(ref testFile, 0); // Get a file into a working folder.
testFile = null;
vssFile.Get(ref testFile, 0);
Console.WriteLine("The Get operation is completed");
}
}
---------------------------------
本人代码: private IVSSDatabase vssDatabase = null;
public VssManager() { } /// <summary>
/// 构造VSS数据库管理实体类
/// </summary>
/// <param name="vssDb">VSS数据库路径</param>
/// <param name="userName">VSS用户名</param>
/// <param name="pwd">密码</param>
public VssManager(string vssDb, string userName, string pwd)
{
vssDatabase = new VSSDatabase();
vssDatabase.Open(vssDb, userName, pwd);
} /// <summary>
/// 根据文件服务器目录下载到指定的本地目录
/// </summary>
/// <param name="serverPath">文件服务器目录</param>
/// <param name="localPath">本地目录</param>
public void GetFileToLocal(string serverPath, string localPath)
{
IVSSItem vssFolder = vssDatabase.get_VSSItem(serverPath, false);
string s = vssFolder.LocalSpec;
vssFolder.Get(ref localPath, 0);
}
示例代码:using System;
using Microsoft.VisualStudio.SourceSafe.Interop;public class IVSSTest
{
public static void Main()
{
// Create a VSSDatabase object.
IVSSDatabase vssDatabase = new VSSDatabase(); // Open a VSS database using network name
// for automatic user login.
vssDatabase.Open(@"C:\VSSTestDB\srcsafe.ini",
Environment.UserName, ""); IVSSItem vssFile =
vssDatabase.get_VSSItem("$/TestFolder/test.txt", false); // Get a file into a specified folder.
string testFile = @"C:\1\test.txt";
vssFile.Get(ref testFile, 0); // Get a file into a working folder.
testFile = null;
vssFile.Get(ref testFile, 0);
Console.WriteLine("The Get operation is completed");
}
}
---------------------------------
本人代码: private IVSSDatabase vssDatabase = null;
public VssManager() { } /// <summary>
/// 构造VSS数据库管理实体类
/// </summary>
/// <param name="vssDb">VSS数据库路径</param>
/// <param name="userName">VSS用户名</param>
/// <param name="pwd">密码</param>
public VssManager(string vssDb, string userName, string pwd)
{
vssDatabase = new VSSDatabase();
vssDatabase.Open(vssDb, userName, pwd);
} /// <summary>
/// 根据文件服务器目录下载到指定的本地目录
/// </summary>
/// <param name="serverPath">文件服务器目录</param>
/// <param name="localPath">本地目录</param>
public void GetFileToLocal(string serverPath, string localPath)
{
IVSSItem vssFolder = vssDatabase.get_VSSItem(serverPath, false);
string s = vssFolder.LocalSpec;
vssFolder.Get(ref localPath, 0);
}
(凌晨2:30起来支持巴萨,结果闷输,好困啊!)