.NetFramework4.5使用Spring.net出現的問題處理。

じоνё靁〃發表於2019-01-14

1、通過vs的NuGet包管理工具,引用Spring.Core.

 

2、生成配置檔案,並新增spring節點。

<spring>
    <context>
      <resource uri="config://spring/objects"/>
    </context>
    <objects xmlns="http://www.springframework.net">
      <!--這裡放容器裡面的所有節點-->
      <description>一個示例,演示了簡單IoC特性.</description>
      <!--name 必須要唯一的,type=類的全名稱,所在的程式集-->
      <object name="Main" type="SWC.WindowForm.FormMain, SWC.WindowForm">
      </object>
    </objects>
  </spring>

3、執行程式,出現錯誤,提示:無法識別的配置節 spring。多方查詢,因缺少 <sectionGroup name="spring">配置節點,自動生成的配置檔案未新增此節點。

生成的配置資訊

  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
      <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      <section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core"/>
  </configSections>
  

手動新增 <sectionGroup name="spring">配置節點

  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
      <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <sectionGroup name="spring">
    <section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core"/>
    </sectionGroup>
  </configSections>

4、配置Objects資訊時,不支援中文屬性名。錯誤提示:System.Configuration.ConfigurationErrorsException:“Error creating context 'spring.root': Syntax Error on line 1, column 1: unexpected char: 0x540D in expression '名稱'”

屬性名全改為英文字元後生成成功。可正確呼叫配置的物件。給屬性賦值可以用中文字元。

 

系統環境:Win7SP1-64位、vs2017、C#、.NetFramework4.5

 

 

 

 

 

相關文章