繁体   English   中英

Spring.NET ObjectDefinitionStoreException使用程序集存储配置文件

[英]Spring.NET ObjectDefinitionStoreException using assembly to store configuration files

我正在学习Spring.Net,我创建了一个MyApplication类和一个MyLib类库,其中包含MyApplication需要的所有spring配置文件。

我使用以下方法检索元数据:

IApplicationContext ctx = new XmlApplicationContext("assembly...");

我有三个不同的xml文件,一个(springconfiguration.xml)导入了另外两个。 在开始尝试时,我的spring配置文件位于MyLib的根目录下。 一切正常。

----- MyLib
-- Properties
-- References
-- commonspring.xml
-- buttonspring.xml
-- springconfiguration.xml

然后,我在MyLib中创建了一些文件夹来存储我的xml文件,如果使用子文件夹,它将失败:

以下作品:

----- MyLib
--Properties
--References
--Common
    --commonspring.xml
--Gui   
    --buttonspring.xml
--Configuration
    --springconfiguration.xml

我的springconfiguration.xml文件是:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<import resource="Common/commonspring.xml"/>
<import resource="Gui/buttonspring.xml"/>
</objects>

我使用以下方法检索上下文:

IApplicationContext ctx = new XmlApplicationContext("assembly://MyLib/MyLib/Configuration.springconfiguration.xml");

但是如果我使用子文件夹,那么它将失败:

----- MyLib
--Properties
--References
--Common
    --commonspring.xml
--Gui
    --SpecialButton
        --buttonspring.xml
--Configuration
    --springconfiguration.xml

我的springconfiguration.xml文件是:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<import resource="Common/commonspring.xml"/>
<import resource="Gui/SpecialButton/buttonspring.xml"/>
</objects>

我使用以下方法检索上下文:

IApplicationContext ctx = new XmlApplicationContext("assembly://MyLib/MyLib/Configuration.springconfiguration.xml");

错误是:

{"Error registering object defined in 'assembly [MyLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null], resource [MyLib.Configuration.springconfiguration.xml] at line 5' : Invalid relative resource location 'Gui/SpecialButton/buttonspring.xml' to import object definitions from.\r\n<import resource=\"Gui/SpecialButton/buttonspring.xml\" xmlns=\"http://www.springframework.net\" />"}

我尝试了几种语法,但在文档中没有找到任何解决方案。 有人知道问题出在哪里吗?

我自己找到的更新好了:正确的语法是:

<import resource="Gui.SpecialButton.buttonspring.xml"/>

那么就不会再出现任何错误,并且一切正常。

让大家知道这里是我找到的解决方案:在springconfiguration.xml中,而不是将嵌套在文件夹中的spring配置文件引用为:

<import resource="Gui/SpecialButton/buttonspring.xml"/>

必须写:

<import resource="Gui.SpecialButton.buttonspring.xml"/>

@marijn:谢谢您的解释,了解解决方案总比仅找到解决方案要好;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM