Cyr*_*pta 20 .net asp.net iis iis-7 .net-4.0
我正在尝试在IIS7服务器上部署.Net framework 4网站.我已经将应用程序池的目标框架更改为.Net 4,但应用程序仍然向我显示错误:
"无法读取配置部分'system.web.extensions',因为它缺少部分声明"
我猜这与.Net4的新功能有关,它让我有一个紧凑的Web配置文件.我认为由于某种原因,IIS7对此并不满意.
如何成功部署此应用程序或者必须缩减到v3.5?我相信那里有一个解决方案.
你有什么建议吗?
Wim*_*dse 30
如果在IIS 7(.5)中创建新网站,也可能会出现同样的错误,因为它为新网站创建的应用程序池可能仍设置为2.0,因此system.web.extensions在2.0配置文件中无效.
只需进入IIS管理器,选择应用程序池,为您的应用程序选择一个,右键单击,高级设置,并将.NET框架版本设置为v4.
Seb*_*ldi 10
Module IIS Web Core
Notification BeginRequest
Handler Not yet determined
Error Code 0x80070032
Config Error The configuration section 'system.web.extensions' cannot be read because it is missing a section declaration
Config File \\web.config
Run Code Online (Sandbox Code Playgroud)
该错误是由于此system.web.extensions部分添加到Web.config
<system.web.extensions>
<scripting>
<webServices>
<!-- Uncomment this line to customize maxJsonLength and add a custom converter
<jsonSerialization maxJsonLength="1024000">
-->
</webServices>
<scriptResourceHandler enableCompression="true" enableCaching="true"/>
</scripting>
</system.web.extensions>
Run Code Online (Sandbox Code Playgroud)
由于某种原因,添加该部分会覆盖system.web.extensions组.解决方案是
..
<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>
Run Code Online (Sandbox Code Playgroud)
经过一番搜寻后,我可以自己解决这个问题(发生了!)。
显然与配置文件的结构方式无关,它是 ASP.Net Ajax 的程序集,未部署在我的目标服务器上,但可能存在于我的开发计算机上。
我从 web.config 文件中删除了该条目,这个问题得到了解决,还有其他一些小问题,但没有什么值得一提的。
IIS7+.Net Framework 4 的部署体验并不太困难,而且增加的功能将是值得的。
| 归档时间: |
|
| 查看次数: |
35753 次 |
| 最近记录: |