如何修复相互导致的配置错误“无法找到 CodeDom 提供程序类型”和解析错误“无法加载类型”?

Dan*_*nai 6 c# asp.net visual-studio global-asax iis-express

我目前正在开发一个项目,其中包括 ASP.net、JS、C#、Html 等。我的项目运行良好,加载任何内容都没有问题,使用 IIS Express (10.0) 运行也没有任何问题。我添加了更多的类并编辑了一个 Web 表单,当我尝试运行代码以检查我的工作时,我在 \'/\' 应用程序中遇到了“服务器错误”。抛出配置错误。

\n\n
\n

描述:处理服务此请求所需的配置文件期间发生错误。请查看下面的具体错误详细信息并相应地修改您的配置文件。\n 解析器错误消息:CodeDom 提供程序类型\n“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,\n Microsoft.CodeDom.Providers.DotNetCompilerPlatform,版本=2.0 .1.0,\n 文化=中性,PublicKeyToken=31bf3856ad364e35" 无法\n 定位。

\n\n

来源错误:

\n
\n\n
Line 31: <system.codedom>\nLine 32: <compilers>\nLine 33: <compiler language="c#;cs;csharp" extension=".cs"\nLine 34: type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"\nLine 35: warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

源文件:C:\\Users\\Dell\\Desktop\\School\\\xd7\x9e\xd7\x93\xd7\xa2\xd7\x99\xd7\x94\xd7\x9e\xd7\x97\xd7\ xa9\xd7\x91\\WebProject\\Project\\web.config 行:33

\n\n

版本信息:Microsoft .NET Framework版本:4.0.30319;ASP.NET版本:4.8.4075.0

\n
\n\n

当我尝试寻找解决方案时,我找到了一些解决方案,但它们都导致我出现“解析器错误”,“无法加载类型”。

\n\n
\n

描述: 解析服务此请求所需的资源时发生错误。请查看以下特定\n 解析错误详细信息并适当修改您的源文件。

\n\n

解析器错误消息:无法加载类型“Project.Global”。

\n\n

来源错误:

\n
\n\n
Line 1:  <%@ Application Codebehind="Global.asax.cs" Inherits="Project.Global" Language="C#" %>\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

源文件:/global.asax 行:1

\n\n

版本信息: Microsoft .NET Framework 版本:4.0.30319;\n ASP.NET 版本:4.8.4075.0

\n
\n\n

无论我尝试使用什么方法或方法来解决这些问题,我似乎总是回到第二个......\n有人可以帮忙吗?

\n

小智 10

这很可能是因为你有

<system.codedom>
    <compilers>
        <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
        <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
</system.codedom>
Run Code Online (Sandbox Code Playgroud)

在您的 Web.config 文件中,但项目中未安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包。检查您的项目包引用以查看该包是否已安装。如果不是,请转到 Nuget Package Manager 并安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform。


Swa*_*gwa 4

确保该/bin文件夹不为空。它应该包含.dll构建后的所有文件