无法识别的属性'targetFramework'.请注意,属性名称区分大小写

Mik*_*cci 407 asp.net

我正在尝试加载我的网站,我收到此错误消息:

无法识别的属性'targetFramework'.请注意,属性名称区分大小写.

<compilation debug="true" targetFramework="4.0">
Run Code Online (Sandbox Code Playgroud)

该网站在我的本地PC上工作正常但在我将其加载到主机并尝试在线查看时无法打开.

vcs*_*nes 598

当您targetFramework="4.0"在web.config中具有属性但应用程序池设置为运行ASP.NET 2.0 时,通常会发生这种情况.该targetFramework属性完全无法被ASP.NET 2.0识别 - 因此将其更改为2.0将无法获得所需的效果.

联系支持人员/您的管理员,并将AppPool切换为4.0.

您也可以完全删除该属性,但是如果您的站点使用4.0 Framework编码,那么我确定其他内容也会导致错误.

  • 谢谢,这解决了这个问题,请查看此链接以获取有关将AppPool切换为4.0的分步指南:http://stackoverflow.com/questions/4890245/how-to-add-asp-net-4-0-作为应用程序池-ON-IIS的Windows 7的-7 (20认同)
  • 当我用Google搜索错误信息时,我找到了这个页面,这个美丽的问题,甚至是一个更美丽的答案,我几个月前就已经投票了. (4认同)

小智 81

使用IIS注册框架对我有用:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
Run Code Online (Sandbox Code Playgroud)

  • 这有效!对于64位是在C:\ Windows\Microsoft.NET\Framework64\v4.0.30319下 (7认同)

小智 43

打开您的IIS(在运行中键入inetmgr)并更改您的应用程序池设置,要查看大图像右键单击图像并在新选项卡中打开图像 在此输入图像描述


Ale*_*nov 42

在IIS中

单击"应用程序池"

右键单击DefaultAppPool --- >>设置应用程序池默认....--- >>将.Net版本更改为V 4.0.


小智 26

在Visual Studio菜单中:

网站 - >开始选项 - >构建选项卡 - >在下拉框中选择目标框架(.NET FrameWork 4)


Ars*_*mad 12

在发布我的第一个Web服务时,我遇到了同样的问题.我只是这样解决了这个问题:

  1. 打开IIS

  2. 单击"应用程序池"

  3. 右键单击DefaultAppPool =>设置应用程序池默认=>将.Net版本更改为V 4.0.(您还可以专门更改应用程序的.Net Framework版本)

希望,它会奏效.


LCJ*_*LCJ 8

我必须在IIS中注册ASP.Net才能在Windows Server 2008 R2中解析它.下面是命令的Sreenshot

cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319

iisreset /stop

aspnet_regiis -i

iisreset /start

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll'].allowed:True 

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll'].allowed:True 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 8

对于IIS 7尝试根据给定的图片...如果它适合你,请给我帮助.

在此输入图像描述


Nig*_*vel 6

我使用的是 IIS Express,而不是 IIS。

问题出在位于以下位置的 applicationhost.config 文件中:{solution_folder}\.vs\config\applicationhost.config。

应用程序池条目之一的 managedRuntimeVersion 值为“v2.0”。我将其更改为“v4.0”,并且运行正常。

我相当确定根本原因是我最近安装的 NuGet 包之一。

    <system.applicationHost>
       <applicationPools>
          <add name="BadAppPool1" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
       </applicationPools>
    </system.applicationHost>
Run Code Online (Sandbox Code Playgroud)

  • 很好 - 每个帖子都提到了 IIS。我正在使用 IIS Express。感谢修复 (2认同)

小智 5

将应用程序池更改为目标框架4.0而不是经典.

  1. RC网站 - >管理网站 - >高级设置>
  2. 第一个选项从经典变为框架4集成.