引用新类库(包)的ASP.NET 5 Web应用程序

时间:2016-01-27 14:24:53

标签: c# asp.net asp.net-core asp.net-core-mvc nuget-package

我正在创建一个包含针对以下框架的ASP.NET 5 MVC Web App的大型解决方案:

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

我的解决方案中有几个新的类库(包)用于业务层,数据层等。所有这些库都针对以下框架:

  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }

我有一些测试项目针对以下框架,就像我的MVC Web应用程序一样:

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

经过大量研究后,我发现任何像我的mvc应用程序和测试库这样的项目应该以dnx为目标,而作为类库的项目应该保留默认值并定位net / dotnet5.4。

有人可以告诉我我做错了什么,因为从我的MVC Web应用程序中我无法引用我的类库(DAL,BLL)中的项目,除非我向它们添加dnx451 ...

2 个答案:

答案 0 :(得分:1)

您的网络应用中有" dnxcore50" ,而您的dll中有" dotnet5.4" ,这些可能与您不同引用的库集。您的班级图书馆应定位" dnxcore50" ,或者您的网络应用应以" dotnet5.4" 为目标' s依赖

答案 1 :(得分:0)

我只是解决了类似问题。

实际上,问题不是无法引用您的类库,而是缺乏Intellisense的支持。您可以在应用程序的project.json中手动引用类库,然后在应用程序中使用类库中的类。应用程序将构建并运行良好。至少我的建造和运行。但是VS仍然会用红色突出显示类库的类,并显示"无法解析符号"警告信息。

为了添加对Intellisense的支持,我删除了" dnxcore50"来自应用程序的project.json并添加了" net451"。所以,现在我在应用程序中有以下project.json:

  "frameworks": {
    "net451": { },
    "dnx451": { }
  },

我不能只引用" net451"因为我无法启动应用程序。 DNX只退出代码1.但是同时使用" net451"用于Intellisense支持和" dnx451"对于DNX支持,我能够继续处理我的项目并等待ASP.NET Core的RC2中的正确解决方案。