我已将Visual Studio 2008 Professional中的C#项目移至Visual Studio 2010 Express。 它使用VS迁移向导成功转换项目,但构建失败。关于使用WPF DataGrid构建项目的Visual Studio 2010错误
有不少错误,都与WPF Datagrid有关。 VS2008内置的错误不会发生。例如:
'DataGridRow' is an ambiguous reference between 'System.Windows.Controls.DataGridRow' and 'Microsoft.Windows.Controls.DataGridRow'
我看到该项目也使用WPFTools.dll。
随着VS2010可能WPFTools.dll不再需要?或者,也许我需要使用专业版而不是VS的Express版本,并且项目未成功迁移?
我想我可以使用完整的命名空间来编辑所有这些是问题的地方,以使错误消失,指定“Microsoft.Windows.Controls”或“System.Windows.Controls”,但我是不确定在VS2008下违约的是哪两个。
你应该检查你的引用(和/或导入的命名空间)。问题是有(现在)两个引用(和/或名称空间),它们都定义了一个类(控制)DataGridRow,并且您正在导入这两个名称空间。现在如果你只说“DataGridRow”,编译器不知道要使用哪个类,你应该通过添加命名空间来提示它,或者只是删除虚假的命名空间。 – Styxxy