【问题标题】:System.Web.ApplicationServices in .NET Core 2.NET Core 2 中的 System.Web.ApplicationServices
【发布时间】:2018-08-01 16:42:45
【问题描述】:

我正在 .NET Core 2 中构建 Web API。我正在使用一些自定义 nuget 包来利用它们的内置功能。这些自定义包是针对较旧的 .NET 版本 (4.6.1) 构建的。问题是其中一些包引用了旧的 System.Web dll。我在解决方案中的一些自定义包上收到此警告

使用 '.net framework version=v4.6.1 而不是使用 proj 目标框架恢复包。

当我调用自定义包之一中的代码时,该应用程序也在下面抛出此异常

System.IO.FileNotFoundException: 无法加载文件或程序集 System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral,系统找不到指定的文件

除了在我的 Web Api 中重写代码之外,还有什么方法可以解决这个问题?

【问题讨论】:

标签: asp.net-core version nuget-package-restore system.web .net-4.6.1


【解决方案1】:

没有。 System.Web 与 Core 完全不兼容。虽然 Microsoft 开放了针对 .NET Framework 的 NuGet 包以与 .NET Core 一起使用,但它这样做仅基于 .NET Standard 2.0 兼容性,并且不保证这些包将部分或全部运行。实际上,您会在编译期间收到一条警告,告诉您同样多的信息。此外,虽然您实际上可以将 ASP.NET Core 应用程序之类的应用程序实际定位到 .NET Framework,但同样不能保证第三方组件的兼容性,因为它们针对的是相同的框架。

长短不一,如果对System.Web有任何依赖,你就不能用了。

【讨论】:

  • 谢谢克里斯,感谢您的澄清
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 2017-07-06
相关资源
最近更新 更多