我试图切换到TFS 2015 SDK dll(版本14)有几个原因 . 首先,它们是nuget,第二,2013 SDK dll(版本12)需要在IIS中翻转32位标志 .
我下拉了nutget package,名称空间全部与现有的12版名称空间对齐 .
一切都编译好,本地部署没有错误 .
但是,当我尝试使用 WorkItemStore
服务加载项目时 .
TfsTeamProjectCollection collection = new TfsTeamProjectCollection(URL);
var service = collection.GetService<WorkItemStore>();
我明白了:
其他信息:无法加载DLL'Microsoft.WITDataStore64.dll':找不到指定的模块 . (HRESULT异常:0x8007007E)
当我在IIS中切换回32 bt标志时,我得到:
其他信息:无法加载DLL'Microsoft.WITDataStore32.dll':找不到指定的模块 . (HRESULT异常:0x8007007E)
注意:这是所有工作代码,我所做的就是删除对GAC程序集的引用并添加NUGET包 .
根据Microsoft,nuget包应该与TFS 2013一起使用,并为2013 SDK的用户工作
现有的Windows应用程序利用旧版本的TFS Client OM .
3 回答
以上都不适合我 . 我不得不将该文件复制到我的 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE 文件夹(通过使用procmon找到它,看看我的应用程序在哪找它) .
我不得不将dll添加到我的解决方案的启动项目中以使其工作 . 例:
MyTFSApp (windows客户端)nuget包安装了Microsoft.TeamFoundationServer.ExtendedClient或者将Microsoft.WITDataStore32.dll添加到bin文件夹
MyTfsLibrary (带有访问WorkItemStore的代码的类库)安装了Microsoft.TeamFoundationServer.ExtendedClient的nuget包
尝试将这些Dll从GAC复制到本地bin中 . Nuget包通常是创建对bin的引用,所以如果你的程序在那里寻找而不是GAC,这可能是它抛出错误的原因 .