【问题标题】:Errors loading references in Visual Studio 2015 with Aspnet 5使用 Aspnet 5 在 Visual Studio 2015 中加载引用时出错
【发布时间】:2015-08-14 16:20:58
【问题描述】:

我已经使用 VS 2015 和 ASP.NET 5 开始了一组新项目。

我在引用某些 nuget 包时遇到问题。现在我在新的 AspNet 5 类库中引用 Autofac 时遇到问题。

在 project.json 中添加 "Autofac": "4.0.0-beta6-110" 只会在引用树中给我一个黄色警告三角形,并显示一条消息“错误 - 请参阅错误列表”。

查看输出没有任何错误。 构建失败,项目给我以下错误:

错误无法解析依赖 Autofac >= 4.0.0-beta6-110。

值得知道的是,我已经使用不同版本的 Autofac 进行了测试,因此可能会导致一些包缓存中断。

从一个 AspNet 5 Web 项目中,我还引用了 Autofac,这似乎有效,但在参考列表中,Autofac 显示为普通参考(不是 nuget),显示 Autofac 1.0.0 不正确。

是否有清除 dnx 包缓存的方法?我试过删除文件夹 .dnx/packages 没有任何结果。

我看不出我在项目中做错了什么,所以一定有其他原因。

    {
  "version": "1.0.0-*",
  "description": "ProjectName Class Library",
  "authors": [ "author" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "dependencies": {
    "System.Collections": "4.0.10-beta-23019",
    "System.Linq": "4.0.0-beta-23019",
    "System.Threading": "4.0.10-beta-23019",
    "System.Runtime": "4.0.10-beta-23019",
    "Microsoft.CSharp": "4.0.0-beta-23019",
    "Autofac": "4.0.0-beta6-110"
  },

  "frameworks": {
    "dotnet": { }
  }
}

这是我在解决方案资源管理器中遇到的错误:

这就是它在 Web 项目中的呈现方式(即使它使用 Autofac 4.0)

【问题讨论】:

  • 尝试清除.dnx/packages(正如你已经提到的)和project.lock.json文件,然后再次点击恢复。
  • 谢谢,试过了,但也没有用:-(
  • 我想知道 Autofac 1.0.0 是从哪里来的,它甚至在 NuGet 上都不可用。你的网络应用程序的 project.json 是什么样的?
  • 我发现我的 global.json 至少是问题的一部分。我之前从 asp.net 5 中引用了一个 .csproj 项目。该 .csproj 项目已被包装,并且在 wrap 文件夹内有对旧 Autofac 参考的引用。我删除了 global.json 和 wrap 文件夹,现在 Autofac 1.0.0 问题消失了。不过类库还是有问题
  • 啊,你解决了。针对 dnxcore50 有效。谢谢!

标签: visual-studio-2015 asp.net-core


【解决方案1】:

根据您的 cmets,Autofac 似乎与 dotnet 目标框架名字对象 (TFM) 不兼容。尝试改为定位dnxcore50

"frameworks": {
  "dnxcore50": { }
}

【讨论】:

  • 我认为 dotnet TFM 也会导致其他库出现问题,包括实体框架和 MVC,考虑到它们是 Microsoft 产品,这很烦人。
猜你喜欢
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 2015-12-22
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多