.NET标准DLL二进制文件是否与.NET Framework兼容?

gal*_*tor 5 .net c# .net-standard

我目前有一个构建为.NET Framework 4.6.1的实用程序库,并由各种.NET Framework应用程序引用.

我现在想要创建一个新的.NET Core应用程序,因此我想将实用程序库转换为.NET Standard 2.0,以便它可以被两种类型的应用程序使用.

如果我只是打开库的源代码,将目标更改为.NET Standard 2.0并重建它(假设它只使用.NET Standard中提供的API),我可以删除新的程序集以替换现有的程序集现有的应用程序是否仍然有效?或者是否需要针对新版本重建应用程序?

更常见的相关问题是,与.NET Framework相比,.NET标准DLL生成的元数据有何不同,以及它们如何/如果影响装配解析器?

(为了抢先评论"为什么不试试看看",我想知道这是否是一个支持的场景,而不仅仅是技术上是否适用于我)

AAA*_*ddd 14

.Net Standard.Net Framework.Net Core之间(但不限于)的兼容横截面

想想这样

在此输入图像描述

或者,更标准的宣传图片之一

在此输入图像描述

.Net Framework中有很多东西在.Net Core中没有多大意义.例如Windows特定的东西.

但是,您可以使用.NET可移植性分析器来解决任何明显的兼容性问题

想让您的图书馆成为多平台吗?想了解需要做多少工作才能使您的应用程序与其他.NET实现和配置文件兼容,包括适用于iOS,Android和Mac的.NET Core,.NET Standard,UWP和Xamarin?.NET可移植性分析器是一个工具,通过分析程序集,为您提供有关程序在.NET实现中的灵活程度的详细报告.Portability Analyzer作为Visual Studio扩展和控制台应用程序提供.

这是另一张(工具的)图片,因为它使我的帖子看起来很详细

在此输入图像描述

回答你的问题

如果我只是打开库的源代码,将目标更改为.NET Standard 2.0并重建它,我可以删除新的程序集以替换现有的程序集,现有的应用程序是否仍然有效?或者是否需要针对新版本重建应用程序?

据我所知,需要重建,试试看看会发生什么,让我们知道.

有太多的东西可以使这不起作用.

更常见的相关问题是,与.NET Framework相比,.NET标准DLL生成的元数据有何不同,以及它们如何/如果影响装配解析器?

不完全确定你的意思,但重建后它会解决同样的问题.

(为了抢先评论"为什么不试试看看",我想知道这是否是一个支持的场景,而不仅仅是技术上是否适用于我)

就我所知或可能研究而言,仅支持更换组件.然而,也许其他人在这里有更多的信息.