我正在将Windows Smart Client解决方案从nHibernate 2.2升级到4.0。
这也需要更新Iesi.Collections(4.0.1.4000)。
在这行上:
protected Iesi.Collections.Generic.ISet<PermitEvent> eventSet;
我收到此错误:
The type or namespace name 'ISet' does not exist in the namespace 'Iesi.Collections.Generic'
这个问题在另外2个站点上均未得到解答:
http://www.c-sharpcorner.com/forums/the-type-or-namespace-name-iset-could-not-be-found
http://www.resolvinghere.com/cc/the-type-or-namespace-name-iset-could-not-be-found.shtml
我能做什么?
最佳答案
使用NHibernate 4,在大多数情况下,您do not need anymore to explicitly depend on Iesi。
相反,您应该迁移实体代码以使用System.Collections.Generic.ISet<T>
。
这是我所做的,甚至在遇到Iesi的任何问题之前。
如果要继续使用Iesi,可以通过为自己的NHibernate.Bytecode.ICollectionTypeFactory
提供optional setting collectiontype.factory_class
来实现。但是我认为这不值得麻烦。
Release notes,“ **从NH3.3.3.GA到4.0.0.GA的已知中断更改”部分:
Iesi.Collections中的集合类型的许多用法现在已更改为使用BCL中的相应类型。这些类型的API略有不同。