【问题标题】:What is wrong with my class library reference in an MVC 6 Web Api project?我在 MVC 6 Web Api 项目中的类库引用有什么问题?
【发布时间】:2015-11-09 04:25:56
【问题描述】:

在 VS 2015 社区工作,我创建了一个 Services 类库项目,针对 .NET 4.6。现在,在我的主要Api 项目中,所有引用都属于DNX 4.5.1DNX Core 5。当我添加对Services 的引用时,出现编译器错误:

依赖服务 >= 1.0.0-* 不能 解析 Api C:\Development\Surveys\src\Api\project.json

我必须做些什么才能使我的类库与Api 项目兼容?

【问题讨论】:

  • 您是否已将Services 类库项目迁移到 DNX 4.5.1 和 DNX Core 5,或者您尝试在 MVC6 项目中直接使用以前编译的针对 .NET 4.6 的 dll 没有 迁移?
  • 所有项目都应该在同一个文件夹中。见:stackoverflow.com/questions/33565019/…
  • 尝试将引用“dnx451”更改为“dnx46”。 stackoverflow.com/questions/33242352/… 或以其他方式将您的类库编译为 .net 4.5.1
  • @Oleg,我将如何迁移项目?在项目属性中,我没有任何 DNX 作为平台可供选择?
  • @JuergenGutsch 你怎么能指出一个未回答的问题,特别是当问题是关于引用不在同一个文件夹中时不起作用的问题?项目必须在同一个文件夹中是一个荒谬的解决方案,因为当我添加项目引用时 VS 应该保留文件夹信息,或者如果 ASP.NET 5 Beta 仍然存在错误,我应该能够将路径信息添加到 project.json。无论如何,它们都在同一个解决方案文件夹中。

标签: asp.net asp.net-core asp.net-core-mvc dnx


【解决方案1】:
  1. 如果您的主 (Api) 项目支持,您的两个项目都必须以 DNX Core 5 为目标
  2. 您不能引用版本高于源代码一的 .net 项目。所以你的两个项目都应该针对 4.6

你描述问题的方式我不确定Services是正常的(我们称之为old)类库还是ASP.NET 5类库。如果它是 old 那么您的主项目不能针对核心 clr。只需从 project.json 中删除此 TFM。

【讨论】:

  • 两个项目的不同 .NET 版本。哇!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 2011-03-06
  • 2015-11-17
相关资源
最近更新 更多