asp.net-core - .NET Core 2 中的 System.Web.ApplicationServices
问题描述
我正在.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 中重写代码之外,还有什么方法可以解决这个问题吗?
解决方案
No.System.Web
与 Core 完全不兼容。虽然 Microsoft 开放了以 .NET Framework 为目标的 NuGet 包以与 .NET Core 一起使用,但它这样做仅基于 .NET Standard 2.0 兼容性,并且不保证这些包将部分或全部运行。实际上,您会在编译期间收到一条警告,告诉您同样多的信息。此外,虽然您实际上可以让 ASP.NET Core 应用程序之类的东西实际上以 .NET Framework 为目标,但同样不能保证第三方组件的兼容性,这仅仅是因为它们以相同的框架为目标。
总而言之,如果根本有任何依赖System.Web
,你就不能使用它。
推荐阅读
- python - 如何正确传递路径变量?
- parallel-processing - Pytorch:如何在集群中的多台机器上运行代码
- ios - 如何隐藏快速可可豆饼饼图中的标签
- c# - 带有错误跟踪的 EF Core 批量插入
- python - “TypeError:列表索引必须是整数或切片,而不是浮点数”(在查找蒸发量时)
- javascript - React js在具有属性的数组中添加或删除状态对象
- javascript - 将多个图像从图库上传到休息方法导致某些图像未上传
- drake-r-package - Very long run times for drake, compared to when I run simply through R
- azure - 无法在 Azure 上为 App Insights 自定义指标创建警报
- postman - 查找 Postman 测试用例的创建日期