首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Core TypeLoadException无法从程序集“System.Web”加载类型System.Web

ASP.NET Core TypeLoadException无法从程序集“System.Web”加载类型System.Web
EN

Stack Overflow用户
提问于 2017-12-19 17:07:38
回答 1查看 14.6K关注 0票数 2

在开发ASP.NET Core项目的过程中,我多次遇到这个异常。

当POSTing返回到MVC控制器时,就会发生这种情况。假设ViewModel看起来是这样的:

代码语言:javascript
复制
using System.Web;

namespace MyNamespace 
{
    public class MyViewModel 
    {
        public List<SelectListItem> MyOptions { get; set; }
    }
}

此视图的标题包含以下内容

代码语言:javascript
复制
@model MyNamespace.MyViewModel

如前所述,在回发(假设视图中有一个窗体和回发)时,将引发此异常。

处理请求时发生了未处理的异常。'System.Web.PreApplicationStartMethodAttribute‘:无法从程序集'System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f7f11d50a3a’加载TypeLoadException类型。System.ModuleHandle.ResolveType(RuntimeModule模块,int typeToken,IntPtr* typeInstArgs,int typeInstCount,IntPtr* methodInstArgs,int methodInstCount,ObjectHandleOnStack类型)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-19 17:11:30

经过几个小时的调试,解决方案被证明是一个不正确的使用语句。

SelectListItem同时存在于System.WebMicrosoft.AspNetCore.Mvc.Rendering

但是,.NET核心在从System.Web引用时不支持其中的某些元素

只需将using语句更改为以下内容,就可以解决这个问题:

代码语言:javascript
复制
using Microsoft.AspNetCore.Mvc.Rendering;

这很可能发生在其他类型中,所以如果您在ASP.NET Core中出现了奇怪的错误,检查System.Web的使用语句可能是个好主意。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47891928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档