ASP.NET 5 Class 库(包)和目标框架

ASP.NET 5 Class Libraries (Package) and target frameworks

在简单的情况下,我创建了一个新的解决方案,然后向该解决方案添加了一个新的 ASP.NET 5 网络应用程序和一个 Class 库(包)。

每个项目都有默认的框架参考:
网络应用程序:dnxcore50 和 dnx451
Class 库(包):net451、dotnet5.4

如果我尝试从 Web 应用程序向 class 库添加引用,则会出现问题。它添加成功,但是当我从库中创建一个 class 的新实例时,从 Web 应用程序找不到任何东西。我相信这是因为 class 库必须支持项目中的框架。

我真的需要将所有 4 个框架都添加到我的 class 库中吗?

  "frameworks": {
    "dnxcore50": { },
    "dnx451": { },
    "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"
      }
    }
  }

难道我不能只在 class 库中使用 dnxcore50 和 dnx451 并且仍然使用系统命名空间吗?一旦我删除 net451 和 dotnet5.4,我就会收到一堆关于系统命名空间的错误。

在您的 class 库中,删除 dnxcore50 和 dnx451

"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"
    }
  }
}