asp.net – 部署了另一个应用程序后无法找到CodeDom提供程序

我在IIS 7.5下的站点中部署了两个Web应用程序

site.com/myApp
site.com/anotherMyApp

现在另一个开发者将他们的应用程序部署为root应用

site.com/

现在,当我访问site.com/myApp或/ anotherMyApp时,它会抛出:

The CodeDom provider type
“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,
Microsoft.CodeDom.Providers.DotNetCompilerPlatform,Version=1.0.0.0,
Culture=neutral,PublicKeyToken=31bf3856ad364e35” Could not be
located.

来源错误

Line 54:   <system.codedom>
Line 55:     <compilers>
Line 56:       <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,Microsoft.CodeDom.Providers.DotNetCompilerPlatform,Culture=neutral,PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /Nowarn:1659;1699;1701" />
Line 57:       <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider,PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /Nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
Line 58:     </compilers>

Source File: C:\inetpub\wwwrootprettysite\THEIR APPLICATION\web.config

问题

为什么会这样?
为什么应用程序的webconfig中存在“源错误”以及它如何影响我的应用程序?
如何在不破坏应用程序的情况下修复应用程序?

澄清 :

>应用程序层次结构是正确的,应用程序应该是
安装在root中.
>安装的.NET框架是4.5.2
>他们的应用程序使用的是bin / roslyn中提供的Roslyn编译器
>我的应用程序web.configs没有< system.codedom>部分.

解决方法

您的应用从其父应用继承配置,您的应用没有Microsoft.CodeDom.Providers.DotNetCompilerPlatform.这就是你看到错误的原因.有几种选择.

>覆盖web.config中的system.codedom设置>在您的应用中安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform nupkg

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....