小编Дми*_*нко的帖子

如何以编程方式检查TFS中的项目映射?

我需要找出本地映射的项目或不从代码中映射的项目.我可以使用所有TFS项目Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory.GetTeamProjectCollection(),而不是我可以做的foreach,workItemStore = new WorkItemStore(projects)并获得很多项目信息,但任何像IsMappedMappingPath.

我需要的信息可以从Visual Studio中的Team Explorer的Source Control Explorer轻松访问,但我需要从C#代码中进行访问.

这就是我试过的:

var projects = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(_tfsServerUri));
projects.Authenticate();
var workItemStore = new WorkItemStore(projects);
foreach (Project pr in workItemStore.Projects)
    {
        pr.IsLocal;
    }
Run Code Online (Sandbox Code Playgroud)

UPD:答案

MikeR的答案很好,但我想补充说它有一个缺陷.如果映射了根目录,但实际上并没有本地计算机上此根目录中的所有项目,则Miker的解决方案仍将返回所有项目.如果你不希望你的代码以这种方式行事,这是我的解决方案:

TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(_tfsServerUri));
teamProjectCollection.Authenticate();
VersionControlServer versionControl = teamProjectCollection.GetService<VersionControlServer>();

string computerName = Environment.MachineName;
WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent();
// get yours local workspaces
Workspace[] workspaces = versionControl.QueryWorkspaces(null, windowsIdentity.Name, computerName);

foreach (Project pr in workItemStore.Projects)
    {
        var mapped …
Run Code Online (Sandbox Code Playgroud)

c# tfs

5
推荐指数
1
解决办法
5367
查看次数

VS 2013没有看到我的自定义签到策略

我有通过VSIX部署的自定义签入策略.现在我正在尝试在Visual Studio 2013中使用它们.

我做了什么: 我在VS 2013中打开了我的策略.将vsixmanifest中的"Install Targets"更改为[10.0,13.0].然后构建项目,安装VSIX并打开两个VS.

VSIX项目使用.NET Framework 4.5,策略项目使用4.0.

是)我有的:

  • C:\Users\...\AppData\Local\Microsoft\VisualStudio\12.0Exp\Extensions目录中我的策略的最新版本
  • 2012年和2013年VS的政策副本 C:\Users\...\AppData\Local\Microsoft\VisualStudio\11.0(and 12.0)\Extensions
  • 用于VS的注册表中的策略路径的密钥 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config(and 12.0_Config)\TeamFoundation\SourceControl\Checkin Policies

现在,当我想要应用它们时Team Project Settings -> Source Control -> Check-in Policy -> Add,我可以在VS 2012中选择我的自定义策略,但VS 2013却看不到它们.

我该怎么办才能修复它?

UPD:

于是,我改变的程序集的版本解决我的问题Microsoft.TeamFoundation.VersionControl.Client,从11.0到12.0 .NET Framework版本在政策的项目,从4.0到4.5

vsix checkin-policy visual-studio-2013

2
推荐指数
1
解决办法
1991
查看次数

标签 统计

c# ×1

checkin-policy ×1

tfs ×1

visual-studio-2013 ×1

vsix ×1