我试图加载我的网站,我得到这个错误消息:
无法识别的属性'targetFramework'。注意,属性名是区分大小写的。
<compilation debug="true" targetFramework="4.0">
该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。
我试图加载我的网站,我得到这个错误消息:
无法识别的属性'targetFramework'。注意,属性名是区分大小写的。
<compilation debug="true" targetFramework="4.0">
该网站在我的本地PC上运行良好,但当我将其加载到主机并试图在线查看时,它无法打开。
当前回答
我在MSBuild编译失败时出现了这个错误,在一个从早期VS版本转换到VS2010和。net 4.0的项目文件中。它实际上是一个Web部署项目,对我有效的解决方案是在MSBuild文件的开始处将以下条目添加到PropertyGroup部分:
<ProductVersion>10.0.11107</ProductVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
在VS2010中转换其他类型的项目时,这些可能会自动更新,但在我的Web Deployment项目文件转换后,它们就消失了。
其他回答
我正在使用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>
在IIS中注册框架对我来说是有效的:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
在发布我的第一个web服务时,我也面临着同样的问题。我的解决方法很简单:
打开IIS 单击应用程序池 右键单击“DefaultAppPool =>”,设置应用程序池默认值=>。net版本为V 4.0。(你也可以改变 .Net框架应用程序的具体版本)
希望它能起作用。
通过选择.Net Framework v4.0.3xxxxx创建一个新池
使用管理管道模式:集成
将其分配到您的站点并完成。
可能是你有自己的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>