可以参考"传统"来自.net核心应用程序的(旧).net库

时间:2016-10-03 11:47:20

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

关于从.net核心应用程序(例如ASP.Net Core)到常用的.net框架库的向后引用可能性,有一些令人困惑的信息。我现在得到了以下印象:

  1. 如果您使用" netcoreapp1.0",则根本无法引用普通库。
  2. 如果您正在使用例如" net451",然后你可以引用它,但你必须先将它包装在带有相应标签的nuget包中。
  3. 这听起来不错吗?

    P.S。我想也许在案例1中反编译为IL并重新编译为" netcoreapp1.0"或" netstandard1.6"还是其他一些伏都教可以帮忙吗?

    P.P.S。正如评论中所提到的那样,它可以引用普通的类库项目,而这个项目又可以引用库,但这意味着你必须包装库中的所有内容,所以如果可以使用它,则需要很多。< / p>

1 个答案:

答案 0 :(得分:4)

目前这是不可能的。

您有3个选项:

  1. 尝试将旧项目转换为可移植类库(PCL),然后由.net核心应用程序引用。
  2. 将您的项目包装到nuget包中(您已经提到过)
  3. 将项目添加为类库(在评论中提及),但根据that SO answerthat GitHub thread,使其工作似乎并不容易。
  4. 20-03-2017编辑: 刚刚遇到this post:现在似乎可以通过更改.csproj,UNTESTED(还)来使.NET Core应用程序以.NET 4.6为目标

      <PropertyGroup>
        <TargetFramework>netcoreapp1.1</TargetFramework>
      </PropertyGroup>
    

      <PropertyGroup>
        <TargetFramework>net46</TargetFramework>
      </PropertyGroup>
    

    然后dotnet restore后跟dotnet run