我遇到了一些似乎无法解决的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>
但它似乎没有捡到它。有什么想法我收到这个错误?我读到的每个地方都说错误是因为我没有定义解析器,但我显然有。
答案 0 :(得分:1)
根本没有加载我的App.config文件,因此它从未加载解析器。
我添加了以下代码:
NamespaceParserRegistry.RegisterParser(typeof(DatabaseNamespaceParser));
并且有效。