当前位置:  开发笔记 > 开发工具 > 正文

如何解决无法添加对'Microsoft.WITDataStore'的引用?

如何解决《如何解决无法添加对'Microsoft.WITDataStore'的引用?》经验,为你挑选了1个好方法。

我得到空Class library项目,并希望安装以下NuGet作为依赖:

nuget-bot.Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.12.0.31101

安装失败,错误:

无法添加对"Microsoft.WITDataStore"的引用.

其他的例子,Entity Framework或者Microsoft.TeamFoundation.Client我能够安装.

我的配置

Windows 7企业版

Visual Studio Enterprise 2015

适用于Visual Studio 2015的NuGet包管理器

谢谢.



1> 小智..:

看起来这是NuGet包配置中的一个错误.

Microsoft.WITDataStore.dll 是一个无法由.NET项目直接引用的非托管库,这就是软件包安装失败的原因.

Microsoft.TeamFoundation.WorkItemTrackingClient.DataStoreLoader.dll是一个.NET包装器库,允许访问非托管代码 Microsoft.WITDataStore.dll.什么应该被发生的是,包应该添加.NET库(DataStoreLoader.dll作为一个组件参考),并添加非托管库(WITDataStore.dll)的配置被复制到一个内容项目bin\的build目录.相反,它试图将它们作为程序集引用添加,它们失败并由NuGet回滚.

我已经使用NuGet的"联系所有者"功能尝试通知Microsoft的发布者包的配置错误,但由于它是由"nuget-bot"发布的,我不知道这是否会完成任何事情.如果更新软件包以解决问题,我将更新此答案.我目前使用的解决方法是:

    手动下载软件包,解压缩,然后将解压缩的文件夹复制到我的解决方案packages\目录中.

    将我的项目中的引用添加到Microsoft.TeamFoundation.WorkItemTrackingClient.DataStoreLoader.dll解压缩包中的副本.

    将文件WITDataStore.dll作为现有文件添加到我的项目中,并在"属性"下将其标记为"始终复制".("如果更新则复制"也可以正常工作)

    将该行添加packages.config我的项目的文件中.

这会导致NuGet记录正在安装的软件包,DataStoreLoader.dll被引用的软件包,以及在构建时将WITDataStore.dll其复制到您的bin\文件夹中,因此它可以被包装器库使用.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有