【问题标题】:How to compile .NET Core 2.1 API project to target .NET Framework 4.7如何编译 .NET Core 2.1 API 项目以面向 .NET Framework 4.7
【发布时间】:2018-11-14 02:40:53
【问题描述】:

正如标题所示,我需要修改编译.NET Core 2.1 API 项目的目标,使其作为.NET Framwork 4.7 运行。

我尝试仅编辑 .csprj 文件但还不够,我认为问题与 Microsoft.AspNetCore.App 中包含的包有关,但我不知道如何解决。有人知道怎么做吗?

只是为了新闻,我需要做这件事才能在 Hosting Aruba 中发布,目前 IIS 中没有包含 .NET Core(我什至没有安装它......)。

提前感谢您的每一个建议。

里卡多

【问题讨论】:

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


    【解决方案1】:

    正如您正确提到的,Microsoft.AspNetCore.App 与 .NET Framework 不兼容。

    从项目文件中删除对它的引用并将其替换为兼容的包:

      <PropertyGroup>
        <TargetFramework>net47</TargetFramework>
      </PropertyGroup>
    
      <ItemGroup>
        <PackageReference Include="Microsoft.AspNetCore" Version="2.1.4" />
      </ItemGroup>
    

    【讨论】:

    • 谢谢!刚刚添加了一些包,它的工作原理!
    【解决方案2】:

    Microsoft.AspNetCore.App 确实不支持 .NET Framework 4.7 - 所以你不能轻易做到这一点。

    可能您可以使用 Microsoft.AspNetCore.App 所针对的一些手动子集,并让它工作 - 但这只有在您使用 Microsoft.AspNetCore.App 时才会有所帮助作为一个元包,不需要Microsoft.AspNetCore.App 本身的东西。所以:您可以尝试删除 Microsoft.AspNetCore.App 依赖项,看看失败的原因,然后尝试重新添加包。通过扩展 nuget page 上的“依赖项”可以看到 Microsoft.AspNetCore.App 导入的内容列表

    但是:这完全有可能只是不可能

    【讨论】:

    • 听起来用户想要以 4.7 为目标不是因为客户端代码已满,而是主机在 IIS 框上没有核心。独立构建怎么样?
    • @klabranche 随意提出建议!
    • 除了我认为仍然需要 IIS 的 Core Hosting Bundle 之外......不记得了......为什么我用它作为评论......你还记得吗?
    • 需要.... stackoverflow.com/questions/50041154/net-core-hosting-bundle 所以我的想法不会奏效。 :-)
    猜你喜欢
    • 1970-01-01
    • 2018-12-08
    • 2021-11-25
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多