首页 > 解决方案 > 如果 C# 项目具有 .Netframework 依赖项,是否可以将其构建为 .Netcore 应用程序

问题描述

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

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

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

编辑:

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

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

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

标签: c#.net.net-core

解决方案


不,您需要改用.NET Standard类库:

.NET Standard 支持以下关键场景

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

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

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


推荐阅读