简体   繁体   English

.NET Framework 4.7.2 和 MoreLINQ

[英].NET Framework 4.7.2 with MoreLINQ

I am trying to update a large solution to .NET Framework 4.7.2 with VS2019.我正在尝试使用 VS2019 更新 .NET Framework 4.7.2 的大型解决方案。 One of the problems with this solution is that it is a large plugin type architecture, where (for many reasons) I am not able to recompile and release the plugins to production with the updated shared set of libraries that the solution provides.此解决方案的问题之一是它是一个大型插件类型架构,其中(出于多种原因)我无法使用解决方案提供的更新的共享库集重新编译和发布插件到生产中。

Normally this is OK, but we have to be very careful to ensure full backwards binary compatibility.通常这是可以的,但我们必须非常小心以确保完全向后二进制兼容性。 When we recently upgraded to .NET 4.7.2, we started getting conflicting usage indicators between System.Linq and MoreLinq , generally on the .ToHashSet() extension that we commonly use.当我们最近升级到 .NET 4.7.2 时,我们开始在System.LinqMoreLinq之间出现冲突的使用指标,通常在我们常用的.ToHashSet()扩展上。 The problem is outlined somewhat on MoreLinq's github问题在MoreLinq 的 github有所概述

I think the only way to correct this is to isolate MoreLINQs usage into a single DLL that I control, and once all plugins reference that DLL upgrade to 4.7.2, fixing the .ToHashSet() call in the common location at that time.我认为纠正这个问题的唯一方法是将 MoreLINQ 的使用隔离到我控制的单个 DLL 中,一旦所有插件引用该 DLL 升级到 4.7.2,在当时的公共位置修复.ToHashSet()调用。

Does anyone know of a better/more efficient way to do this, without re-releasing all the plugins at once?有没有人知道一种更好/更有效的方法来做到这一点,而无需立即重新发布所有插件? Some kind of global redirect that I am not aware of?某种我不知道的全局重定向?

Evidently this just works.显然这只是有效。 Installing the solutions common DLLs @ 4.7.2 alongside older plugins @ 4.5.2 worked fine, even though those plugins had compilation errors when compiling in Visual Studio against 4.7.2.将解决方案通用 DLL @ 4.7.2 与旧插件 @ 4.5.2 一起安装工作正常,即使这些插件在 Visual Studio 中针对 4.7.2 编译时出现编译错误。

I'd be curious to know what internals are making this succeed.我很想知道是什么内部结构使这成功。 Does the system load multiple versions of .NET framework DLLs for the running process?系统是否为正在运行的进程加载了多个版本的 .NET 框架 DLL?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 C# .NET 框架 4.7.2 中的 8 个功能 - C# 8 features in .NET Framework 4.7.2 EnableCors 使用 ApiController 但不使用 Controller .NET 框架 4.7.2 - EnableCors working with ApiController but not with Controller .NET Framework 4.7.2 使用WIX安装程序安装.NET Framework 4.7.2(如果需要) - Install .NET Framework 4.7.2 (if needed) with WIX installer 使用 .net framework 4.7.2 而不是 .net core 实现条带订阅 - Implement stripe subscriptions with .net framework 4.7.2 and not .net core Autofac和ASP .Net Web API版本4.2.0 .NET Framework 4.7.2 - Autofac and ASP .Net Web API version 4.2.0 .NET Framework 4.7.2 如何将 Visual Studio 2019 中的 .NET 版本更改为 .NET Framework 4.7.2? - How to change .NET version in Visual Studio 2019 to .NET Framework 4.7.2? 从 .NET 框架 4.7.2 升级到 .NET 6 后无法验证 AzureAD - Can not authenticate AzureAD after upgrading to .NET 6 from .NET framework 4.7.2 EntityFramwork 与 .net 框架 4.7.2 项目和 .net 标准 2.0 项目的兼容性 - EntityFramwork compatibility with .net framework 4.7.2 projects and .net standard 2.0 project 在 .Net Core 项目中使用 .Net Framework dll (v4.7.2) - Use .Net Framework dll (v4.7.2) in .Net Core project .NET Core Httpclient可以工作但.Net Framework 4.7.2 httpclient却没有 - .NET Core Httpclient works but .Net Framework 4.7.2 httpclient doesn't
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM