Can't find System.Windows.Media namespace?

C#.NetNamespaces

C# Problem Overview


I'm using an object from a 3rd party API that has a property of type System.Windows.Media.ImageSource, yet I can't seem to find the System.Windows.Media namespace anywhere. If I try to add a reference to my project I don't see System.Windows.Media in the list of options. My project is also targeting .Net 3.5.

Is there something else I need to do to be able to access this namespace?

C# Solutions


Solution 1 - C#

You should add reference to PresentationCore.dll.

Solution 2 - C#

The System.Windows.Media.Imaging namespace is part of PresentationCore.dll (if you are using Visual Studio 2008 then the WPF application template will automatically add this reference). Note that this namespace is not a direct wrapping of the WIC library, although a large proportion of the more common uses are still available and it is relatively obvious how these map to the WIC versions. For more information on the classes in this namespace check out

http://msdn2.microsoft.com/en-us/library/system.windows.media.imaging.aspx

Solution 3 - C#

Add PresentationCore.dll to your references. This dll url in my pc - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll

Solution 4 - C#

For Visual Studio 2017

> Find "References" in Solution explorer > > Right click "References" > > Choose "Add Reference..." > > Find "Presentation.Core" list and check checkbox > > Click OK

Solution 5 - C#

You can add PresentationCore.dll more conveniently by editing the project file. Add the following code into your csproj file:

<ItemGroup>
   <FrameworkReference Include="Microsoft.WindowsDesktop.App" />
</ItemGroup>

In your solution explorer, you now should see this framework listed, now. With that, you then can also refer to the classes provided by PresentationCore.dll.

Solution 6 - C#

I my case I needed to specify Platforms tag - for some reason it did not work otherwise.

  <PropertyGroup>
    <!-- Must be here for this example, otherwise 'using System.Windows.Media.Media3D' does not work for intellisense -->
    <Platforms>x64</Platforms>
  </PropertyGroup>

Visual studio 2019 v16.9.1.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionEric AnastasView Question on Stackoverflow
Solution 1 - C#MegaMilivojeView Answer on Stackoverflow
Solution 2 - C#VOXView Answer on Stackoverflow
Solution 3 - C#MehmedovView Answer on Stackoverflow
Solution 4 - C#Mike from PSGView Answer on Stackoverflow
Solution 5 - C#OwlbusterView Answer on Stackoverflow
Solution 6 - C#TarmoPikaroView Answer on Stackoverflow