【问题标题】:Referencing class library in ASP.NET 5 - dependency issues在 ASP.NET 5 中引用类库 - 依赖问题
【发布时间】:2016-02-02 17:34:42
【问题描述】:

我的自定义类库(针对 .NET 4.5.1)引用 Newtonsoft.Json 8.0.2(迄今为止的最新版本)。我添加了这个类库作为对新 ASP.NET 5 Web API 项目的引用。

来自错误列表输出:

错误 NU1002 MyProject 项目中的依赖 Newtonsoft.Json 1.0.0 不支持框架 DNXCore,Version=v5.0。

这部分似乎有点不言自明,但是,我不明白为什么它将我的引用版本更改为 1.0.0。

来自 References --> DNX 4.5.1 --> MyClassLibrary 节点:

NU1007 指定的依赖项是 Newtonsoft.Json >= 8.0.2 但最终以 Newtonsoft.Json 1.0.0 结束。

我已尝试多次删除/重新添加引用,但均无济于事。我确实注意到一些 ASP.NET 库使用 Newtonsoft.Json 6.0.6——我不确定这是否与它有关。

如果我导航到 wrap 文件夹 --> Newtonsoft.Json --> json 文件,并将 "Newtonsoft.Json 1.0.0-*" 替换为 “Newtonsoft.Json 8.0.2-*”,它修复了 DNX 4.5.1 节点的引用。

但是,之后仍然显示错误,说我的类库中引用的 Newtonsoft.Json 8.0.2 不支持 DNXCore 50。

我不知道该怎么办。任何帮助将不胜感激。

【问题讨论】:

  • 您应该将您使用的完整项目上传到某个地方。我想你的项目现在有wrap 目录,其中包括project.json 以及关于Newtonsoft.Json 的错误版本信息。见my old answer
  • 感谢您的回复奥列格!我确实看过你以前的帖子,我相信它有所帮助。我不得不从我的项目目录中删除 wrap --> Newtonsoft.Json 文件夹,然后我可以毫无错误地添加引用。
  • 不客气!很高兴能帮到你。

标签: asp.net json.net dnx


【解决方案1】:

回答我的问题: 多亏了奥列格的回应,我才能让它工作——但是有两个障碍。一个是为 Newtonsoft.Json 创建的“wrap”文件夹。在我的解决方案的根目录中是一个“包装”文件夹,其中包含一个名为 Newtonsoft.Json 的文件夹。显然(?)该文件夹不应该被创建(我不知道它是如何创建的)。删除它后,我可以添加对自定义类库的引用,而不会出现引用 Newtonsoft.Json 的任何错误。

但是,当我开始尝试在代码中使用我的自定义程序集时,我会收到一个关于不支持 DNX50 的错误——这是有道理的,因为我的自定义引用程序集是一个 .NET 4.5.1 类库。

This GitHub link has many people experiencing a similar issue

但是,我设法通过删除 DNXCore50 的目标来构建所有内容并消除错误。这对我有用,因为我只是想在 Web API 和 WPF 项目之间共享一些 POCO 数据模型。我目前对定位 DNXCore 不感兴趣。

我对 ASP.NET 的未来充满期待,但新事物有点挑战,至少对我来说是这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 2023-04-02
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多