【问题标题】:How to solve Failed to add reference to 'Microsoft.WITDataStore'?如何解决无法添加对“Microsoft.WITDataStore”的引用?
【发布时间】:2015-12-07 13:46:28
【问题描述】:

我有空的Class library 项目并想安装以下 NuGet 作为依赖项:

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

安装失败并出现错误:

未能添加对“Microsoft.WITDataStore”的引用。

其他 nugets,例如Entity Framework 或 Microsoft.TeamFoundation.Client 我能够安装。

我的配置

  • Windows 7 企业版
  • Visual Studio 企业版 2015
  • 适用于 Visual Studio 2015 的 NuGet 包管理器

谢谢。

【问题讨论】:

标签: .net visual-studio nuget


【解决方案1】:

看起来这是the NuGet package的配置错误。

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

Microsoft.TeamFoundation.WorkItemTrackingClient.DataStoreLoader.dll 是一个 .NET 包装库,允许访问 Microsoft.WITDataStore.dll 中的非托管代码。 应该发生的是包应该将 .NET 库 (DataStoreLoader.dll) 添加为程序集引用,并将非托管库 (WITDataStore.dll) 添加为配置为复制到的内容项构建时的bin\ 目录。相反,它尝试将它们都添加为程序集引用,但失败并由 NuGet 回滚。

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

  1. manually download 包,解压,然后将解压后的文件夹复制到我的解决方案的packages\ 目录中。
  2. 在我的项目中添加对解压包中Microsoft.TeamFoundation.WorkItemTrackingClient.DataStoreLoader.dll副本的引用。
  3. 将文件WITDataStore.dll 作为现有文件添加到我的项目中,并在“属性”下将其标记为“始终复制”。 (“如果较新则复制”也可以正常工作)

  4. 将<package id="nuget-bot.Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader" version="12.0.31101" targetFramework="net452" /> 行添加到我的项目的packages.config 文件中。

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

【讨论】:

  • 1 个。从nuget.org/api/v2/package/… 手动下载文件后,确保将文件扩展名 nuget-bot.microsoft.teamfoundation.workitemtracking.client.datastoreloader.12.0.31101.nupkg 更改为 nuget-bot.microsoft.teamfoundation.workitemtracking.client。 datastoreloader.12.0.31101.nupkg.rar。然后您可以使用任何文件压缩软件来提取下载文件的内容。我在我的案例中使用了 WinRar,所以...
【解决方案2】:

请使用官方的 NuGet 包。我写了这个blog post 作为指南。我还是希望把非官方的包拿下来。

【讨论】:

  • 知道这个神秘的 nuget-bot 是谁吗?我还没有深究
【解决方案3】:

我已通过简单地将 Microsoft.WITDataStore.dll 复制到 Microsoft Team Foundation 包文件夹来解决此错误。您可以手动下载此包后复制此dll。

packages\Microsoft.TeamFoundation.11.0.0.0\lib\net20

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2020-12-24
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    相关资源
    最近更新 更多