以下代码适用于使用 Nuget Microsoft.TeamFoundationServer.ExtendedClient Version="16.205.1" 的 .Net 4.8
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
using Microsoft.VisualStudio.Services.WebApi;
using Microsoft.VisualStudio.Services.Common;
namespace TfsWorkspaceGet
{
class Program
{
static void Main(string[] args)
{
// Create VSS credentials
VssBasicCredential vssCred = new VssBasicCredential(
"valid userid",
"valid PAT token");
// connect to TFS
var tfsCollection = new TfsTeamProjectCollection(new Uri("https://someorg.com/tfs/projects"));
tfsCollection.EnsureAuthenticated();
//connect to Azure DevOps using the basic credentials
var connection = new VssConnection(new Uri(tfsUrl), vssCred);
var versionControlServer = tfsCollection.GetService<VersionControlServer>();
// Create a workspace
Workspace workspace = versionControlServer.CreateWorkspace("tmpTfsWorkspace");
// Map the server path to the local path
workspace.CreateMapping(new WorkingFolder(
"$/SomProj/Mainline/DEV/SomeComponent",
@"D:\WS\SomProj\Mainline\DEV\SomeComponent"));
// Get the latest version
workspace.Get();
}
}
}
我试图将其升级为与 .Net 6+ 一起使用...但不成功
connection.GetClient<TfvcHttpClient>
尽管它确实符合工作空间设置并满足需求对此有任何帮助或指示吗?
我可以使用您的脚本重现该问题。问题的原因是
Microsoft.TeamFoundationServer.ExtendedClient
软件包不支持Net Standard Client OM。
根据 .NET 客户端库,
Microsoft.TeamFoundationServer.ExtendedClient:使用和管理客户端应用程序中的版本控制、工作项、构建以及其他资源。 此软件包不支持 Net Standard Client OM。仅当我们的 REST API 不提供您所需的功能时才使用此包(例如,在 TFVC 中创建工作区)
还有
此包包含我们较旧的 SOAP 对象模型,已将其替换为较新的 REST 对象模型。我们不再投资旧的 SOAP 对象模型,并且 没有计划创建它的 NetStandard 版本。
根据目前的情况,建议您保留
.Net 4.8
。