在.NET 4.5.2控制台应用程序中使用.NET Core库

时间:2017-01-30 13:37:31

标签: c# .net asp.net-core .net-core project.json

我有两个项目:一个项目基于.NET Core构建,另一个基于普通的.NET Framework 4.5.2构建。

我想知道如何在我的.NET控制台应用程序中使用我的.NET Core cass库。

这是我的project.json:

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0",
    "NLog.Web.AspNetCore": "4.3.0",
    "System.Xml.XmlSerializer": "4.0.11"
  },

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    },
    "net452": {}
  }
}

我试图将该项目作为普通参考。但是在重新构建解决方案之后,控制台应用程序仍然没有将.NET Core库作为参考。

1 个答案:

答案 0 :(得分:3)

Visual Studio 2017可以本机执行此操作; Visual Studio 2015不能(从更新3开始)。许多这些工具错误和问题正在修复和最终确定使用稳定版本的.NET Core工具,预计VS 2017。

如果您仍在使用VS 2015,今天可以使用两种解决方法:

  • 使用dotnet pack为类库生成NuGet包。由于您在project.json中定位net452,因此它将与.NET Framework 4.5.2项目兼容。您可以在local feed上托管它并将其安装在您的控制台应用程序项目中。

  • 手动引用编译库时生成的DLL。它应该在bin/net452/YourLibrary.dll。这不是一个很好的解决方案,因为它很脆,很容易破碎。