【问题标题】:WebGrid .getHtml issue. Reference to type 'IHtmlString' claims it is defined in 'System.Web', but it could not be foundWebGrid .getHtml 问题。对类型“IHtmlString”的引用声称它是在“System.Web”中定义的,但找不到
【发布时间】:2021-11-29 06:32:20
【问题描述】:

我正在使用 NET 5.0 在 Visual Studio 2019 中开发 ASP.NET 应用程序,并尝试使用我命名为“grid”但无法使用“grid.GetHtml”的 webgrid 显示数据库条目。每当我使用它时,我都会收到以下错误: 对“IHtmlString”类型的引用声称它在“System.Web”中定义,但找不到。

我已尝试重新安装所有 NuGet 包并多次重建我的解决方案,但没有成功。

我觉得我的目标框架和我的包之间可能存在一些不一致,但我不确定如何解决这个问题。我必须创建一个 web.config 文件来建立我到数据库的连接字符串,但除此之外,我的项目非常简单,到目前为止是直截了当的。

[带有“GetHtml”错误的代码] [1]:https://i.stack.imgur.com/BvfJ7.png

[NuGet 包列表] [2]:https://i.stack.imgur.com/nkqf8.png

【问题讨论】:

    标签: c# asp.net visual-studio visual-studio-2019 .net-5


    【解决方案1】:

    我找到了针对我的特定问题的解决方案。在 Visual Studio 2019 中创建项目时,我选择了模板“ASP.NET Web App (Model View Controller)”。显然这个模板与 .NET 4.x 不兼容,这是我使用的一些包所需要的。事实上,我什至找不到将目标框架切换到 5.0 或 3.1 之外的其他框架的方法。

    所以我使用模板“ASP.NET Web 应用程序 (.NET Framework)”从头开始创建了一个新项目,它允许我从更大的列表中选择框架,包括 .NET 4。 x 框架(我使用的是 4.8,默认情况下包括其他文件,例如 web.config 文件),这是我的项目所必需的。

    【讨论】:

      【解决方案2】:

      将以下内容添加到您的文件中

      using System.Web;
      

      也可以在这里查看:The type 'System.Web.IHtmlString' is defined in an assembly that is not referenced

      【讨论】:

      • 感谢您的回复。我尝试添加“使用 System.Web”,但仍然没有。我检查了您链接的线程并尝试添加对 System.Web 的引用,但 Visual Studio 提醒我说“引用无效或不受支持”,这让我觉得我的包和 .NET 5.0 框架之间存在一些问题。我可能会尝试在 .NET 4.8 框架中重新启动项目,看看是否有任何改变
      猜你喜欢
      • 2019-02-21
      • 2018-11-23
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      • 2018-10-21
      相关资源
      最近更新 更多