我有时间尝试使用VSIX在TFS2010上安装的自定义策略。

我的策略启动,运行并在我的开发PC上工作正常,我手动为注册表写了一个价值,并执行了该策略。

问题是设置VSIX项目并部署到我们的其他开发机器。

我遵循以下说明:

http://blogs.msdn.com/b/jimlamb/archive/2010/03/03/31/how-to-to-te-implement-package-and-deploy-custom-custom-custom-check-check-in-check-in-policy-for-for-tfs-2010.aspx

首选方法似乎是在VS 2010中使用新的VSIX项目类型,我将VSIX项目添加到我的解决方案中,但是博客条目中的说明对下一步的操作非常模糊。我的理解是,PKGDEF文件意味着您在部署时没有为注册表写入值,并且在启动Visual Studio时,将PKGDEF文件的内容滚动到配置中。很好,但是如何构建VSIX软件包?

我尝试将自定义策略项目添加到VSIX项目中作为VS软件包类型,但是当我构建时,我会收到错误:项目中不存在目标“ PKGDEFPROJECTOUTPUTPUTGROUP”。

我尝试仅添加DLL,PKGDEF文件作为自定义内容类型等,但无效。

我已经更改了博客中的PKGDEF文件以匹配自己的项目。

当我在开发计算机上安装VSIX软件包时,我可以在Visual Studio中的扩展管理器中看到加载项,但是当我检查TFS中的自定义策略时,我会发现“未注册”错误。

我真的需要逐步设置一个VSIX项目来部署自定义策略,谁能提供帮助?

有帮助吗?

解决方案

博客文章肯定有一个缺失的步骤。我认为作者的意图是,您将PKGDEF文件添加到VSIX项目(通过VSIXMANIFEST编辑器)作为类型VS软件包的内容。然后,从您的VSIX项目中将项目参考添加到CheckIn策略项目中(这将导致CheckIn Policy DLL添加到您的VSIX中)。

作为旁注。...当您选择“ VS软件包”作为内容类型时,然后指向一个项目...它需要是一个适当的VS软件包项目(不仅仅是香草C#/VB类库)。

其他提示

问题是汇编名称”narrange.checkinpolicy.dll“与策略中的名称不符。

[$RootKey$\TeamFoundation\SourceControl\Checkin Policies]
"TeamFoundation.Samples.CheckinPolicies"="$PackageFolder$\NArrange.CheckinPolicy.dll"

此外,我将通过更改source.extension.vsixmanifest中的“产品名称”为narrange.checkinpolicy来避免进一步混淆。这样,组件将匹配VS扩展名中的产品名称。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top