【问题标题】:Azure Website ASP.net WebPages "The page cannot be displayed because an internal server error has occurred."Azure 网站 ASP.net 网页“无法显示该页面,因为发生了内部服务器错误。”
【发布时间】:2014-10-11 13:17:17
【问题描述】:

我在 WebPages 中开发了一个应用程序,并将网站托管在 Azure 上。它给了我错误“页面无法显示,因为发生了内部服务器错误。” 我不确定我做错了什么。 这是 Web.config 文件。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Web.Webpages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
        </compilation>
    <httpRuntime targetFramework="4.5" />
      <customErrors mode="Off"/>

  </system.web>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SqlServerCe.4.0" />
            <add invariant="System.Data.SqlServerCe.4.0" name="Microsoft® SQL Server® Compact 4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </DbProviderFactories>
  </system.data>
    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
      </assemblyBinding>
   </runtime>


  <connectionStrings><add name="SQLAzure" connectionString="Data Source=###;Initial Catalog=###;User ID=### ;Password=###;Encrypt=true;Trusted_Connection=false;" providerName="System.Data.SqlClient" />

</connectionStrings>
</configuration>

如果我删除了 assemblyBindings“无法加载文件或程序集 'System.Web.Helpers'”错误弹出。任何帮助都会很棒,谢谢。

【问题讨论】:

    标签: azure azure-web-app-service asp.net-webpages


    【解决方案1】:

    如果你使用的是Visual Studio,你应该可以通过remote debugging your Azure web site判断错误

    如果您不使用 Visual Studio,这里是另一个 troubleshooting reference

    【讨论】:

    • 谢谢。我发现出了什么问题。 bin 文件夹中的文件都是以前的版本,所以我不得不将文件从 GAC 复制到整理所有内容的 bin。
    【解决方案2】:

    Azure 网站具有 System.Web.Helpers,Version=1.0.0.0 并且您的 web.config 引用 Version=2.0.0.0。 是的,您可以将正确版本从 GAC 复制到 bin ,但这不是最佳解决方案,因为您必须将二进制文件上传到 Azure,这不是您的工作。

    最好的解决方案是使用 NuGet 包管理器。

    您可以在您的视觉工作室中完成 在Package Manager ConsoleInstall-Package microsoft-web-helpers中运行以下命令

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      相关资源
      最近更新 更多