我在学习Spring.Net,我创建了一个MyApplication类和一个MyLib库类,它带有MyApplication需要的所有spring配置文件。Spring.NET ObjectDefinitionStoreException使用程序集来存储配置文件
我检索使用元数据:
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\" />"}
我尝试了几种语法,我在文档中查找并没有找到任何解决方案。有人问题出在哪里?
更新 好,我发现我自己:正确syntaxe是:
<import resource="Gui.SpecialButton.buttonspring.xml"/>
则没有错误提出了,一切都正常工作。
这是因为项目文件夹被用作VS的命名空间提供程序。顺便说一句,你可以回答你自己的问题并接受它;这对其他人很有用,因为他们会看到你的问题得到解答。 – Marijn 2013-05-14 12:25:01