在VS 2010中创建了一个新的WinForm
项目。添加了一个新的UserControl WPF。
出现了2个编译时错误:
错误1类型 'System.Windows.Markup.IQueryAmbient' 在一个不是的程序集中定义 引用。您必须添加引用 装配'System.Xaml, 版本= 4.0.0.0,文化=中立, 公钥= b77a5c561934e089' 。 D:\ Projets \ WindowsFormsApplication2 \ UserControl1.xaml.cs 20 26 WindowsFormsApplication2
错误2类型名称 'IComponentConnector'不可能 在命名空间中找到 'System.Windows.Markup'。这种类型有 已被转发到大会 'System.Xaml,Version = 4.0.0.0, 文化=中性, 公钥= b77a5c561934e089' 考虑添加对它的引用 部件。 D:\ Projets \ WindowsFormsApplication2 \ obj \ x86 \ Debug \ UserControl1.g.cs 41 100 WindowsFormsApplication2
NB。
在向WinForm项目添加新的WPF UserControl时会自动添加PresenationCore.dll
,PresenationFramework.dll
,WindowsBase.dll
等引用,那么为什么不System.Xaml.dll
呢?
==============
在 Microsoft Connect 上报告了错误。
答案 0 :(得分:56)
答案 1 :(得分:11)
此项目是否已从.NET 3.5迁移到.NET 4.0?如果是,则界面现在驻留在System.Xaml中,您需要引用它。
答案 2 :(得分:0)
在我的情况下,“System.Xaml”会自动添加到项目中,但会出现相同类型的错误:
在。中找不到类型名称“IComponentConnector” 命名空间'System.Windows.Markup'。此类型已转发至 程序集'System.Xaml,Version = 4.0.0.0,Culture = neutral,.... “。考虑添加对它的引用 组装
我已经解决了这个问题,只是从引用中删除“System.Xaml”并再次从 Framework 添加它。