Тип или имя пространства имен '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 для этих типов немного отличается.