从.NET Core应用程序引用.NET 4.6.2类库

chd*_*v77 6 c# visual-studio-2015 .net-core project.json

我正在使用VS Update 3(14.0.25425.01).这就是我所做的:

  1. 创建ASP.Net核心Web应用程序(.Net Core)
  2. 创建类库.Net 4.6.2
  3. 添加net462到框架,netcoreapp1.0在project.json中导入
  4. 右键单击ASP.Net Core应用程序,单击Add Reference,选择Projects,选择您在步骤2中创建的Class Library.

我在恢复时没有错误,并且引用被添加到ASP.Net Core应用程序中.但是,我无法访问它.我无法添加使用导入声明或访问对象.我经历了很多事情,但似乎没有任何工作,帖子的版本很碎片.

在此输入图像描述

这是ASP.Net核心应用程序中的Program.cs. 在此输入图像描述

在此输入图像描述

更新 我做了Nate建议的.我以为我已经尝试过了..但是我现在可以访问我的4.6.2库了.但是,我现在收到编译错误.

在此输入图像描述

Nat*_*ini 4

这在 Visual Studio 2015 Update 3 中确实有效,但你的project.json不太正确。

它应该位于以下部分中,而不是添加到net462该部分中:importsframeworks

"frameworks": {
  "net461": { },
  "netcoreapp1.0": {
    "dependencies": {
      "Microsoft.NETCore.App": {
        "type": "platform",
        "version": "1.0.0"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

请注意,Microsoft.NETCore.App依赖项也需要移至该netcoreapp1.0部分。这是因为仅在编译为 .NET Core 应用程序时才需要此依赖项。

对 .NET 4.6.2 库的引用只是您dependencies部分的一部分:

"dependencies": {
  (...)
  "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
  "MyLibrary": {
    "target": "project"
  }
}
Run Code Online (Sandbox Code Playgroud)

通过这种方式构建,我能够毫无问题地引用和使用 .NET 4.6.2 库中的类。


作为参考,这是我使用的整个工作project.json

{
  "dependencies": {
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "MyLibrary": {
      "target": "project"
    }
  },
  "frameworks": {
    "net461": { },
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0"
        }
      }
    }
  },
  "version": "1.0.0-*"
}
Run Code Online (Sandbox Code Playgroud)