IIS配置后浏览网页显,页面显示“未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatfo...”

IIS配置后浏览网页显,页面显示“未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatfo…”

我在Win11+VS2022+CS开发“asp.net web 项目”,开发环境下测试网页正常,配置IIS,在IIS下浏览网页提示下面信息:
“页面显示未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”

按照网上提示,进行检查:

检查项目引用:确保您的项目正确引用了 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 组件。您可以在 Visual Studio 的项目引用中检查该组件是否已正确添加。

确认程序集存在:验证在您的开发环境中是否存在 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 这个程序集,并且版本号为 2.0.1.0。您可以在程序集缓存目录(通常位于 C:\Windows\Microsoft.NET\Framework\v4.0.30319 或 C:\Windows\Microsoft.NET\Framework64\v4.0.30319)中查看是否存在该程序集。

重新安装 NuGet 包:如果您是通过 NuGet 引入该组件的,可以尝试删除并重新安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform NuGet 包,确保是最新版本。

检查配置文件:检查您的应用程序的配置文件(如 web.config)是否正确配置了 CodeDom 提供程序类型,确保配置与您的开发环境一致。

重新启动 IIS:尝试重新启动 IIS 服务,以确保任何配置更改都得到正确应用。

清理临时文件:清除应用程序的临时文件夹,可以尝试删除 Temp 文件夹或者清除 ASP.NET 缓存。

未能发现和解决问题,NuGet重新安装“Microsoft.CodeDom.Providers.DotNetCompilerPlatform”,包括升级版本,仍不能解决问题,
在这里插入图片描述

以上过程在开发环境下一直能正常测试浏览。

开发环境下打开Web.config
在这里插入图片描述

整个删除<system.codedom>段代码,如上图,保存。

打开PM
在这里插入图片描述

执行NuGet命令:Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
在这里插入图片描述

重新编译项目后,检查Web.config,已重新增加了删除的代码:
在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <connectionStrings> <add name="DB-NetShopsConnectionString" connectionString="Data Source=.\MSSQLSERVER2012;Initial Catalog=DB-NetShops;User ID=sa;Password=your_password;Integrated Security=False" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <!-- 添加全局cookie设置 --> <httpCookies httpOnlyCookies="true" /> <compilation debug="true" targetFramework="4.7.2" /> <httpRuntime targetFramework="4.7.2" maxRequestLength="20480" executionTimeout="300" requestValidationMode="4.7.2" /> <!-- 移除httpOnlyCookies属性 --> <sessionState mode="InProc" timeout="20" /> <authentication mode="Forms"> <!-- 移除httpOnlyCookies属性 --> <forms loginUrl="~/WebForm1.aspx" defaultUrl="~/WebForm2.aspx" timeout="20" /> </authentication> <globalization culture="zh-CN" uiCulture="zh-CN" requestEncoding="utf-8" responseEncoding="utf-8" /> <customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx"> <error statusCode="404" redirect="~/404.aspx" /> <error statusCode="500" redirect="~/500.aspx" /> </customErrors> <pages masterPageFile="~/Site.master"> <controls> <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </controls> </pages> </system.web> <system.webServer> <httpProtocol> <customHeaders> <add name="X-Content-Type-Options" value="nosniff" /> <add name="X-Frame-Options" value="SAMEORIGIN" /> <add name="X-Xss-Protection" value="1; mode=block" /> </customHeaders> </httpProtocol> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /> </staticContent> <security> <requestFiltering> <requestLimits maxAllowedContentLength="20971520" /> </requestFiltering> </security> </system.webServer> <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:default /nowarn:1659;1699;1701" /> </compilers> </system.codedom> </configuration> 添加母版页代码设置,生成完整webconfig代码
最新发布
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值