【问题标题】:Reference to type '' claims it is defined in 'System.Web', but it could not be found引用类型“”声称它在“System.Web”中定义,但找不到
【发布时间】:2018-11-23 15:09:30
【问题描述】:

我正在开发一个 .NET Core 2 应用程序,我需要一个仅用 Framework 4.6 编写的 Nuget 包。我已经下载了 Nuget 包,最初创建类的实例没有问题。

但是,当我尝试使用其中一种方法时,我在 VS 2017 中收到错误消息“对类型的引用声称它是在 'System.Web' 中定义的,但找不到”、“模块'System .Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 应该被引用”。

我读过几篇文章说可能无法引用所需的 System.Web.dll。

但是我也看到了这些:

Using external .dll in dot net core

.net core 1.0 visual studio referencing external dll

我尝试将其添加为项目的引用,并使用Nuget Package Explorer 创建一个包含 System.Web 的 Nuget 包。

我是否可以通过正确引用 System.Web.dll 来解决这个问题,或者这在 .NET Core 2 中是不可能的?

【问题讨论】:

  • 您要安装什么软件包?您将无法在 .NET Core 中使用经典的 ASP.NET 内容
  • @CamiloTerevinto 这是一个使用 .Net Framework 编写的自定义包

标签: c# .net-core nuget-package


【解决方案1】:

在 .NET Core 2 中无法使用 System.Web 命名空间/dll 的 API。

虽然可以使用 .NET Framework NuGet 包和 DLL,但此兼容层只是一种尽力而为的方法,如果外部代码尝试使用 .NET Core 中不可用的 API(例如类型),则可能会失败在System.Web

【讨论】:

  • 那我们应该用什么来替代呢?
猜你喜欢
  • 2018-09-12
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 2021-11-29
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多