Spring.Net。 ContextRegistry.GetContext()异常,无法配置Common.Logging

时间:2014-06-03 13:55:39

标签: c# spring spring.net

我无法获取控制台应用程序的IApplication上下文

我对此细节有异常: The type initializer for 'Spring.Context.Support.ContextRegistry' threw an exception.

内部异常: Could not configure Common.Logging from configuration section 'common/logging

显然有一些基本的东西我没有联系过,但我不确定是什么。

using Spring.Context;
using Spring.Context.Support;

namespace ConsoleApplication4
{
   class Program
   {
       static void Main(string[] args)
       {
          IApplicationContext ctx = ContextRegistry.GetContext();
       }
   }
}

我的app.config看起来像这样:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <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>
  <spring>
    <context>
      <resource uri="config://spring/objects"/>
    </context>
    <objects xmlns="http://www.springframework.net">
      <description>An  example that demonstrates simple IoC features.                  </description>
    </objects>
  </spring>
</configuration>

2 个答案:

答案 0 :(得分:2)

  

&#39; Spring.Context.Support.ContextRegistry&#39;的类型初始值设定项。   抛出异常

这是有价值的信息,Spring.net非常擅长提供其他信息。每当Spring.net抛出某些内容时,请务必阅读InnerException

  

当我编辑我的配置时,我收到消息:无法找到架构   属性#的信息。对于#=&#39; uri&#39;,&#39; context&#39;,&#39;资源&#39;   和&#39;春天&#39;

如果您没有安装架构,这是正常的。您可以在其网站download the schemas找到additional information in their docs。请注意,这是可选的,并且spring运行时没有这些模式。

答案 1 :(得分:2)

Spring.Net使用Common Logging作为日志记录工具,您必须将日志记录配置添加到app.config,并将正确的库添加到引用的程序集。

<configuration>
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
  </configSections>

  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
        <arg key="level" value="DEBUG" />
        <arg key="showLogName" value="true" />
        <arg key="showDataTime" value="true" />
        <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
      </factoryAdapter>
    </logging>
  </common>
</configuration>

http://netcommon.sourceforge.net/docs/1.2.0/reference/html/logging.html#logging-declarative-config