C# 设计时间错误-';VisualState';在至少两个命名空间中发生

C# 设计时间错误-';VisualState';在至少两个命名空间中发生,c#,.net,wpf,C#,.net,Wpf,我得到以下错误 不明确的类型引用。名为“VisualState”的类型至少出现在两个名称空间“System.Windows”和“System.Windows”中。考虑调整程序集XMLSNDebug属性。 我没有直接引用这些程序集名称空间中的任何一个,我正在执行以下操作: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.m

我得到以下错误

不明确的类型引用。名为“VisualState”的类型至少出现在两个名称空间“System.Windows”和“System.Windows”中。考虑调整程序集XMLSNDebug属性。

我没有直接引用这些程序集名称空间中的任何一个,我正在执行以下操作:

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   

听起来您好像在尝试将为WPF3.5编译的WpfToolkit与WPF4一起使用。
VisualStateManager
现在是WPF4的一部分,因此如果您正在使用用于
DataGrid
VisualStateManager
的工具包,只需删除工具包引用即可解决歧义。如果要使用工具箱进行图表制作,则应使用WPF4版本的图表制作:


如果您仍然需要将旧工具包与WPF4一起使用,您必须找到对VisualStateManager和相关类的所有XAML引用,并在它们前面加上一个名称空间,该名称空间指向包含要使用的
System.Windows.VisualStateManager
的特定程序集,以解决歧义。

我已将该工具包包括在我的项目中,正在使用.NET 4,所以情况可能就是这样。我必须检查一下我使用的工具包中是否有任何东西尚未进入框架。这发生在我从M VS 2008迁移到2010的过程中。我刚刚推出了WPF4的NuGet包:我用你的包替换了WPF工具包3.5,但是现在我遇到了一些问题,因为我不知道如何将它添加到XAML页面。(对不起,这里是WPF新手。)我通过WPF工具包消除了歧义,并从上面的链接添加了工具。我的XAML表单无法识别引用名称空间中是否存在类。我可以让它们在intellisense上运行,但应用程序不会编译,错误显示“名称”MainWindow“在名称空间“clr名称空间:FieldSheetPrinter”中不存在“我将提出一个新的问题,因为这偏离了原来的主题,但我想补充一点,第一部分已经由斯莱德基先生的回答解决了。