尝试在IIS7的默认应用程序池中部署。net 3.5网站,并将框架部分设置为4.0,我得到以下错误。
有一个副本 包含。扩展/脚本/ scriptResourceHandler”部分 定义的。
对这些冒犯的行进行评论也无济于事。你能给我点建议吗?
尝试在IIS7的默认应用程序池中部署。net 3.5网站,并将框架部分设置为4.0,我得到以下错误。
有一个副本 包含。扩展/脚本/ scriptResourceHandler”部分 定义的。
对这些冒犯的行进行评论也无济于事。你能给我点建议吗?
当前回答
Necromancing。 如果你的web中没有任何system.web.extensions config-sections或handler/module条目。此问题是由于您/其他人复制了VisualStudio-Project(2013/2015/2017),而隐藏文件未隐藏。
因此,它不仅会复制.git,还会复制. vs,其中包含一个IIS-Express应用程序主机。配置文件,指向web。配置文件路径不存在(或者更糟,路径存在,但没有相同的内容)…
解决方案: 删除applicationhost。配置文件在。vs文件夹。 或者干脆删除。vs文件夹。 Visual Studio将重新创建它。
其他回答
Necromancing。 如果你的web中没有任何system.web.extensions config-sections或handler/module条目。此问题是由于您/其他人复制了VisualStudio-Project(2013/2015/2017),而隐藏文件未隐藏。
因此,它不仅会复制.git,还会复制. vs,其中包含一个IIS-Express应用程序主机。配置文件,指向web。配置文件路径不存在(或者更糟,路径存在,但没有相同的内容)…
解决方案: 删除applicationhost。配置文件在。vs文件夹。 或者干脆删除。vs文件夹。 Visual Studio将重新创建它。
这个错误消息似乎出现在各种情况下。
在我的例子中,在我的应用程序的Web之上。配置文件我有一个额外的Web。配置文件在根文件夹(C:\Inetpub\www.root)。可能在经过一些测试后,我已经完全忘记了它,也不知道问题出在哪里。
把它取出来就解决了我的问题。
在我的例子中,它发生在我将整个解决方案(使用一个名为Target Framework Migrator的扩展)转换到4.6.2之后,但最终取消了更改并返回到3.5(解决方案由TFS版本控制)。 为了解决这个问题,我将有问题的项目(使用IIS Express运行)转换为4.6.2,然后再转换回3.5。
如果像我一样,需要以v4为目标,但只能使用。net 3.5构建,请遵循这里的说明。只需替换在你的网页。配置<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>
我的解决方案是将默认应用程序池的。net框架版本从v4.0更改为v2.0: