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

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

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

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


当前回答

如果您在安装。net FrameWork之后安装IIS。您需要为IIS重新安装。net框架。所以我们需要做的就是运行aspnet_regiis -i。希望对大家有所帮助。

其他回答

遵循以下两个步骤:

注册。net框架版本4.0(如果没有注册)

C:\WINDOWS\ Microsoft.NET \ Framework \ v4.0.30319 > aspnet_regiis - i 在应用程序池中将.net框架更改为v4.0

可能是你有自己的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>

在Visual Studio菜单中:

网站->开始选项->构建选项卡->选择目标框架 下拉框(。NET FrameWork 4)

我在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>