我试图加载我的网站,我得到这个错误消息:
无法识别的属性'targetFramework'。注意,属性名是区分大小写的。
<compilation debug="true" targetFramework="4.0">
该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。
这通常发生在你在web中有一个targetFramework="4.0"属性的时候。但是应用程序池被设置为运行ASP. config。NET 2.0。ASP完全无法识别targetFramework属性。NET 2.0 -因此将其更改为2.0将不会达到预期的效果。
targetFramework="4.0"
targetFramework
联系技术支持/管理员,将appool切换到4.0。
你也可以完全删除这个属性,但是如果你的网站是用4.0框架编码的,那么我相信其他一些东西也会导致一个错误。
在IIS中注册框架对我来说是有效的:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
在Visual Studio菜单中:
Website -> Start Options -> build tab ->选择Target Framework in 下拉框(。NET FrameWork 4)
通过选择.Net Framework v4.0.3xxxxx创建一个新池
使用管理管道模式:集成
将其分配到您的站点并完成。
如果你编译文件,并且"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以将值“% 3 dv4.0 .NETFramework,版本”分配给它来修复。
要解决这个问题,只需单击ASP。在“控制面板”的“站点工具”部分单击“NET版本”图标,将框架切换到4.0。
将应用程序池更改为目标框架4.0而不是经典框架。
我从一个失败的MSBuild编译中得到这个错误,在一个从VS2010和。net 4.0的早期版本转换到VS2010的项目文件中。这实际上是一个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
只需删除“Target Framework 4.0”并关闭括号。
会有用的
遵循以下两个步骤:
注册。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。希望对大家有所帮助。
aspnet_regiis -i
打开你的IIS(键入inetmgr in run)并更改你的应用程序池设置,要查看大图像右键单击图像并在新选项卡中打开图像
开放项目 -> press Shift + F4(打开属性页)->在目标框架中选择构建 ->选择.NET Framework 4 -> OK
在IIS
单击应用程序池
右键单击“DefaultAppPool——>>”设置应用程序池默认值....将. net版本更改为V 4.0。
在构建服务器上的Jenkins的“控制台输出”页面中看到错误“无法识别的属性'targetFramework'” 这是在我改变了几个项目的“目标框架”之后。NET Framework 3.5' to '。
在Jenkins中,项目设置必须改变。对于解决方案,“MSBuild版本”必须从“v3.5”更改为“v4.0”。
刚刚有这个问题部署一个新的应用程序到一个旧的IIS盒子。调查导致安装了v4.5.1运行时,但应用程序需要v4.5.2
除了安装正确的ASP . net运行时版本外,什么都不需要。
可能是你有自己的MSBUILD proj文件,并且正在使用<AspNetCompiler>任务。在这种情况下,您应该为.NET4添加ToolPath。
<AspNetCompiler>
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框架
打开IIS
右键单击“DefaultAppPool =>”设置应用程序池默认值=>修改。net版本为V 4.0。(你也可以改变 .Net框架应用程序的具体版本)
希望它能起作用。
iis7尝试根据给定的图片…如果对你有用,就说我是有用的。
但上面的答案都帮不了我。最后,当我将我的现在的港口(1413)数字更改为其他值(60179)时,如下所示,它对我来说工作得很好。但我不确定这背后的实际原因,但它确实起作用了。
确保在顶部设置你的$IISAppPoolDotNetVersion = "v4.0"变量。
$IISAppPoolDotNetVersion = "v4.0"
以下2个步骤将强制刷新Visual Studio和IIS Express缓存,通常可以解决类似的问题:
如果您正在使用IIS Express,它将为您运行的每个站点创建一个新配置,并将其绑定到url(主机/端口)。但是,当它使用相同的端口打开一个新项目时,它不会刷新配置。
这意味着如果您有一个使用CLR 2.0(。NET Framework 2.0到3.5)在某个端口上运行,然后在同一端口上使用CLR 4(。NET Framework 4.x+),新项目将尝试使用clr2运行,这是失败的-如果它甚至不识别“目标框架”;属性。
一个解决方案是清理IIS Express站点,但最简单的方法是更改端口,以便IIS Express为您的项目创建一个新站点(使用CLR 4)。