Eric Anastas
Eric Anastas

Reputation: 22223

Can't find System.Windows.Media namespace?

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?

Upvotes: 108

Views: 148539

Answers (7)

Boris Month
Boris Month

Reputation: 463

I found an answer on CodeProject which worked for me.

Open your project file, the *.csproj file so you can edit it as a text file. If like me you were targeting net6.0 you'll see something like this:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <OutputType>WinExe</OutputType>
    </PropertyGroup>

</Project>

Now, instead of net6.0 you need to target net6.0-windows and you also have to set the UseWpf-flag. Then your *.csproj file should like something like this:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFramework>net6.0-windows</TargetFramework>
        <UseWpf>true</UseWpf>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <OutputType>WinExe</OutputType>
     </PropertyGroup>

</Project>

Upvotes: 2

TarmoPikaro
TarmoPikaro

Reputation: 5243

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.

Upvotes: 0

Owlbuster
Owlbuster

Reputation: 383

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.

Upvotes: 28

VOX
VOX

Reputation: 2923

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

Upvotes: 69

Mike from PSG
Mike from PSG

Reputation: 5764

For Visual Studio 2017

Find "References" in Solution explorer

Right click "References"

Choose "Add Reference..."

Find "Presentation.Core" list and check checkbox

Click OK

Upvotes: 20

Mamedov
Mamedov

Reputation: 449

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

Upvotes: 41

MegaMilivoje
MegaMilivoje

Reputation: 1811

You should add reference to PresentationCore.dll.

Upvotes: 110

Related Questions