3

我正在将 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

我能做些什么?

4

1 回答 1

4

使用 NHibernate 4,在大多数情况下,您不再需要显式依赖 Iesi

相反,您应该迁移您的实体代码以使用System.Collections.Generic.ISet<T>.

这就是我所做的,甚至在遇到 Iesi 的任何问题之前。如果您想继续使用 Iesi,您可以通过提供自己NHibernate.Bytecode.ICollectionTypeFactory可选设置 collectiontype.factory_class来做到这一点。但我不认为这是值得的麻烦。

发行说明,“**从 NH3.3.3.GA 到 4.0.0.GA 的已知重大变化”部分:

Iesi.Collections 中集合类型的许多用途现在已更改为使用 BCL 中的相应类型。这些类型的 API 略有不同。

于 2016-03-24T11:02:17.273 回答