微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐