引用类型''声明它在'System.Web'中定义,但无法找到它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引用类型''声明它在'System.Web'中定义,但无法找到它相关的知识,希望对你有一定的参考价值。

我正在研究.NET Core 2应用程序,我有一个我需要的Nuget包,它只用Framework 4.6编写。我已经下载了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 2中无法使用System.Web命名空间/ dll的API。

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

以上是关于引用类型''声明它在'System.Web'中定义,但无法找到它的主要内容,如果未能解决你的问题,请参考以下文章

未定义或导入预定义类型'system.datatype'(所有数据类型)

未声明的类型'有效',没有这样的模块'验证'

错误:对类型为'const ItemInstance'的引用无法绑定到类型为'void'的右值

使用未声明的类型'对象'

'var_name'未声明。由于其保护级别,它可能无法访问。在调试模式下

无法解析程序集或Windows元数据文件'System.Data.dll'