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

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

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

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


当前回答

以下2个步骤将强制刷新Visual Studio和IIS Express缓存,通常可以解决类似的问题:

简单地将Project框架从4+切换到.Net framework 3.5并运行它 如果它成功运行,你可以将它恢复到你想要的4+目标框架,并看到它可能会再次工作。

其他回答

如果你编译文件,并且"targetFramework"的值被设置为一个特定的版本,即4.0,

确保主机运行的。net框架与声明的版本相同。

如果没有,请下载。net框架。

下载后,如果IIS管理器中没有自动设置为使用新下载的.net框架的扩展名,

手动添加扩展通过最近下载的。net框架通过IIS管理器:

1.右键单击网站文件夹

2.点击“属性”

3.在“虚拟目录”下,点击“配置”

4.编辑扩展名的可执行路径”。aspx”(其中路径指向的版本不是最近下载的。net框架的版本)到正确的路径,即新下载的。net框架的文件夹,然后选择“aspnet_isapi.dll”文件。

5.单击ok !

在IIS

单击应用程序池

右键单击“DefaultAppPool——>>”设置应用程序池默认值....将. net版本更改为V 4.0。

我正在使用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>

以下2个步骤将强制刷新Visual Studio和IIS Express缓存,通常可以解决类似的问题:

简单地将Project框架从4+切换到.Net framework 3.5并运行它 如果它成功运行,你可以将它恢复到你想要的4+目标框架,并看到它可能会再次工作。

通过选择.Net Framework v4.0.3xxxxx创建一个新池

使用管理管道模式:集成

将其分配到您的站点并完成。