我试图加载我的网站,我得到这个错误消息:
无法识别的属性'targetFramework'。注意,属性名是区分大小写的。
<compilation debug="true" targetFramework="4.0">
该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。
我试图加载我的网站,我得到这个错误消息:
无法识别的属性'targetFramework'。注意,属性名是区分大小写的。
<compilation debug="true" targetFramework="4.0">
该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。
这通常发生在你在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
如果你编译文件,并且"targetFramework"的值被设置为一个特定的版本,即4.0,
确保主机运行的。net框架与声明的版本相同。
如果没有,请下载。net框架。
下载后,如果IIS管理器中没有自动设置为使用新下载的.net框架的扩展名,
手动添加扩展通过最近下载的。net框架通过IIS管理器:
1.右键单击网站文件夹
2.点击“属性”
3.在“虚拟目录”下,点击“配置”
4.编辑扩展名的可执行路径”。aspx”(其中路径指向的版本不是最近下载的。net框架的版本)到正确的路径,即新下载的。net框架的文件夹,然后选择“aspnet_isapi.dll”文件。
5.单击ok !
在VS 2010才有。
修正了通过编辑.sln文件并更改TargetFrameworkMoniker值“. net framework,Version%3Dv4.0”分配给它。
我在MSBuild编译失败时出现了这个错误,在一个从早期VS版本转换到VS2010和。net 4.0的项目文件中。它实际上是一个Web部署项目,对我有效的解决方案是在MSBuild文件的开始处将以下条目添加到PropertyGroup部分:
<ProductVersion>10.0.11107</ProductVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
在VS2010中转换其他类型的项目时,这些可能会自动更新,但在我的Web Deployment项目文件转换后,它们就消失了。
我必须注册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框架版本4.0(如果没有注册)
C:\WINDOWS\ Microsoft.NET \ Framework \ v4.0.30319 > aspnet_regiis - i 在应用程序池中将.net框架更改为v4.0
如果您在安装。net FrameWork之后安装IIS。您需要为IIS重新安装。net框架。所以我们需要做的就是运行aspnet_regiis -i。希望对大家有所帮助。
在构建服务器上的Jenkins的“控制台输出”页面中看到错误“无法识别的属性‘targetFramework’”。 这是在我改变了几个项目的“目标框架”之后。NET Framework 3.5' to '。NET Framework 4'并提交了我的更改。
在Jenkins中,项目设置必须改变。对于解决方案,“MSBuild版本”必须从“v3.5”更改为“v4.0”。
刚刚有这个问题部署一个新的应用程序到一个旧的IIS盒子。调查导致安装了v4.5.1运行时,但应用程序需要v4.5.2
除了安装正确的ASP . net运行时版本外,什么都不需要。
对于那些在他们的开发PC上没有运行IIS的人来说,这是发生在我身上的事情:我有一个网站,覆盖了来自一个不同网站的文件,这个网站是4,而之前的是3.5。得到这个错误。修复它只是通过改变网站的目录名称,这在开发PC上可以是任何东西,所以没有问题。 以上的方法可能更优雅,但有时候简单的方法也可以,如果你能做到的话,比如你从事的是开发而不是QA或产品部。
可能是你有自己的MSBUILD proj文件,并且正在使用<AspNetCompiler>任务。在这种情况下,您应该为. net4添加ToolPath。
<AspNetCompiler
VirtualPath="/MyFacade"
PhysicalPath="$(MSBuildProjectDirectory)\MyFacade\"
TargetPath="$(MSBuildProjectDirectory)\Release\MyFacade"
Updateable="true"
Force="true"
Debug="false"
Clean="true"
ToolPath="C:\Windows\Microsoft.NET\Framework\v4.0.30319\">
</AspNetCompiler>
我正在使用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服务时,我也面临着同样的问题。我的解决方法很简单:
打开IIS 单击应用程序池 右键单击“DefaultAppPool =>”,设置应用程序池默认值=>。net版本为V 4.0。(你也可以改变 .Net框架应用程序的具体版本)
希望它能起作用。
在本地运行指向. net Framework 4.7.1的应用程序时,我也遇到了同样的问题。 错误是“无法识别的TargetFrameWork属性”,如下所示。
但上面的答案都帮不了我。最后,当我将目前的端口(1413)号码更改为如下所示的其他值(60179)时,它对我来说很好。但我不确定这背后的实际原因,但它确实起作用了。
我有同样的问题,我发现这个漂亮的powershell脚本更新所有的应用程序池在同一时间: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
确保在顶部设置$IISAppPoolDotNetVersion = "v4.0"变量。
以下2个步骤将强制刷新Visual Studio和IIS Express缓存,通常可以解决类似的问题:
简单地将Project框架从4+切换到.Net framework 3.5并运行它 如果它成功运行,你可以将它恢复到你想要的4+目标框架,并看到它可能会再次工作。
如果您正在使用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)。