如何在 .NET Core 2.0 中创建自定义 TFS 签入策略?

How to create custom TFS check-in policies in .NET Core 2.0?

我熟悉 VS 2017 的新 deployment/installation 设计,以及它不在注册表中留下痕迹的方式。

而且我也很熟悉我们需要如何更改签入政策安装

但是,现在我需要在 .NET Core 2.0 中创建签入策略。问题是我需要使用 Microsoft.TeamFoundation.VersionControl.Client dll 才能访问 PolicyBase 以及 PendingChange 类。这导致 FileNotFoundException.

我还需要使用 Mono.Cecil 作为反射库,以便能够在签入之前更详细地处理事情。我找不到 Mono.Cecil 是否支持 .NET Core 2.0。 Nuget 页面信息不多,GitHub 上的库页面也不容易理解。

另一个障碍是创建 VS 扩展。我找不到要添加到源代码管理中所需的包定义项。

能否提供一个简单示例,说明如何通过 .NET Core 2.0 在 VS 2017 中创建自定义 TFS 签入策略?

由于政策在 Visual Studio 本身的上下文中结束 运行ning,我相信您必须与 Visual Studio 是 [=16= 的 .NET 框架兼容],那是 "classic" .NET Framework,而不是 .NET Core。 .NET Standard 编写的库可能会被 .NET Framework 和 .NET Core 应用程序使用,我相信您也可以在扩展中包含单独的可执行文件,并且 运行 它们作为单独的进程,如果有一些绝对在 .NET Core 环境中必须 运行,但不能在单个进程中混合搭配,并且扩展代码本身没有选择:它 运行 在 Visual Studio进程。