Не удается найти ObservableCollection в System.Collections.ObjectModel - PullRequest
0 голосов
/ 05 августа 2011

Два проекта WPF, одна и та же машина, просмотрите Collections.ObjectModel

каждый имеет ObservableCollections и говорит

// Type: System.Collections.ObjectModel.ObservableCollection`1
// Assembly: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// Assembly location: C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.dll

Другой (был обновлен с версии 3.0) не делает и говорит

// Type: System.Collections.ObjectModel.Collection`1
// Assembly: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// Assembly location: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll

Почему вторая ссылка на использование System.Collections.ObjectModel так отличается?

Ответы [ 3 ]

3 голосов
/ 05 августа 2011

Вы смотрите на 2 разных типа.Типы в разных сборках могут находиться в одном пространстве имен.

Поскольку ваш обновленный проект не содержит ссылку на сборку System.dll (в версии 3.0 она была в Windowsbase.dll), он не будет иметь ObservableCollection.Если вы добавите ссылку на эту сборку, у вас будет доступ к этой коллекции.

0 голосов
/ 05 августа 2011

У меня есть несколько проектов.Основной проект был установлен на .net 4, но ссылочный проект все еще был .net 3.5, и он ссылался на 2.0 mscorlib.

0 голосов
/ 05 августа 2011

Посмотрите на конец системной сборки "v4.0 \ Profile \ Client \ System.dll" vs "Framework \ v2.0.50727 \ mscorlib.dll"

Этот проект настроен на использование клиентапрофиль.Зайдите в свойства проекта и выберите полный профиль .Net 4.

...