捕获对TFS 2012事件订阅中的工作项所做的所有更改

我所追求的是一种方法来捕获对存储在我们的新TFS 2012服务器上的工作项中的某些字段所做的所有更改,以便我可以执行其他逻辑(通过Help Desk API处理更新),其结果基于开发人员改变了什么。

我已经苦苦挣扎了一个多星期,谷歌搜索和阅读参考资料,但似乎没有任何东西适用于TFS 2012。

我尝试过以下设置:

在TFS 2010中开发和调试服务器端事件处理程序(GeeksWithBlogs)

和其他许多“值得信赖”的消息来源,没有运气。

我对一般建议不感兴趣,但对这个问题有一个CONCRETE解决方案。 这可能是不止一种方法,但我会满足于一个有效的方法。

我已将这部分应用程序开发延迟到最后期限,因为在第一次阅读它时,这似乎是一件简单的事情。 我想我可以使用Microsoft.TeamFoundation.WorkItemTracking.Client库来完成这项工作,但事实certificate,没有预定义的事件要从客户端代码订阅。 (或者我还没有找到它)。 所以我想我需要创建一个自定义事件处理程序并将其安装到TFS上的Plugins目录中,如上面提到的链接中所述,但是当我这样做时,我在调试TFS时遇到exception并且没有任何反应:

First-chance exception at 0x000007FEFD90BCCD (KernelBase.dll) in w3wp.exe 

所以现在我已经超过我的截止日期,在寻求一个可行的解决方案之前寻找一个可行的解决方案,然后采用一些手动方式定期循环并检查WorkItems,就像我必须处理应用程序的帮助台一侧的票据一样。

如果我对事件和代表了解得更多,我想我能够为此创建一个很好的解决方案,但我没有,而且我现在正在学习C#,所以……

创建TFS ISubscriber事件处理程序是在TFS中操作数据的最有效方法。 重要的是,您的插件是针对正确的.NET Framework版本构建的,并且是AnyCPU或x64。 无法在TFS 2012中加载x86二进制文件(仅限x64)。 另外,在TFS 2012中,这些插件现在应该是.NET 4.0 / 4.5,并且它们必须引用11.0.0.0服务器位。

如果没有更详细的确切exception(可能已记录到事件日志中,或者您可能通过将调试器附加到TFS Web应用程序而找到),我们无法帮助您调试当前实现中遇到的问题。

作为替代方案,您可以使用“旧样式”SOAP事件处理程序,它更易于使用,因为它要求您使用客户端对象模型。 此外,它更容易调试,因为它可以在本地计算机上运行,​​而无需安装完整的TFS实例。 在TFS 2012中,您可以通过单击您的名称(右上角),然后选择“我的警报”,从Web Access界面配置这些类型的警报。

单击“可以从高级警报管理页面管理团队警报”链接以配置新事件并将其“格式”设置为“SOAP”。 在“发送到”中,您可以指定TFS必须调用以处理这些警报的Web服务URL。

创建此类服务的最简单方法是创建一个简单的.asmx Web服务,并添加一个具有以下签名的方法:

  [SoapDocumentMethod(Action="http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03/Notify", RequestNamespace = " http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03")] [WebMethod(MessageName=”Notify”)] public void Notify(string eventXml) { //Write your custom code here //Use eventXml to extract event related fields and their values } 

我有一个类似的问题。 通过执行以下步骤解决此问题a)参考以下组件的11.0.0.0版本

 Microsoft.TeamFoundation.Client.dll Microsoft.TeamFoundation.Common.dll Microsoft.TeamFoundation.Framework.Server.dll Microsoft.TeamFoundation.WorkItemTracking.Client.dll Microsoft.TeamFoundation.WorkItemTracking.Server.DataAccessLayer.dll 

b)将目标框架更改为.NET Framework 4