“此项目未引用程序集”WPF资源字典中的错误

时间:2014-03-24 23:33:48

标签: c# .net wpf xaml resourcedictionary

创建一个名为xmlnsError

的新WPF项目

添加对PresentationFramework.Aero

的引用

将此ResourceDictionary添加到App.xaml

<ResourceDictionary Source="/PresentationFramework.Aero,Version=4.0.0.0,Culture=Neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL;component/themes/Aero.NormalColor.xaml"/>

这样做会显示

的警告
Assembly 'PresentationFramework.Aero,Version=4.0.0.0,Culture=Neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL' is not referenced by this project

我已经仔细检查以确保版本实际为4.0.0.0,而PublicKeyToken实际上是31bf3856ad364e35,导航到C:\Windows\Microsoft.NET\assembly\GAC_MSIL\PresentationFramework.Aero以及在运行时通过查看GAC来检查GAC来自AppDomain.CurrentDomain.GetAssemblies();

的AssemblyInfo

有没有办法解决这个警告?这是WPF Windows 8 Compatability Issue

的后续问题

2 个答案:

答案 0 :(得分:2)

通常,在使用程序集中的资源时,无需指定程序集版本,区域性和键。以下示例编译时没有任何警告:

<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>

答案 1 :(得分:0)

Apparently (MSDN Forums),其中包含仅限元数据的Aero版本,而正确的版本位于C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF。我现在无法检查是否存在任何.NET 4.5版本的类似问题/解决方案。