我在IIS 7.5 下的一个站点中部署了两个web应用程序
site.com/myAppsite.com/anotherMyApp
现在,另一个开发者将他们的应用程序部署为根应用程序
site.com/
现在,当我访问site.com/myApp
或/anotherMyApp
时,它会抛出:
CodeDom提供程序类型"Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,微软CodeDom。提供商。DotNetCompilerPlatform,版本=1.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35"无法位于。
来源错误:
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, Version=1.0.0.0, 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, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE="Web" /optionInfer+" />
Line 58: </compilers>
源文件:C:\inetpub\wwwrootprettsite\THERS APPLICATION\web.config
问题
为什么会发生这种情况
为什么他们的应用程序的webconfig中存在"源错误",它如何影响我的应用程序
如何在不破坏应用程序的情况下修复应用程序
澄清:
- 应用程序层次结构正确,其应用程序应为
安装在根目录中 - 。NET框架安装为4.5.2
- 他们的应用程序使用在bin/Roslyn中提供的Roslyn编译器
- 我的应用程序web.config没有
<system.codedom>
部分
您的应用程序从其父应用程序继承了配置,并且您的应用没有Microsoft。CodeDom。提供商。DotNetCompilerPlatform。这就是你看到这个错误的原因。有几种选择。
- 重写web.config中的system.codedom设置
- 安装Microsoft。CodeDom。提供商。应用程序中的DotNetCompilerPlatform-nupkg