Subsonic 2.2 ASP.NET MVC 无法识别的配置部分

Posted

技术标签:

【中文标题】Subsonic 2.2 ASP.NET MVC 无法识别的配置部分【英文标题】:Subsonic 2.2 ASP.NET MVC Unrecognized configuration section 【发布时间】:2010-11-05 17:23:07 【问题描述】:

我正在使用 Subsonic 2.2 Subcommander(Sonic.exe) 在具有自己的 app.config 的独立类库中生成我的 DAL。

然后我在我的 ASP.NET MVC webapp 中引用这个 dll 程序集,它编译得很好。当我尝试点击一个页面时,我得到“无法识别的配置部分”

这是错误的屏幕截图: http://i41.tinypic.com/2h5l0zk.jpg

非常感谢任何线索/帮助!

这是我的 web.config:

【参考方案1】:

将 SubsonicService 部分放在 Sectiongroup 之外应该可以解决问题:

<configuration>
  <configSections>
    <sectionGroup name="...">
    </sectionGroup>
    <section name="SubSonicService"
          type="SubSonic.SubSonicSection, SubSonic"
          allowDefinition="MachineToApplication"
          restartOnExternalChanges="true"
          requirePermission="false"/>
  </configSections>

【讨论】:

【参考方案2】:

您尚未将 SubSonicService 定义为配置部分,因此无法识别。您需要在 configSections 中执行以下操作:

<configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
            <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
                <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false" />
            </sectionGroup>
        </sectionGroup>
    </sectionGroup>
    <!-- ******** SubSonicService section added here  ********* -->
    <section name="SubSonicService" type="SubSonic.SubSonicSection, SubSonic" requirePermission="false" />
</configSections>

【讨论】:

【参考方案3】:

问题出现是因为,配置节的第一个元素必须是configSections,你可以把节:section name="SubSonicService" ... 在 configSections 标签内但在 sectionGroup 标签外。 如果您有疑问,请写信给我: vakti99@yahoo.com

【讨论】:

以上是关于Subsonic 2.2 ASP.NET MVC 无法识别的配置部分的主要内容,如果未能解决你的问题,请参考以下文章

ASP.net 2.2 MVC:注销

ASP.NET Core 2.2 MVC MapRoute 项目到 ASP.NET 3.0 端点 MapAreaControllerRoute “找不到此本地主机页面”

这是如何使用 Entity Framework Core 和 ASP.NET Core MVC 2.2+ 和 3.0 创建数据传输对象 (DTO)

如何将 Angular 9 SPA 项目和 ASP.NET Core 2.2 MVC 项目组合成一个 Visual Studio 2017 解决方案?

ASP.NET Core MVC 查看组件搜索路径

如何在 ASP.NET Core 2.2 中实现标识