我可以在线搜索的所有示例都使用App.Config模式指定由
检索的上下文定义contextToGetSprungObjects = ContextRegistry.GetContext(contextname)
我想用
contextToGetSprungObjects = new XmlApplicationContext(sXmlFileName)
(我从另一个可执行文件(MsWord)调用了一个DLL(需要Spring.net),所以app.config方法已经出来了)。我试图偷偷摸摸MyDll.dll.config ..没飞。 在使用XmlApplicationContext方法从指定的xml文件中读取它时,我收到以下错误
{"Error registering object with name '' defined in 'file [D:\\Work\\Seven\\WordAutomation\\ContentControls\\WordDocument1\\bin\\debug\\MyWPFPlotPopup.dll.config]' : There is no parser registered for namespace ''\r\n<configSections><sectionGroup name=\"spring\"><section name=\"context\" type=\"Spring.Context.Support.ContextHandler, Spring.Core\" /></sectionGroup><section name=\"log4net\" type=\"log4net.Config.Log4NetConfigurationSectionHandler, log4net\" /></configSections>"}
这让我相信这两种方法需要在不同形状的瓶子中使用xml。我搜索的是高低,但是需要的xml架构让我感到困惑......我能找到的所有内容都使用X.exe.config或Web.config。有人能指出我对Spring.net有效的xml上下文定义吗?
<spring>
<context>
<context name="MyApplication">
<resource uri="file://Resources/MyApplicationContext.xml"/>
</context>
</context>
</spring>
我认为这是我希望Spring.net读取的app.config的相关部分
答案 0 :(得分:2)
最后清除了这个障碍。 XmlApplicationContext不读取app.config中的中间映射xml ...它直接读取指向资源元素的内容。它不会读取app.config格式 - 它由Spring.net中的ContextRegistry类使用。 Spring.net docs是一个很好的练习。
context = new XmlApplicationContext("file://Resources/MyApplicationContext.xml");
此xml的格式如下。
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object id="Wilma" type="WhatIsSpring.Wilma, WhatIsSpring"/>
<object id="Fred" type="WhatIsSpring.Fred, WhatIsSpring">
<property name="TheDependency" ref="Wilma"/>
</object>
</objects>
答案 1 :(得分:2)
Spring.NET文档是一个很好的练习
您是否查看了参考文档的“Basics - containers and objects”的介绍部分? Imho章节5.2.1“配置元数据”和5.2.2“实例化容器”非常清楚地展示了您试图实现的目标。你的痛点是什么?我们很乐意收到您的改进建议!
我还建议您向我们的community forums发布Spring for .NET相关问题 - 更有可能在那里回答您的问题。
欢呼声, 埃里希