aba*_*hev 40 .net c# tfs tfs2010 vcs-checkout
我正在使用TFS 2010处理源代码控制下的实用程序处理文件.
如果一个项目尚未签出进行编辑,我将收到一个例外,因为文件处于只读模式,所以这是可以预测的.
签出文件有哪些方法?
PS我想要程序化的东西,而不是那么Process.Start("tf.exe", "...");
适用.
Ben*_*Ben 38
这里提到的一些其他方法仅适用于某些版本的TFS或使用过时的方法.如果您收到404,则您使用的方法可能与您的服务器版本不兼容.
这种方法适用于2005年,2008年和2010年.我不再使用TFS,所以我没有测试过2013年.
var workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName);
using (var server = new TfsTeamProjectCollection(workspaceInfo.ServerUri))
{
var workspace = workspaceInfo.GetWorkspace(server);
workspace.PendEdit(fileName);
}
Run Code Online (Sandbox Code Playgroud)
小智 6
private const string tfsServer = @"http://tfsserver.org:8080/tfs";
public void CheckOutFromTFS(string fileName)
{
using (TfsTeamProjectCollection pc = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsServer)))
{
if (pc != null)
{
WorkspaceInfo workspaceInfo = Workstation.Current.GetLocalWorkspaceInfo(fileName);
if (null != workspaceInfo)
{
Workspace workspace = workspaceInfo.GetWorkspace(pc);
workspace.PendEdit(fileName);
}
}
}
FileInfo fi = new FileInfo(fileName);
}
Run Code Online (Sandbox Code Playgroud)
请注意,这Microsoft.TeamFoundation.Client.TeamFoundationServerFactory
已过时:TeamFoundationServer
该类已过时.使用TeamFoundationProjectCollection
或TfsConfigurationServer
类与2010 Team Foundation Server通信.要与2005或2008 Team Foundation Server交谈,请使用该TeamFoundationProjectCollection
课程.对应的工厂类是TfsTeamProjectCollectionFactory
.