我目前正在开发一个项目,其中包括 ASP.net、JS、C#、Html 等。我的项目运行良好,加载任何内容都没有问题,使用 IIS Express (10.0) 运行也没有任何问题。我添加了更多的类并编辑了一个 Web 表单,当我尝试运行代码以检查我的工作时,我在“/”应用程序中遇到了“服务器错误”。抛出配置错误。
描述:处理服务此请求所需的配置文件期间发生错误。请查看下面的具体错误详细信息并适当修改您的配置文件。 解析器错误消息:CodeDom 提供程序类型 “Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform,版本=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 不能 位于。
来源错误:
Line 31: <system.codedom>
Line 32: <compilers>
Line 33: <compiler language="c#;cs;csharp" extension=".cs"
Line 34: type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Line 35: warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
源文件:C:\Users\Dell\Desktop\School\WebProject\Project\web.config 行:33
版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET版本:4.8.4075.0
当我尝试寻找解决方案时,我找到了一些解决方案,但它们都导致我出现“解析器错误”,“无法加载类型”。
描述:解析资源时发生错误 需要满足此请求。具体请查看以下内容 解析错误详细信息并适当修改您的源文件。
解析器错误消息:无法加载类型“Project.Global”。
来源错误:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="Project.Global" Language="C#" %>
源文件:/global.asax 行:1
版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET版本:4.8.4075.0
无论我尝试使用什么方法或方法来解决这些问题,我似乎总是回到第二个...... 有人可以帮忙吗?
这可能是因为你有
<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=\"Web\" /optionInfer+" />
</compilers>
</system.codedom>
在您的 Web.config 文件中,但项目中未安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包。检查您的项目包引用以查看该包是否已安装。如果不是,请转到 Nuget Package Manager 并安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform。
确保
/bin
文件夹不为空。它应该包含构建后的所有 .dll
文件
我将项目属性“构建”->“输出路径”设置为 bin\Debug。在清理和重建解决方案时,DLL 被复制到此文件夹中,但我仍然收到此错误。将输出路径更改为 bin\ 并重建解决方案后,它可以在本地主机上运行。然后我更改了属性,将构建输出路径设置回 in\Debug\ 并重新构建了解决方案,它工作正常。
这可能是我特有的,但我添加了一个位于主应用程序文件夹下的文件夹中的网络服务。我必须进入 IIS 并为此文件夹创建一个虚拟应用程序。我认为这会导致 IIS 忽略此文件夹“上方”的 web.config 文件并使用此“应用程序”的 web.config 文件。 也许这会对像我一样正在寻找的人有所帮助。就我而言,我有另一个结构相同的网络服务,但我无法弄清楚为什么一个可以工作而另一个却不能。
如果您还有这样的问题
NETStandard.Library
nuget 添加到您的项目中。web.config
:<system.web>
<compilation debug="true" targetFramework="4.8">
<assemblies>
<!-- ADD THIS LINE BELLOW -->
<add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" />
</assemblies>
</compilation>
该错误意味着您没有该项目所需的所有
dll
文件。
就我而言,我只是将 bin 文件夹上传到我的托管目录,因为它没有上传,所以我手动上传 bin 文件夹并且它有效。马
确保您在 IIS 基本设置中指向应用程序的正确路径