当前位置:  开发笔记 > 编程语言 > 正文

访问TFS的C#自定义应用程序

如何解决《访问TFS的C#自定义应用程序》经验,为你挑选了1个好方法。

我们为内部使用构建了一个访问TFS的自定义应用程序.我们使用Microsoft库(例如Microsoft.TeamFoundation.dll).

将此应用程序部署到已安装了Team Explorer或VS的PC时,一切都很好.当它部署到没有安装此功能的PC时,它会失败.

我们包含了所有必需的DLL,但我们得到的错误是"检测到公共语言运行时和无效程序".错误发生在中等无害的线上:

TeamFoundationServer myServer = new TeamFoundationServer(“ourserver.ourdomain.com”);

有趣的是,流行的TFSAdmin工具(当您将所需的DLL放入exe目录时)会产生相同的错误.

我还注意到许多其他访问TFS的自定义应用程序(例如http://hinshelwood.com/tfsstickybuddy.aspx)也需要安装团队资源管理器或VS才能工作.

很明显,DLL是不够的,并且在这些安装发生时会发生一些魔术.有人知道这是什么吗?谁知道如何让魔术发生?



1> Martin Woodw..:

编写使用TFS对象模型的应用程序的"官方支持"方式是在计算机上安装Team Explorer.这对于服务目的尤其重要 - 即确保当VSTS的Service Pack应用于客户端计算机时,TFS API也会升级.TFS API没有重新分发权利,因此它们不应随您的应用程序一起提供.

顺便说一句 - 另请注意,如果您正在编写使用TFS OM的应用程序,请确保仅将其编译为"X86"而不是"任何CPU".TFS API程序集都标记为X86,但如果您的应用程序标记为"任何CPU",那么在x64计算机上它将由64位CLR加载,但是当需要动态加载TFS程序集时,它将失败.

祝好运,

马丁.


请注意,使用TFS 2010对象模型的代码不再需要编译为X86,因为2010 API现在可以与CLR的两个版本一起使用.
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有