C# 如何从WPF或Windows应用程序获取azure DevOps服务器中具有版本的所有项目的列表

C# 如何从WPF或Windows应用程序获取azure DevOps服务器中具有版本的所有项目的列表,c#,wpf,git,tfs,azure-devops,C#,Wpf,Git,Tfs,Azure Devops,我想列出并显示来自windows/WPF应用程序的Azure DeveOps服务器中的所有项目文件。 早期我的应用程序从TFS服务器检索数据。现在我们的存储库已更改,现在使用Azure devops服务器代替TFS。 我正在寻找等效的下面的代码是在TFS中使用。我想对Azure DevOps服务器执行相同的操作 从TFS获取所有项目文件和对象的示例代码 Uri tfsUri; string OutPutFolderDB, DirectoryNextTo,

我想列出并显示来自windows/WPF应用程序的Azure DeveOps服务器中的所有项目文件。 早期我的应用程序从TFS服务器检索数据。现在我们的存储库已更改,现在使用Azure devops服务器代替TFS。 我正在寻找等效的下面的代码是在TFS中使用。我想对Azure DevOps服务器执行相同的操作

从TFS获取所有项目文件和对象的示例代码

 Uri tfsUri;            
        string OutPutFolderDB, DirectoryNextTo, Path;
        tfsUri = new Uri("http://" + serverURI + "/testProjectCollection");
        var targettfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(tfsUri);
        Microsoft.TeamFoundation.Server.ICommonStructureService stuctureService =
       targettfs.GetService<Microsoft.TeamFoundation.Server.ICommonStructureService>();

        Microsoft.TeamFoundation.Server.ProjectInfo[] projects = stuctureService.ListAllProjects();
        VersionControlServer vcs = targettfs.GetService<VersionControlServer>();
uritfsuri;
字符串OutPutFolderDB,DirectoryNextTo,Path;
tfsUri=新Uri(“http://“+serverURI+”/testProjectCollection”);
var targettfs=tfstreamprojectcollectionfactory.GetTeamProjectCollection(tfsUri);
Microsoft.TeamFoundation.Server.ICommonStructureService结构保留=
GetService();
Microsoft.TeamFoundation.Server.ProjectInfo[]projects=stuctReservice.ListAllProjects();
VersionControlServer vcs=targettfs.GetService();

我想知道在Azure devops服务器中使用的类似类型的上述代码。我的存储库是git。

我们建议您可以使用REST API在power shell脚本中添加

样本:

$connectionToken="{PAT}"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$OrgUrl = "https://dev.azure.com/{Org name}/_apis/projects?api-version=6.0-preview.4" 
$ListProject = (Invoke-RestMethod -Uri $OrgUrl -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})
$ListProjectCount = $ListProject.count
Write-Host  $ListProjectCount 

$ListProjectName= $ListProject.value.name

ForEach ($Name in $ListProjectName)
{
Write-Host  $Name
}
结果:

我们还可以使用客户端API列出项目,相应的代码用C#:

我们可以获取repo ID,然后您可以使用下面的API列出repo文件:

GET https://dev.azure.com/{org name}/{project name}/_apis/git/repositories/{repo ID}/items?recursionLevel=Full&api-version=4.1
结果:


你试过什么?你看过任何文档吗?我找不到文档。如果有@Daniel Mann如何包含凭据@Vito Liu msfta你是说令牌吗?如果是,请检查此项以进行管理。谢谢@Vito Liu MSFT。我希望将所有内容都保存在存储库中。是否有任何RESTAPI来获取项目中的所有文件?我的确切要求是替换现有的示例代码。非常感谢@Vito Liu MSFT的帮助。实际上我也有拼写错误的问题。现在我可以列出所有文件。请也看看这个问题@刘维托
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=6.0-preview.1
GET https://dev.azure.com/{org name}/{project name}/_apis/git/repositories/{repo ID}/items?recursionLevel=Full&api-version=4.1