System.TypeLoadException:“无法从程序集“System.Web”加载类型“System.Web.HttpContextBase”,

Posted

技术标签:

【中文标题】System.TypeLoadException:“无法从程序集“System.Web”加载类型“System.Web.HttpContextBase”,【英文标题】:System.TypeLoadException: 'Could not load type 'System.Web.HttpContextBase' from assembly 'System.Web, 【发布时间】:2018-04-06 08:58:40 【问题描述】:

每当我尝试在 Asp.net Core 中使用 System.Web.Helpers 命名空间加载图表时,我都会收到此异常。

System.TypeLoadException: '无法加载类型 来自程序集“System.Web”的“System.Web.HttpContextBase”, 版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a'.'

new System.Web.Helpers.Chart(width: 800, height: 200).AddTitle("My Chart").AddSeries(chartType: "column", 
           xValue: new[]  _context.DemoTable.Select(o => o.Month) ,
           yValues: new[]  _context.DemoTable.Select(o => o.AutomationPercentage) 
          ).Write("png");

我在这里做错了什么??

【问题讨论】:

System.Web.HttpContextBase 是 System.Web 程序集的一部分。 .NET Core 默认不添加此 DLL 的引用,也不推荐这样做。我认为 System.Web.Helpers 是 .NET Framework 库而不是 .NET Core 感谢您的回复。请告诉我我需要添加哪个库才能完成这项工作。 【参考方案1】:

该类存在于其他命名空间中,因此请确保您使用的是 Microsoft.AspNetCore.Mvc 而不是 .NET 框架版本。

【讨论】:

我在尝试通过 xUnit .NET Core 单元测试测试 .NET Framework 代码时收到此错误。我需要在我的 .NET 核心项目中添加什么才能使其正常工作?【参考方案2】:

我相信您已经安装了仅针对 Net MVC 的软件包,因此对 System.Web.HttpContextBase 具有依赖关系,而 Net Core 中不存在这些依赖关系。要解决此问题,您需要找到您安装的软件包不支持您的 Net core 并安装替代方案

【讨论】:

以上是关于System.TypeLoadException:“无法从程序集“System.Web”加载类型“System.Web.HttpContextBase”,的主要内容,如果未能解决你的问题,请参考以下文章

System.TypeLoadException:无法使用令牌 01000019 解析类型

System.TypeLoadException:'AndroidX.AppCompat.View.Menu.MenuItemImpl 类型的 VTable 设置失败'

System.TypeLoadException:“MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatingExpressio

MySql EntityFrameworkCore System.TypeLoadException

FFImageLoading 在 Android 中引发异常并出现错误:System.TypeLoadException:由于找不到方法,无法加载方法覆盖列表:

C#使用反射工厂模式遇到System.TypeLoadException