【问题标题】:Configuration Error related to targetFramework in web.configweb.config 中与 targetFramework 相关的配置错误
【发布时间】:2016-01-29 11:10:22
【问题描述】:

我在 Visual Studio 2015 中创建了一个 MVC 网站,它可以在我的本地主机中运行。但是当我发布我的网站并放入我的主机时,它不起作用。它给了我这个错误通知:

“/”应用程序中的服务器错误。

配置错误

解析器错误消息:“targetFramework”属性在 Web.config 文件的元素仅用于定位 .NET Framework 4.0 及更高版本(例如, '')。 “目标框架” 属性当前引用的版本晚于 .NET Framework 的已安装版本。指定一个有效的目标 .NET Framework 版本,或安装所需版本的 .NET 框架。

来源错误:

服务器上出现应用程序错误。当前的自定义错误 此应用程序的设置会阻止应用程序的详细信息 远程查看错误(出于安全原因)。它可能, 但是,可以通过在本地服务器计算机上运行的浏览器查看。

源文件:G:\xxx\xxx.com\httpdocs\web.config 行:24

版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.34248

我的 web.config 中的相关部分:

  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>

这部分有错误:

  <system.web>
    <authentication mode="None" />
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.6" />
    <httpRuntime targetFramework="4.6" />
  </system.web>

我网站的属性:

和 NuGet 包管理器:

EntityFramework 引用属性:

默认网站基本设置:(说实话,我不确定是否应该在这里添加一个新网站(我的网站)。)

我安装的 .net 框架:

我的发布方法:

我在网上调查了这个问题,发现了几个与我的问题相关的链接:Asp.net MCV4 framework issue。在此链接中,有两个主要优惠:

  1. 更改此编译标签

  2. 在 IIS 中更新应用程序池

实际上,我曾尝试更改此标签,但它并没有改变。然后我控制了我的应用程序池,但它似乎是最新的。

我已致电我的主机提供商并解释了我的问题。他们说这个错误与他们的服务器无关。

我该怎么办?解决办法是什么?

【问题讨论】:

  • 服务器上是否安装了.Net Framework 4.6?
  • @DavidG 老实说,我没有问这个我的主机提供商。但在 localhost .net 框架中安装了 6。我正在添加它的图片。
  • 那么您是说当您发布到本地 IIS 时,它不起作用?还是仅在您向托管服务提供商发布时?
  • 你的服务器需要安装.Net Framework 4.6
  • 是的,您的应用程序要求 v4.6。改为将项目更改为目标 4.5。

标签: asp.net .net asp.net-mvc entity-framework target-framework


【解决方案1】:

您的网站项目的目标是 .Net Framework v4.6,但您的托管服务提供商尚未安装此版本。您的选择:

  1. 请供应商安装它 - 他们不太可能这样做。
  2. 寻找另一个支持它的提供商。
  3. 将您的项目更改为目标 v4.5。

【讨论】:

    【解决方案2】:

    @DavidG 正确地指出了所有事情。只是在信息方面,如果 IIS 是您的提供商,那么 Web 平台安装程序是您检查当前机器上安装的所有内容的当前状态的最佳选择。看看下面的快照 -

    检查所有缺失的部分非常方便,您可以一键启动所有缺失部分的安装。

    【讨论】:

    • 非常有用,感谢@RBT,帮助我在几分钟内解决了我遇到的问题!
    【解决方案3】:

    我在安装 KB 3205402(Windows 更新)后遇到了类似的问题。

    与我的情况有很大不同:应用程序在更新之前运行良好!

    ==> 我在“IIS 管理器”的“ISAPI 和 CGI​​ 限制”中发现,框架 ASP.NET v4.0.30319 已切换为“未经授权”!

    将其切换为“授权”解决了我的问题

    【讨论】:

      【解决方案4】:

      在离线服务器上的以下行有同样的问题,

       <compilation targetFramework="4.5.2">
      

      尝试从服务器管理器及其池中添加与 .Net 框架相关的所有角色和功能,

      但没有用,对我有用的只是下载 Microsoft .NET Framework 4.5.2(Offline Installer)

      【讨论】:

      • 我遇到了同样的问题,但版本是 4.7.2。我刚刚在 windows 服务器中安装了该版本并且工作正常,谢谢!
      【解决方案5】:

      我变了:

      <system.web>
          <compilation debug="true" targetFramework="4.7" />
          <httpRuntime targetFramework="4.7" />
          <customErrors mode="Off"/>
        </system.web>
      

      <system.web>
           <compilation debug="true" targetFramework="4.5" />
           <httpRuntime targetFramework="4.5" />
           <customErrors mode="Off"/>
      </system.web>
      

      即,将 targetFramework 的值从 4.7 更改为 4.5(服务器支持的值)。并工作。

      【讨论】:

        【解决方案6】:

        我尝试直接在配置文件中将targetFramework 4.5.2 替换为targetFramework 4.0。然后它和所有功能都正常工作。

        之前:

        <compilation targetFramework="4.5.2">
        

        之后:

        <compilation targetFramework="4.0">
        

        【讨论】:

          【解决方案7】:

          我今天转了又转,没有解决。激怒了,我终于从我的驱动器中删除了我的工作副本,并从 SVN 重新检查了它。

          固定。

          不是一个特别聪明的答案,但它为我解决了这个问题,不知道实际问题是什么。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-03-27
            • 2017-02-11
            • 2014-06-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多