VisualStudio错误?

时间:2010-12-08 13:12:31

标签: .net wpf visual-studio winforms

在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.dllPresenationFramework.dllWindowsBase.dll等引用,那么为什么不System.Xaml.dll呢?

==============

Microsoft Connect 上报告了错误。

3 个答案:

答案 0 :(得分:56)

听起来你只需要引用System.Xaml.dll


重新判断这是否是VS中的错误;好吧,我想模板可以添加该引用 - 我可以重现它,所以值得logging on connect

答案 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 添加它。