Тип или имя пространства имен 'ISet' не существует

Я обновляю решение 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

Что я могу сделать?

1 ответ

Решение

С NHibernate 4 в большинстве случаев вам больше не нужно явно зависеть от Iesi.

Вместо этого вы должны перенести код вашей сущности для использования System.Collections.Generic.ISet<T>,

Это то, что я сделал, даже до того, как столкнулся с какой-либо проблемой с Иези. Если вы хотите продолжать использовать Iesi, вы можете сделать это, предоставив свой собственный NHibernate.Bytecode.ICollectionTypeFactory с дополнительной настройкой collectiontype.factory_class, Но я не думаю, что это стоит того.

Примечания к выпуску, раздел "** Известные ИЗМЕНЕНИЯ НАРУШЕНИЯ с NH3.3.3.GA до 4.0.0.GA":

Многие варианты использования типов из Iesi.Collections были изменены, чтобы использовать соответствующие типы из BCL. API для этих типов немного отличается.

Другие вопросы по тегам