2

{"配置系统初始化失败"}

我在尝试运行我制作的 Windows 应用程序时收到此错误,这意味着 Castle Windsor 无法从 app.config 初始化配置

有趣的是我的测试项目可以工作并且它能够初始化相同的 app.config 但是当我将它移到 Windows 应用程序并使用相同的代码时它失败了!

任何帮助,将不胜感激,

提前致谢


配置代码:

  <configSections>
<section
    name="castle"
    type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor" /></configSections>

  <castle>
<components>
  <component id="UserRepository"
             service="Abstract.IDAO`2[[BusniessEntities.User,BusniessEntities],[System.Int32]],Abstract"
             type="Concrete.SqlUserRepository,Concrete"/>
</components>

这是 C# 代码:

WindsorContainer _container = new WindsorContainer(new XmlInterpreter(new ConfigResource("castle")));

相同的代码在测试项目中工作。但不在 Windows 应用程序中。

4

1 回答 1

3

我解决了

 <configuration><startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>  </startup>  <configSections><section
    name="castle"        type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler,Castle.Windsor" /></configSections>
  <castle>
<components>
  <component id="UserRepository"
             service="Abstract.IDAO`2[[BusniessEntities.User,BusniessEntities],[System.Int32]],Abstract"
             type="Concrete.SqlUserRepository,Concrete"/>
</components>

config 部分必须在其他任何东西之前,在测试项目中 app.config 没有启动标记,这就是它工作的原因,但在 Windows 应用程序 app.config 中有启动标记,因此必须向上移动 configsection

于 2010-07-25T06:48:50.630 回答