尝试在IIS7的默认应用程序池中部署。net 3.5网站,并将框架部分设置为4.0,我得到以下错误。
有一个副本 包含。扩展/脚本/ scriptResourceHandler”部分 定义的。
对这些冒犯的行进行评论也无济于事。你能给我点建议吗?
尝试在IIS7的默认应用程序池中部署。net 3.5网站,并将框架部分设置为4.0,我得到以下错误。
有一个副本 包含。扩展/脚本/ scriptResourceHandler”部分 定义的。
对这些冒犯的行进行评论也无济于事。你能给我点建议吗?
当前回答
显然,其他人也有这个问题。他们在Framework 4.0中重新构建。你能吗?
另外,请参阅确保您的IIS是新鲜的。
其他回答
在我的例子中,它发生在我将整个解决方案(使用一个名为Target Framework Migrator的扩展)转换到4.6.2之后,但最终取消了更改并返回到3.5(解决方案由TFS版本控制)。 为了解决这个问题,我将有问题的项目(使用IIS Express运行)转换为4.6.2,然后再转换回3.5。
在我的情况下,我想手动添加urlrewrite规则,看不到明显的错误(我错过了<rules>标签):
错误代码:
<rewrite>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rewrite>
</system.webServer>
</configuration>
正确的代码(带有规则标签):
<rewrite>
<rules>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我的应用程序是一个ASP.Net3.5应用程序(使用框架的版本2)。当创建ASP.Net3.5应用程序时,Visual Studio自动将scriptResourceHandler添加到web.config中。后来版本的。net把它放到了machine.config中。如果你运行ASP。Net 3.5应用程序使用版本4的应用程序池(取决于安装顺序,这是默认的应用程序池),你会得到这个错误。
当我开始使用2.0版本的应用程序池时。错误消失了。然后我不得不处理在提供WCF .svc时的错误:
HTTP错误404.17 -未找到请求的内容似乎是脚本,不会被静态文件处理程序服务
经过一番调查,我似乎需要注册WCF处理程序。使用以下步骤:
打开Visual Studio命令提示符(以管理员身份) 导航至“C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation” 执行servicemodelreg -i命令
如果你的计划是部署到一个在。net 4.0中运行应用程序池的IIS,你将需要清理web。包括所有指向.net 3.5的section定义。失败的原因是这些节定义已经包含在根web中了。.net 4.0中的config(参见%windir%\microsoft.net\framework\v4.0.30319\config\machine.config),其中包含已经声明的所有system.web.extensions。
另一个快速修复方法是将应用程序池设置为2.0,就像您的开发机器所显示的那样。
显然,其他人也有这个问题。他们在Framework 4.0中重新构建。你能吗?
另外,请参阅确保您的IIS是新鲜的。