2016-08-02 191 views
3

我有一個以前生成的DLL與一些企業代碼,我想在一個.NETCore項目中重用。但是,由於原始DLL是使用.NETFramework 4.5創建和編譯的,因此我無法直接將dll作爲參考添加。添加.NETFramework 4.5 dll到.NETCore項目

我創建了一個包含我的dll的nuget包,如here所示。之後,我可以在項目中添加這樣的軟件包。不過,我有以下錯誤:

"The dependency MyAssembly.dll does not support framework .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" ] 
    } 
    } 
} 
+0

看看到http://stackoverflow.com/questions/37842366/compatibility-between-dotnetcore-and-framework-4-5 –

回答

3

您可以在.netcore類庫中的項目json文件中添加多個框架。默認情況下,你將擁有.net核心框架。只需添加逗號並添加您所需的.net框架。

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

我做了這樣的事情,但不是增加一個框架,我加入netstandard1.6依賴關係下所需的框架謝謝! –

+0

我的項目文件是Xml,只有這個TargetFramework netcoreapp2.0。我不確定如何翻譯。任何幫助,將不勝感激。 –

0

如果你的.NET 4.5 dll沒有被編譯爲PCL,你不能從目標爲netcoreapp1.0的項目中引用它。它應該重新編譯爲可移植庫或目標netstandard API集。