尝试在IIS7的默认应用程序池中部署。net 3.5网站,并将框架部分设置为4.0,我得到以下错误。
有一个副本 包含。扩展/脚本/ scriptResourceHandler”部分 定义的。
对这些冒犯的行进行评论也无济于事。你能给我点建议吗?
尝试在IIS7的默认应用程序池中部署。net 3.5网站,并将框架部分设置为4.0,我得到以下错误。
有一个副本 包含。扩展/脚本/ scriptResourceHandler”部分 定义的。
对这些冒犯的行进行评论也无济于事。你能给我点建议吗?
当前回答
如果你的计划是部署到一个在。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,就像您的开发机器所显示的那样。
其他回答
也许这个答案不适合你。但这是谷歌上的第一个热点当我试图解决我的问题时。话虽如此……
同样的错误消息也出现在我身上,但是当我试图通过Visual Studio运行IIS Express时。
我的问题是我错误地提交了我的申请主机。配置到TFS。后来,当我尝试在我的笔记本电脑上运行项目后,得到了最新的提交。这就是错误发生的时候。
我发现虚拟目录路径错误。
<virtualDirectory path="/" physicalPath="C:\Users\user1\Documents\Visual Studio 2015\Projects\ProjectName\ProjectName\ProjectName.Web" />
希望这能帮助到一些人!
这是我的第一篇文章,所以要温柔:)
在我的情况下,我想手动添加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>
在我的例子中,它发生在我将整个解决方案(使用一个名为Target Framework Migrator的扩展)转换到4.6.2之后,但最终取消了更改并返回到3.5(解决方案由TFS版本控制)。 为了解决这个问题,我将有问题的项目(使用IIS Express运行)转换为4.6.2,然后再转换回3.5。
我的解决方案是将默认应用程序池的。net框架版本从v4.0更改为v2.0:
Necromancing。 如果你的web中没有任何system.web.extensions config-sections或handler/module条目。此问题是由于您/其他人复制了VisualStudio-Project(2013/2015/2017),而隐藏文件未隐藏。
因此,它不仅会复制.git,还会复制. vs,其中包含一个IIS-Express应用程序主机。配置文件,指向web。配置文件路径不存在(或者更糟,路径存在,但没有相同的内容)…
解决方案: 删除applicationhost。配置文件在。vs文件夹。 或者干脆删除。vs文件夹。 Visual Studio将重新创建它。