我试图加载我的网站,我得到这个错误消息:
无法识别的属性'targetFramework'。注意,属性名是区分大小写的。
<compilation debug="true" targetFramework="4.0">
该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。
我试图加载我的网站,我得到这个错误消息:
无法识别的属性'targetFramework'。注意,属性名是区分大小写的。
<compilation debug="true" targetFramework="4.0">
该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。
当前回答
刚刚有这个问题部署一个新的应用程序到一个旧的IIS盒子。调查导致安装了v4.5.1运行时,但应用程序需要v4.5.2
除了安装正确的ASP . net运行时版本外,什么都不需要。
其他回答
我做了什么: 我确实将Application Pool的值从以前的值更改为DefaultAppPool。您可以在高级设置(网站—>管理网站—>高级设置>。
我正在使用IIS Express,而不是IIS。
问题出在应用程序主机上。配置文件位于:{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>
这通常发生在你在web中有一个targetFramework="4.0"的属性时。但是应用程序池被设置为运行ASP. config。NET 2.0。targetFramework属性完全不能被ASP识别。NET 2.0 -因此将其更改为2.0将不会达到预期的效果。
联系技术支持/管理员,将appool切换到4.0。
你也可以完全删除这个属性,但是如果你的网站是用4.0框架编码的,那么我相信其他一些东西也会导致一个错误。
在IIS中注册框架对我来说是有效的:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
我有同样的问题,我发现这个漂亮的powershell脚本更新所有的应用程序池在同一时间: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
确保在顶部设置$IISAppPoolDotNetVersion = "v4.0"变量。