我试图加载我的网站,我得到这个错误消息:

无法识别的属性'targetFramework'。注意,属性名是区分大小写的。

<compilation debug="true" targetFramework="4.0">

该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。


当前回答

在IIS中注册框架对我来说是有效的:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i

其他回答

如果您正在使用IIS Express,它将为您运行的每个站点创建一个新配置,并将其绑定到url(主机/端口)。但是,当它使用相同的端口打开一个新项目时,它不会刷新配置。

这意味着如果您有一个使用CLR 2.0(。NET Framework 2.0到3.5)在某个端口上运行,然后在同一端口上使用CLR 4(。NET Framework 4.x+),新项目将尝试使用clr2运行,这是失败的-在这种情况下,它甚至不识别“targetFramework”属性。

一个解决方案是清理IIS Express站点,但最简单的方法是更改端口,以便IIS Express为您的项目创建一个新站点(使用CLR 4)。

在本地运行指向. net Framework 4.7.1的应用程序时,我也遇到了同样的问题。 错误是“无法识别的TargetFrameWork属性”,如下所示。

但上面的答案都帮不了我。最后,当我将目前的端口(1413)号码更改为如下所示的其他值(60179)时,它对我来说很好。但我不确定这背后的实际原因,但它确实起作用了。

打开项目->按Shift + F4(打开属性页)->选择Build ->在目标框架中选择。net Framework 4 -> OK

我必须注册ASP。Net,以便在Windows Server 2008 R2中进行解决。下面附有命令的屏幕截图

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 

通过选择.Net Framework v4.0.3xxxxx创建一个新池

使用管理管道模式:集成

将其分配到您的站点并完成。