如何在我的项目中引用TeamFoundation程序集?

6
我需要在我的项目中引用Team Foundation的程序集,但我无法找到它们。
当在GAC中寻找Microsoft.TeamFoundation.*时,我找不到任何程序集。然后我浏览到C:\windows\assembly,在这里我找到了所需的程序集。当我选择所有或其中一个程序集来创建引用时,什么都没有发生。对话框会“闪烁”并将焦点返回到列表顶部。引用未被创建?!我已经尝试过使用此目录中的其他程序集,但是我无法引用其中任何一个。
我重启了VS并再次尝试。没有运气。那么我该如何引用这些Dll文件呢?我在这台机器上安装了TFS。
谢谢。
4个回答

5
这些程序集是安装在 x64 上的,位于以下路径:
- %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0
- %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies

同时也可以安装在 x86 上,位于以下路径:
- %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0
- %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies


@Nick:根据你的TFS客户端版本,你可能需要稍微调整一下版本号。 - kbrimington
你安装了Team Explorer吗?你说的是哪个版本的TFS? - Ewald Hofman

0
请安装以下注册表键:
reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.Build.Common /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.Client /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.Common /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.Common.Library /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.VersionControl.Client /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.VersionControl.Common /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.VersionControl.Common.Integration /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.WorkItemTracking.Client /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.WorkItemTracking.Client.Cache /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.WorkItemTracking.Client.Provision /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.WorkItemTracking.Client.RuleEngine /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f reg add HKCU\Software\Microsoft\.NETFramework\AssemblyFolders\Microsoft.TeamFoundation.WorkItemTracking.Proxy /ve /d "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies" /f

0

我们的 TFS 专家给了我们一堆注册表修改项,通过这个资源使程序集在 Visual Studio 中可见:

http://blogs.msdn.com/b/buckh/archive/2006/01/12/how-to-add-the-team-foundation-assemblies-to-the-net-tab-in-the-vs-add-reference-dialog.aspx

他不得不手动编写版本号,因为我们正在使用2008年(而资源是为2005年设计的)。
我不喜欢它,因为它是一个注册表hack,所以我总是使用 @Ewald 描述的浏览...引用库。程序集加载器足够聪明,可以检查GAC,尽管我的本地引用。我会将程序集复制到我的项目文件夹中的一个文件夹中,以避免在相对路径远离我的源代码控制树的情况下产生外部依赖关系。

0

看起来 Microsoft.TeamFoundation 组件只在目标平台设置为 x86 时才能正常工作。

将我的项目的目标平台设置为 x86 解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接