ASP.NET 3.5代码适用于测试服务器,但不适用于prod,system.codedom

时间:2018-02-14 10:34:28

标签: c# asp.net

在夜间,我们的生产服务器现在显示以下错误。完全相同的代码适用于我们的测试服务器,但不适用于生产。它使用的是ASP.NET 3.5

  

为system.codedom创建配置节处理程序时发生错误:无法转换类型为' System.Configuration.ConfigXmlElement'的对象。输入' System.Xml.XmlAttribute'。

     

行:349

第349行:

<system.codedom>
<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
    <providerOption name="CompilerVersion" value="v3.5"/>
    <providerOption name="WarnAsError" value="false"/>
  </compiler>
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
    <providerOption name="CompilerVersion" value="v3.5"/>
    <providerOption name="OptionInfer" value="true"/>
    <providerOption name="WarnAsError" value="false"/>
  </compiler>
  </compilers>
  </system.codedom>

我尝试回到较旧的git提交工作时,用测试替换Bin文件夹&#39; Bin文件夹等等,但错误信息仍然存在。根据我的托管公司,服务器设置完全相同,并且安装了相同的.NET框架。

设置<httpErrors errorMode="Detailed" />时,我看到的是The page cannot be displayed because an internal server error has occurred.

的白页

真心感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

托管公司将整个文件夹恢复到之前的日期,现在可以使用了。为了解决这个问题,我们将所有内容重定向到我们的测试服务器,而不是:

<system.webServer>

<!--Temp to testserver-->
<rewrite>
  <rules>
  <clear />
    <rule name="Temporary test server redirect">
      <match url="^(.+)" />
      <action type="Redirect" url="http://web.domain.com/{R:1}" redirectType="Temporary"/>
    </rule>
  </rules>
</rewrite>
<system.webServer>

{R:1}保留查询参数