Add .NETFramework 4.5 dll to .NETCore project

I have a previously generated DLL with some enterprise code that I would like to reuse in a .NETCore project. However, since the original DLL was created and compiled using .NETFramework 4.5 I am not able to directly add the dll as a reference.

I created a nuget package containing my dll as shown here. After that, I am able to add such package to the project. However, I am having the following error:

“The dependency MyAssembly.dll does not support framework
.NETCoreApp,Version=v1.0”

I have already tried referencing .NETCore.Portable.Compatibility but I dont think that is the right way to go. How can I use this dll on my code?
This is what my project.json looks like after adding the Nuget package.

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

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

You can add more than one frameworks in project json file in your .netcore class library. By default you will have .net core framework. Just add comma and add your required .net framework.

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

Method 2

If your .NET 4.5 dll is not compiled as PCL, you cannot reference it from project that targets netcoreapp1.0. It should be re-compiled as portable library or target netstandard API set.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x