我已经有了这个nuget包(和未扩展的包):https://www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient/

我看到的是Microsoft.TeamFoundation.VersionControl.Client.dll的替代品。不幸的是,我试图访问Microsoft.TeamFoundation.VersionControl命名空间,但它似乎不存在。我看到了有关Git和SourceControl的条目,但VersionControl抛出了“类型或名称空间名称'VersionControl'在名称空间'Microsoft.TeamFoundation'中不存在(您是否缺少程序集引用?)”,并且Intellisense不建议任何内容其他用于使用有关VersionControlServer的语句等。

我的意图是让自动化服务器使用带访问令牌的TFVC来下拉工作空间,处理一些文件并上传到新的工作空间。我已经制定并编写了其余的逻辑,但是“缺失”的引用只是引起问题。

我真的没有看到任何有关它可能去哪里的文档。有任何想法吗?

最佳答案

没有Microsoft.TeamFoundation.VersionControl命名空间,也没有VersionControl类,VersionControlServer在Microsoft.TeamFoundation.VersionControl.Client命名空间中。

创建工作区并添加文件并签入的简单示例:

 NetworkCredential cred = new NetworkCredential("[account name]", "[person access token]");
             TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri("https://[xxx].visualstudio.com"), cred);
            tpc.EnsureAuthenticated();
            VersionControlServer versionControl = tpc.GetService<VersionControlServer>();
Workspace workspace = versionControl.CreateWorkspace("TestWorkspace", versionControl.AuthorizedUser);
try
            {
                String localDir = @"c:\temp\BasicSccExample";
                //Console.WriteLine("\r\n--- Create a mapping: {0} -> {1}", args[1], localDir);
                workspace.Map("$/Agile2015/APIFolder", localDir);


                workspace.Get();

                Console.WriteLine("\r\n--- Create a file.");
                topDir = Path.Combine(workspace.Folders[0].LocalItem, "sub");
                Directory.CreateDirectory(topDir);
                String fileName = Path.Combine(topDir, "basic.txt");
                using (StreamWriter sw = new StreamWriter(fileName))
                {
                    sw.WriteLine("revision 1 of basic.txt");
                }

                Console.WriteLine("\r\n--- Now add everything.\r\n");
                workspace.PendAdd(topDir, true);

                Console.WriteLine("\r\n--- Show our pending changes.\r\n");
                PendingChange[] pendingChanges = workspace.GetPendingChanges();
                Console.WriteLine("  Your current pending changes:");
                foreach (PendingChange pendingChange in pendingChanges)
                {
                    Console.WriteLine("    path: " + pendingChange.LocalItem +
                                      ", change: " + PendingChange.GetLocalizedStringForChangeType(pendingChange.ChangeType));
                }

                Console.WriteLine("\r\n--- Checkin the items we added.\r\n");
                int changesetNumber = workspace.CheckIn(pendingChanges, "Sample changes");
                }

关于c# - Microsoft.TeamFoundation.VersionControl.Client的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39841615/

10-12 22:21