Asp.net
用于分层,Asp.net ,asp.net,Asp.net,用于分层, 只需在web.config文件中更改targetFramework的版本,其他内容无需更改。我使用的是IIS Express,而不是IIS 问题出现在位于{solution\u folder}\.vs\config\applicationhost.config的applicationhost.config文件中 其中一个应用程序池项的managedRuntimeVersion值为“v2.0”。我把它改为“v4.0”,它工作正常 我相当肯定根本原因是我最近安装的NuGet软件包之一
只需在web.config文件中更改targetFramework的版本,其他内容无需更改。我使用的是IIS Express,而不是IIS 问题出现在位于{solution\u folder}\.vs\config\applicationhost.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 7,请根据给定的图片进行尝试。。。如果对你有用的话,请记下我的帮助
在本地运行指向.Net Framework 4.7.1的应用程序时,我也遇到了同样的问题。 错误是“无法识别的属性TargetFrameWork”,如下所示。 但是上面的答案对我都没有帮助。最后,当我将我的当前端口(1413)号更改为某个其他值(60179)时,如下图所示,它对我来说运行良好。但我不确定这背后的实际原因,但它起了作用
我也遇到了同样的问题,我找到了一个很好的poweshell脚本,可以同时更新你的所有应用程序池:
请确保在顶部设置变量。以下两个步骤将强制刷新Visual Studio和IIS Express缓存,通常会解决类似问题:
为当地发展更改港口号帮助我感谢@Rinay Ashokan。 我已经完成了所有的故障排除,最后发现项目配置存储在iisexpress中的端口号。
如果您使用的是IIS Express,它会为您运行的每个站点创建一个新配置,并绑定到url(主机/端口)。但是,当它使用同一端口打开新项目时,不会刷新配置 这意味着,如果您有一个使用CLR 2.0(.NET Framework 2.0至3.5)的项目在某个端口上运行,然后您在同一端口上使用CLR 4(.NET Framework 4.x+)打开另一个项目,则新项目将尝试使用CLR 2运行,但该操作失败,甚至无法识别“targetFramework”属性
一种解决方案是清理IIS Express站点,但最简单的方法是更改端口,以便IIS Express将为您的项目创建一个新站点(使用CLR 4)。它没有显示哪个文件包含该站点或其位置吗?它以前是在4.0之前的framework上构建的吗?此问题可通过4.0.3解决。@请告诉我,如果这解决了您的问题,我可能会尝试获取此错误的规范问题/答案,并关闭复制。谢谢。当我尝试在Win 7 x64上安装KB2599651(64位下载)时,我收到错误消息,它“不适用或被计算机上的其他条件阻止”。我与OP有相同的错误,安装了framework 4.0,并已向IIS注册,并选择它作为应用程序池。您是否在比项目开发时更旧的visual studio版本中打开?或者它是在Webmatrix中开发的,然后在较旧的visual studio中打开的?谢谢,这解决了问题,请查看此链接以获得逐步指南,将您的应用程序池切换到4.0:谢谢@vcsjones..我的网站现在正是因为您而启动并运行...)仅添加到@vcsjones解决方案注册.net 4.0也可能会丢失。您可以使用进行.net 4.0注册,然后需要将应用程序池更改为4.0。当我在谷歌上搜索错误消息时,我发现了这个页面,其中有一个漂亮的问题,甚至还有一个更漂亮的答案,我几个月前就对其投了赞成票。这很有效!对于C:\Windows\Microsoft.NET\Framework64\v4.0.30319下的64位,我也遇到了同样的问题,但regiis没有解决它-我必须删除并重新创建整个网站树,并为每个应用程序重新分配池,现在它可以工作了…如果这是新版本的IIS(没有其他网站在其上运行)或者您不担心托管网站因框架更改而崩溃,您可以在注册时使用-i而不是-ir。@user230910该选项在哪里?我记不清了,但我认为这是指IISWorked perfect for me 2019年5月在AWS EC2 Windows Server 2019上使用Visual Studio 2019 web forms应用程序。很好-每一篇文章提到IIS。我正在使用IIS Express。对于解决方案,我在IIS Express中遇到了同样的问题,我只是删除了解决方案文件夹下的文件夹
.vs
,然后重新打开解决方案,问题就解决了。我只是验证我是否出现了此错误,并尝试按照此答案中的指示更改端口。我正在运行WCF测试客户端以在本地主机上启动此服务。更改端口号后,服务能够启动。谢谢你的建议。在尝试了所有建议后,只有这一个解决了我的问题。非常感谢。IIS Express为您运行的每个站点创建一个新配置,并将其绑定到url(主机/端口)。这意味着,如果您有一个使用Framework2.x(2.0到3.5)的项目在某个端口上运行,然后您在同一端口中使用Framework4.x打开另一个项目,您将看到该问题。页脚显示它在Framework2.x下运行,Framework2.x无法识别“targetFramework”
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
<ProductVersion>10.0.11107</ProductVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
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
<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>
<system.applicationHost>
<applicationPools>
<add name="BadAppPool1" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
</applicationPools>
</system.applicationHost>