gpt4 book ai didi

asp.net - 即使在 IIS 的 web.config 中使用 标记后也会出现重复部分错误

转载 作者:行者123 更新时间:2023-12-02 08:23:06 25 4
gpt4 key购买 nike

我有一个网站在另一个网站的子目录中运行。它们在单独的应用程序池中运行。这两个站点运行不同版本的 Entity Framework 。所以在子目录的 web.config 中我有:

<remove name="entityFramework"/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

但即使有<remove>标记我仍然收到此错误:

Section or group name 'entityFramework' is already defined. Updates to this may only occur at the configuration level where it is defined.

我还放置了 <location>尽可能在父 web.config 中添加标签:

<location path="." inheritInChildApplications="false">

<location>标签存在于父 web.config 的 <entityFramework> 周围部分。

我已经放置了 enableConfigurationOverride="false"在 IIS 的 applicationHost.config 文件中(System32 和 SysWOW64 中的文件)。

如何防止子目录中的网站看到父目录 entityFramework标签?

编辑

IIS版本:7.5.7600.16385

来自父 web.config:

<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

l

  <location path="." inheritInChildApplications="false">
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</location>

来自子 web.config:

  <configSections>
<remove name="entityFramework"/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>

l

  <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>

编辑2

关于使用<clear/> :这会导致一系列有关缺少节声明的错误。如果我添加回 ~100 行节声明,我会收到错误:An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.即使我使用<validation validateIntegratedModeConfiguration="false" />,错误仍然存​​在在<system.webServer> .

最佳答案

您能否确认您是否尝试清除而不是删除问题仍然存在?

 <configSections>
<clear/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>

您可能会阅读更多内容here

希望这对您有帮助

关于asp.net - 即使在 IIS 的 web.config 中使用 <remove> 标记后也会出现重复部分错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39416593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com