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

标签 c# visual-studio-2015 .net-core project.json

我正在使用 VS 更新 3 (14.0.25425.01)。这是我所做的:

  1. 创建 ASP.Net Core Web 应用程序 (.Net Core)
  2. 创建类库 .Net 4.6.2
  3. 在框架中添加net462netcoreapp1.0,在project.json中导入
  4. 右键单击 ASP.Net Core 应用,单击“添加引用”,选择“项目”,选择您在第 2 步中创建的类库。

我在恢复时没有遇到任何错误,引用已添加到 ASP.Net Core 应用程序。但是,我无法访问它。我无法添加使用导入声明或访问对象。我经历了很多事情,但似乎没有任何效果,而且帖子的版本非常零散。

enter image description here

这是 ASP.Net Core 应用程序中的 Program.cs。 enter image description here

enter image description here

更新 我按照内特的建议做了。我以为我已经试过了……但果然我现在可以访问我的 4.6.2 库了。但是,我现在遇到编译错误。

enter image description here

最佳答案

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

与其将 net462 添加到 imports 部分,不如将其添加到 frameworks 部分:

"frameworks": {
  "net461": { },
  "netcoreapp1.0": {
    "dependencies": {
      "Microsoft.NETCore.App": {
        "type": "platform",
        "version": "1.0.0"
      }
    }
  }
}

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

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

"dependencies": {
  (...)
  "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
  "MyLibrary": {
    "target": "project"
  }
}

通过以这种方式构建它,我能够毫无问题地引用和使用我的 .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-*"
}

关于c# - 从 .NET Core 应用程序引用 .NET 4.6.2 类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38836323/

相关文章:

c# - .Net core 2.0 控制台应用程序的日志记录和配置?

c# - .Net Core开放外部终端

c# - 数据库表中具有唯一 ID 但名称相同的不同行

c# - 单元测试

c# - .NET Core 依赖项的 Nuget 包恢复路径

c++ - b2BlockAllocator.cpp 中的 Box2D 崩溃

c++ - Visual Studio 2015 (C++) : lock search word (ctrl+F) for all . cpp/.h

visual-studio - 使用 Azure Functions 进行应用程序洞察搜索

c# - 在 Task.Factory.StartNew 中暂停任务

C# 不一致的可访问性错误