0

我可以在线搜索的所有示例都使用指定上下文定义的 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 的相关部分

4

2 回答 2

2

终于扫清了这个障碍。XmlApplicationContext 不会读取 app.config 中的中间映射 xml...它直接读取指向资源元素的内容。它不会读取 app.config 格式 - Spring.net 中的 ContextRegistry 类使用该格式。 Spring.net 文档是一个很好的疼痛练习。

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>
于 2008-11-20T15:26:22.040 回答
2

Spring.NET 文档是一个很好的痛苦练习

您是否查看了参考文档的介绍性部分“基础 - 容器和对象”?恕我直言,第 5.2.1 章“配置元数据”和 5.2.2“实例化容器”非常清楚地展示了您想要实现的目标。你的痛点是什么?我们很乐意收到您的改进建议!

我还想建议您将 Spring for .NET 相关问题发布到我们的社区论坛——那里更有可能回答您的问题。

干杯,埃里希

于 2009-01-04T11:04:26.870 回答