尝试在IIS7中的默认应用程序池上部署.net 3.5网站时,框架部分设置为4.0,我收到以下错误。
定义了一个重复的'system.web.extensions / scripting / scriptResourceHandler'部分。
评论违规行并没有帮助。关于我需要做什么或看什么的任何指示?
如果您的计划是部署到具有在.net 4.0中运行的应用程序池的IIS,则需要清理包含指向.net 3.5的所有部分定义的web.config。这种失败的原因是因为这些部分定义已经包含在.NET 4.0的根web.config中(请参阅%windir%\ microsoft.net \ framework \ v4.0.30319 \ config \ machine.config),其中包含所有系统。 web.extensions已经声明了。
另一个快速解决方法是将应用程序池设置为2.0,就像您的开发机器似乎一样。
另一种避免此问题可以帮助其他人的方法是将.net Web服务构建到4.0或更高版本(如果可能)。
在我的情况下,我有2个不同的应用程序共享相同的应用程序池第一个使用.net4.5框架,新的框架使用2.0。当我将第二个应用程序更改为它自己的应用程序池时,它开始正常工作而没有更改web.config。
我的决议有点愚蠢。
它归结为我没有安装3.5,即使打开Windows功能说我做了,并创建另一个应用程序池使用。我希望这有助于其他人。
在我的情况下,我想手动添加网址重写规则,但无法看到明显的错误(我错过了qazxsw poi标签):
错误的代码:
<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>
此错误消息似乎出现在各种情况下。
就我而言,在我的应用程序的Web.Config文件之上,我在根文件夹(C:\ Inetpub \ www.root)中有一个额外的Web.Config文件。经过一些测试后可能会离开那里,我已经忘记了所有这些,并且无法弄清楚问题是什么。
删除它解决了我的问题。
如果像我一样,您需要定位v4但只能使用.net 3.5构建,请按照here指令操作。只需在web.config中替换<configSections>
的全部内容:
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
将应用程序池设置为2.0,我做到了并且工作了。
问题是因为默认池位于.net 4.0解决方案:输入IIS服务器服务器右侧设置应用程序组值。![在此处输入图像描述] [1]并更改框架的视图![输入图像说明这里] [2]
有了这个,您可以在安装SharePoint 2010管理中心时解决问题
-----通过谷歌翻译-----
问题是因为池是默认的。 Net 4.0解决方案:输入服务器IIS管理器以在应用程序池的右侧设置值。 [在此处输入图像说明] [1]并更改框架版本![在此输入图像说明] [2]
这应该可以解决安装SharePoint管理中心2010的问题
我的应用程序是一个ASP.Net3.5应用程序(使用框架的第2版)。创建ASP.Net3.5应用程序时,Visual Studio会自动将scriptResourceHandler添加到web.config中。更新版本的.Net将其放入machine.config中。如果您使用版本4应用程序池运行ASP.Net 3.5应用程序(取决于安装顺序,这是默认的应用程序池),您将收到此错误。
当我转向使用2.0版应用程序池时。错误消失了。然后我在服务WCF .svc时不得不处理错误:
HTTP错误404.17 - 未找到请求的内容似乎是脚本,静态文件处理程序不会提供
经过一番调查,似乎我需要注册WCF处理程序。使用以下步骤:
Necromancing。 如果您的web.config中没有任何system.web.extensions配置节或处理程序/模块条目,则会导致此问题,因为您/其他人在隐藏时复制了VisualStudio-Project(2013/2015/2017) - 未隐藏的文件。
因此,它不仅会复制.git,还会复制包含IIS-Express applicationhost.config文件的.VS
,该文件指向不存在的路径中的web.config文件(或者更糟糕的是,存在的路径,但是没有相同的内容)...
解: 删除.VS文件夹中的applicationhost.config文件。 或者只是完全删除.VS文件夹。 Visual Studio将重新创建它。
Apparently, other have (had) this problem。他们在Framework 4.0中重建。你能?
在我的情况下,它发生在我将整个解决方案(使用名为Target Framework Migrator的扩展)转换为4.6.2之后,但最终撤消了更改并返回到3.5(解决方案由TFS版本化)。为了解决这个问题,我将有问题的项目(使用IIS Express运行)转换为4.6.2然后再转换为3.5。