【问题标题】:Is it possible to build a C# project as a .Netcore application if it has a .Netframework dependencies如果 C# 项目具有 .Net Framework 依赖项,是否可以将其构建为 .Net Core 应用程序
【发布时间】:2019-11-11 18:31:51
【问题描述】:

我有一个完全可移植的.NetCore 应用程序(作为跨平台工作)。现在,我需要引用并使用.Netframework 库,当且仅当我的应用程序在Windows 设备上运行时,我才会使用它的功能。

我发现可以通过使项目的.csproj 配置文件针对多个SDK(.NetCore.NetFramework)像这样<TargetFrameworks>net472;netcoreapp2.1</TargetFrameworks>

我的问题是,将我的应用程序构建为针对多个框架(如上例)是否使其可移植(适用于 Windows 和 Linux)?

编辑:

有人将此问题标记为与另一个问题的重复,该问题被回答为使用.Netstandard 可以解决问题。我还是看不懂。

就我而言,我有一个已经构建的.netframework 类库,但我没有它的源代码,所以我无法将它翻译成.netstandard 并简单地使用它。

如果我的.NetCore 应用程序在Windows 下运行,我需要直接在我的.Netframework 应用程序中使用.Netframework 类库,这可能吗?

【问题讨论】:

标签: c# .net .net-core


【解决方案1】:

没有。您需要改用.NET Standard 类库:

.NET 标准支持以下关键场景

  • 为所有要实现的 .NET 实现定义统一的 BCL API 集,与工作负载无关。

  • 使开发人员能够使用同一组 API 生成可跨 .NET 实现使用的可移植库。

  • 由于 .NET API,减少甚至消除了共享源的条件编译,仅适用于 OS API。

【讨论】:

    猜你喜欢
    • 2020-07-08
    • 2017-08-16
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多