gpt4 book ai didi

c# - 在 ASP.NET Core3.1 中使用包含 'System.Web.HttpContext' 的遗留项目

转载 作者:行者123 更新时间:2023-12-03 23:49:36 25 4
gpt4 key购买 nike

我们有一些遗留项目,用 .Net Framework 编写,应该由 ASP.NET Core3.1 编写的 API 项目使用。
问题是这些遗留项目正在使用您知道在 .net 核心中不再存在的“System.Web.HttpContext”。
现在我们收到此错误:
' 无法从程序集 'System.Web 加载类型 'System.Web.HttpContext',版本=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'。
你以前遇到过这个问题吗?有人可以帮忙吗?

最佳答案

.NET Framework 库在技术上与 .NET Core 不兼容。 .NET Standard 库是,并且由于 .NET Framework 和 .NET Core 都实现了 .NET Standard,因此 Microsoft 在编译器中进行了特殊豁免,以允许面向 .NET Core 的项目引用 .NET Framework 库,但需要注意的是它们实际上可能不起作用。当您从 .NET Core 项目引用 .NET Framework 库时,您会收到有关此效果的警告。

只要 .NET Framework 库仅使用与 .NET Standard 2.0 兼容的 API,它就可以工作。 System.Web.HttpContext 不是这样的 API,因此它在 .NET Core 项目中不起作用。时期。你对此无能为力。

您可以尝试使用编译器指令多目标您的库和子 .NET Core 兼容 API。这会起作用,但很快就会变得困惑。否则,您只需为 ASP.NET Core 编写新版本的库,因为您可能正在尝试维护对 ASP.NET 的当前库的支持。

关于c# - 在 ASP.NET Core3.1 中使用包含 'System.Web.HttpContext' 的遗留项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59642906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com