asp.net 无法读取配置节“system.servicemodel”,因为它缺少节声明

ybzsozfc  于 2023-04-08  发布在  .NET
关注(0)|答案(9)|浏览(256)

我有一些问题.我的旧的web服务器(windows 2003)已被替换,与2008 R2.我已经给了它一个管理员帐户,可以做任何我想做的,但我不是这方面的Maven.我配置的角色有应用程序开发和Web服务器(iis7).
但是,我的网站运行.NET4,并且角色只安装了3.5。所以我尝试在服务器上手动安装.NET4。我的问题是,由于我的web.config中的System.ServiceModel部分,我的网站无法在其上运行。我已确保它在.NET4应用程序池中运行。
我假设这是一个WCF问题,但我不能掌握如何解决它。我已经尝试了我在google. aspnet_regis,ServiceModelReg.exe等上找到的所有东西。我甚至尝试重新安装Web服务器角色,但每次我尝试进入网站设置时,我仍然得到这个错误。
我希望这里有一些Maven,他们知道如何解决这个问题。

hgc7kmma

hgc7kmma1#

我有相同的错误消息,这是因为我在该服务器上缺少.NET 3.5.1框架。启用它解决了我的问题:http://blogs.msdn.com/b/sqlblog/archive/2010/01/08/how-to-install-net-framework-3-5-sp1-on-windows-server-2008-r2-environments.aspx

wmtdaxz3

wmtdaxz32#

转到IIS中的应用程序池,选择“设置应用程序池默认值”[在右上角可用],并检查.net framework的版本。
注意:默认为. net4.0版本

qf9go6mv

qf9go6mv3#

显然IIS7需要一个System.WebServer节,即使它是空的。在我的web.config文件中添加以下内容解决了我的问题。

<system.webServer>
  </system.webServer>
ccgok5k5

ccgok5k54#

我有一个不同的原因得到这个错误。
这发生在MVC项目从.Net 4.0迁移到4.5的过程中,其中Microsoft.IdentityModel库被System.identityModel替换。在我的情况下,我已经完成了所有必要的Web.Config迁移步骤listed here,但忘记更改configSections节中的节名:

<configSections>
 <section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>

作为written here,节定义应该是:

<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
bkhjykvo

bkhjykvo5#

我的问题是没有安装WCF服务。安装它为我解决了这个问题:IS7: WCF Services - .SVC do not work
请注意,将应用程序池.NET版本从2.0更改为4.0对我来说不是一个选项,因为该网站需要在2.0上运行。

djmepvbi

djmepvbi6#

因为我的项目需要在.net 2.0中运行,所以我必须遵循此链接,它对我有用解决方案3:运行file.js
http://blogs.msdn.com/b/wenlong/archive/2010/11/23/why-does-machine-config-contain-invalid-xml-content-after-installing-net-3-5-patches.aspx

mrfwxfqh

mrfwxfqh7#

对于我来说,谁不想安装.NET Framework 3.5,解决方案是从machine.config转录system.serviceModel部分到我的web.config文件:

<configuration>
  <configSections>
    <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="comContracts" type="System.ServiceModel.Configuration.ComContractsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
        <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="machineSettings" type="System.ServiceModel.Configuration.MachineSettingsSection, SMDiagnostics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
        <section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineToApplication"/>
        <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <section name="tracking" type="System.ServiceModel.Activities.Tracking.Configuration.TrackingSection, System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </sectionGroup>
  </configSections>
  <system.serviceModel>
    <!-- ... -->
  </system.serviceModel>
</configuration>
vwkv1x7d

vwkv1x7d8#

我遇到了同样的问题...我只是简单地解决了它:

aspnet_regiis.exe -i
r1zhe5dt

r1zhe5dt9#

我也遇到了同样的问题,我通过命令提示符修复了它。以管理员身份执行它,转到文件夹\Windows\Microsoft.Net\Framework\V3.0(在这种情况下是3.0,但可能是另一台PC上的另一个版本的.net Framework)\Windows Communication Foundation
执行命令:

ServiceModelReg.exe -i

相关问题