【问题标题】:Add .NETFramework 4.5 dll to .NETCore project将 .NET Framework 4.5 dll 添加到 .NET Core 项目
【发布时间】:2016-12-08 11:10:00
【问题描述】:

我有一个以前生成的 DLL,其中包含一些我想在 .NETCore 项目中重用的企业代码。但是,由于原始 DLL 是使用 .NETFramework 4.5 创建和编译的,我无法直接添加 dll 作为参考。

我创建了一个包含我的 dll 的 nuget 包,如 here 所示。之后,我可以将这样的包添加到项目中。但是,我遇到以下错误:

"依赖MyAssembly.dll不支持框架 .NETCoreApp,Version=v1.0"

我已经尝试过引用 .NETCore.Portable.Compatibility 但我认为这不是正确的方法。如何在我的代码上使用这个 dll? 这是我的 project.json 添加 Nuget 包后的样子。

{
  "version": "1.0.0-*",

  "dependencies": {
    "MyAssembly.dll": "1.0.0",
    "Microsoft.EntityFrameworkCore": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "NETStandard.Library": "1.6.0"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [ "dnxcore50", "portable-net451+win8" ]
    }
  }
}

【问题讨论】:

标签: c# asp.net asp.net-core .net-core .net-framework-version


【解决方案1】:

您可以在 .netcore 类库的项目 json 文件中添加多个框架。默认情况下,您将拥有 .net 核心框架。只需添加逗号并添加您所需的 .net 框架。

{
    "version": "1.0.0-*",
    "frameworks": {
        "netstandard1.6": {
            "dependencies": {
                "NETStandard.Library": "1.6.0"
            },
            "imports": "dnxcore50"
        },
        "net45": {
            "dependencies": {},
            "imports": "net452"
        }
    }
}

【讨论】:

  • 我做了这样的事情,但是我没有添加另一个框架,而是在 netstandard1.6 的依赖项下添加了所需的框架,谢谢!
  • 我的项目文件是 Xml,只有这个 TargetFramework netcoreapp2.0。我不确定如何翻译。任何帮助将不胜感激。
【解决方案2】:

如果您的 .NET 4.5 dll 未编译为 PCL,则无法从以 netcoreapp1.0 为目标的项目中引用它。它应该被重新编译为可移植库或目标网络标准 API 集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-02
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多