gpt4 book ai didi

.net - 使用 TFS SDK 显示项目历史记录窗口

转载 作者:行者123 更新时间:2023-12-04 00:24:14 26 4
gpt4 key购买 nike

我正在编写一个通过官方 SDK 与 TFS 集成的应用程序,以自动化和支持各种常见操作。尽管其中大部分是自动化的,并且 TFS API 几乎公开了我需要的一切,但有些操作需要用户干预,因此我需要向用户显示信息。

我找到了诸如 Difference.VisualDiffItems 之类的方法这使我可以使用 Visual Studio 使用的相同 UI 轻松地直观地比较文件。我还需要显示 项目历史 (包括分支、重命名等),我喜欢使用内置 UI 而不是必须编写自己的 UI。项目历史用户界面实际上非常复杂,我以为 MS 会在 SDK 中提供它,但我似乎找不到它。

任何人都可以确认 TFS SDK 没有提供必要的方法来可视化项目的历史记录或为我指明正确的方向(如果有)?

最佳答案

在 TF.exe 实用程序上使用 ILSpy,您可以看到用于查看历史记录的 UI 控件是 Microsoft.TeamFoundation.VersionControl.Controls.DialogHistory .这个类是内部的,所以除非你对使用反射感到满意,否则你将无法自己实例化这个对象。

实际上,搜索该类名称会显示此 social.msdn 页面:
http://social.msdn.microsoft.com/Forums/ar/tfsversioncontrol/thread/9a10473e-d381-4e83-bde9-dd423f430feb

可能与您的问题最相关的一行来自 Buck Hodges:
“您确实可以选择通过反射(reflection)获得它们。由于它们不是公开的,我们可能会在不同版本之间更改它们(包括服务包),因此您接受被破坏的风险”

另一种方法是直接使用命令行调用 TF(通过直接引用 TF.exe 并将其加载到同一进程中或通过使用所需的命令行启动新进程)。在任何一种情况下,您可能都必须处理传递到标准输出的错误消息,您可能需要也可能不需要它们。

希望这可以帮助。

关于.net - 使用 TFS SDK 显示项目历史记录窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8267888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com