找不到 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"