找不到 System.Windows.Media 命名空间?

Posted

技术标签:

【中文标题】找不到 System.Windows.Media 命名空间?【英文标题】:Can't find System.Windows.Media namespace? 【发布时间】:2011-03-10 09:53:38 【问题描述】:

我正在使用来自第 3 方 API 的对象,该对象具有 System.Windows.Media.ImageSource 类型的属性,但我似乎无法在任何地方找到 System.Windows.Media 命名空间。如果我尝试添加对我的项目的引用,我在选项列表中看不到System.Windows.Media。我的项目也针对 .Net 3.5。

我还需要做些什么才能访问这个命名空间吗?

【问题讨论】:

只是对任何人的一个小提示,就像我几天前所做的那样:您的解决方案中的项目可能有不同的框架目标,因此如果您没有找到参考,请务必仔细检查哪个项目您正在查看的文件实际存在,并且该项目是否仍然针对某些旧的 .NET 版本。 【参考方案1】:

您应该添加对 PresentationCore.dll 的引用。

【讨论】:

无法上网时如何记忆参考文献或解决此类问题? 我对这个答案投了反对票,因为对于新手(像我一样)我不知道该文件将存放在哪里。 迄今为止的最佳答案。另外,我不知道参考窗口顶部有一个搜索栏,在这里我滚动浏览以查找要添加参考的内容。感谢您指出这一点! 是的,这是需要做的,但 Mehmedov 的回答得到了我的投票,因为他告诉我它在哪里。无论如何都不明显。 .NET 框架的每个版本文件夹中都有一个 PresentationCore.dll。首先查看您的项目,看看您使用的是哪个框架(4.5、4.6、4.61 等) 添加引用到什么地方?【参考方案2】:

System.Windows.Media.Imaging 命名空间是 PresentationCore.dll 的一部分(如果您使用的是 Visual Studio 2008,那么 WPF 应用程序模板将自动添加此引用)。请注意,此命名空间不是 WIC 库的直接包装,尽管大部分更常见的用途仍然可用,并且这些名称如何映射到 WIC 版本是相对明显的。有关此命名空间中的类的更多信息,请查看

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

【讨论】:

如果该链接失效或页面被重定向,则此答案将毫无用处。下次请在您的回答中提供真实的答案,例如 @MegaMilivoje 的。 在这些情况下如何找出我们需要的 DLL?该链接没有提及 DLL,甚至没有提及“演示文稿”一词。您的回答有效,但不清楚我们如何在不寻求帮助的情况下解决这个问题。【参考方案3】:

PresentationCore.dll 添加到您的参考文献中。我电脑中的这个 dll url - C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll

【讨论】:

【参考方案4】:

对于 Visual Studio 2017

在解决方案资源管理器中查找“参考”

右击“参考文献”

选择“添加引用...”

找到“Presentation.Core”列表并勾选复选框

点击确定

【讨论】:

然后我必须从同一目录添加WindowsBase.dll 有 nuget 包吗? 它会在“程序集”下。【参考方案5】:

您可以通过编辑项目文件更方便地添加 PresentationCore.dll。将以下代码添加到您的 csproj 文件中:

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

在您的解决方案资源管理器中,您现在应该会看到列出的这个框架。这样,您还可以参考 PresentationCore.dll 提供的类。

【讨论】:

这是一个很好的解决方案。我正在使用 Asp.net Blazor 并将其添加到 csproj 文件中。【参考方案6】:

在我的情况下,我需要指定 Platforms 标签 - 出于某种原因,否则它不起作用。

  <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。

【讨论】:

以上是关于找不到 System.Windows.Media 命名空间?的主要内容,如果未能解决你的问题,请参考以下文章

将 System.Windows.Media.Color 转换为 System.Drawing.Color

使用 System.Windows.Media.Animation 移动按钮动画

没有为类型定义序列化程序:System.Windows.Media.Media3D.Point3D

将BitmapImage转换为System.Windows.Media.Brush

C# WPF 错误 无法将类型"System.Windows.Media.ImageSource"转换为"System.Drawing.Bitmap"

WPF程序在XP系统运行出错:system.windows.media.fontfamily类型初始值设定项引发异常