与web.config

时间:2015-10-29 10:43:03

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

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

  

' /'中的服务器错误应用

     

配置错误

     

分析器错误消息:' targetFramework'中的属性    Web.config文件的元素仅用于目标   .NET Framework 4.0及更高版本(例如,   '&#39)。 ' targetFramework'   属性当前引用的版本晚于   安装的.NET Framework版本。指定有效目标   .NET Framework的版本,或安装所需的版本   .NET Framework。

     

来源错误:

     

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

     

源文件: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>

我网站的属性:

enter image description here

和NuGet包管理器:

enter image description here

EntityFramework参考属性:

enter image description here

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

enter image description here

我安装的.net框架:

enter image description here

我的发布方法:

enter image description here

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

  1. 更改此编译标记

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

  3. 实际上,我试图改变这个标签,但它并没有改变。然后我控制了我的应用程序池,但它似乎是最新的。

    enter image description here

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

    我该怎么办?解决方案是什么?

7 个答案:

答案 0 :(得分:42)

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

  1. 要求提供商安装它 - 他们不太可能这样做。
  2. 找到支持它的其他提供商。
  3. 将您的项目更改为目标v4.5。

答案 1 :(得分:8)

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

enter image description here

检查所有缺失的内容非常方便,只需点击一下即可启动所有缺失部分的安装。

答案 2 :(得分:2)

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

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

==&GT;我在&#34; IIS管理器&#34;,&#34; ISAPI和CGI限制&#34;中找到了框架ASP.NET v4.0.30319已切换到&#34;未授权&#34; !

将其切换为&#34;授权&#34;解决了我的问题

答案 3 :(得分:0)

今天,我没有任何解决的办法。激怒了,我终于从驱动器中删除了我的工作副本,然后从SVN中重新签出了它。

固定。

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

答案 4 :(得分:0)

我更改了:

<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(服务器支持的值)。并且工作。

答案 5 :(得分:0)

脱机服务器上的下一行存在相同的问题,

base_graphs$NB <- apply(base_graphs[3:8], 1, function (x) sum(is.na(x)))

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

但没有用,对我有用的只是下载Microsoft .NET Framework 4.5.2(离线安装程序)

答案 6 :(得分:0)

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

之前:

<compilation targetFramework="4.5.2">

之后:

<compilation targetFramework="4.0">