Spring.Net + NHibernate - 未声明'http://www.springframework.net/database:provider'元素

时间:2010-03-02 16:30:46

标签: c# nhibernate spring.net

我遇到了一些似乎无法解决的Spring和NHibernate问题。我正在使用NorthWind项目作为例子。现在我收到了这个错误:

'MyNamespace.MyClass.MyFunction:
Spring.Objects.Factory.ObjectDefinitionStoreException : Line 6 in XML document from assembly [MyAssembly, Version=0.0.1.0, Culture=neutral, PublicKeyToken=334479e19ddfb52d], resource [MyNamespace.Dao.xml] violates the schema.  The 'http://www.springframework.net/database:provider' element is not declared.
  ----> System.Xml.Schema.XmlSchemaValidationException : The 'http://www.springframework.net/database:provider' element is not declared.'

引用我的XML中的以下位:

<db:provider id="DbProvider"
           provider="System.Data.SqlClient"
           connectionString="Data Source=MyServer\MyDatabase;Initial Catalog=master;Integrated Security=True"/>

我已经包含了正确的命名空间,将xsd添加到我的项目中,并将解析器添加到我的App.config文件中:

  <section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core" />

<spring>
  <parsers>
    <parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data"/>
  </parsers>
</spring>

但它似乎没有捡到它。有什么想法我收到这个错误?我读到的每个地方都说错误是因为我没有定义解析器,但我显然有。

1 个答案:

答案 0 :(得分:1)

根本没有加载我的App.config文件,因此它从未加载解析器。

我添加了以下代码:

NamespaceParserRegistry.RegisterParser(typeof(DatabaseNamespaceParser));

并且有效。