Two WPF projects, same machine, browse Collections.ObjectModel
one has ObservableCollections and says
// 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
The other (was upgraded from a 3.0 project,) does not and says
// 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
Why is the second reference to using System.Collections.ObjectModel so different?
You are looking at 2 different types. Types in different assemblies can be in the same namespace.
Since your upgraded project doesn’t include a reference to the System.dll assembly (in 3.0 it was in Windowsbase.dll), it won’t have the ObservableCollection. If you add a reference to that assembly, you will have access to that collection.