在C#中找不到System.Windows.Vector
我在Visual Studio 2010 Ultimate中制作Windows窗体应用程序,但无法使内置的Vector工作。
Microsoft表示.NET Framework 4中有一个System.Windows.Vector
:
也许我犯了一些大错,但Visual Studio抱怨尝试以任何方式使用Vector,而且它没有出现在IntelliSense自动完成中:
Vector v = new Vector(20, 30);
给
编译错误错误1找不到类型或命名空间名称“Vector”(您是否缺少using指令或程序集引用?)“
我尝试在顶部包含一个using System.Windows
,但这并没有解决问题。
我去了References – > Add Reference试图找到要添加的东西,但没有什么是显而易见的。
问题可能是:还在System.Windows
命名空间中使用Vector
列出,还有其他类,如Rect
或Application
。 我可以将它们用作System.Drawing.Rectangle
或System.Windows.Forms.Application
,但这些都不会显示为某些System.Windows命名空间的一部分
我已经尝试了大约2个小时不同的东西,发现了这个相关的post (但是Vector 是 .NET 4的一部分,所以他们的修复似乎不值得?) 这可能是相关的post,但我确实安装了.NET Framework 4 。
有没有人有Vector
的例子? 我知道我可以参加第三方课程,但是我觉得我错过了一些东西,并希望学习/为其他人发布解决方案来搜索同样的问题。
添加对WindowsBase的引用。
Vector
类在System.Windows命名空间内的WindowsBase.dll程序集中定义。
System.Windows.Vector
是WPF的一部分,而不是Windows Forms,因此在尝试使用它时遇到了困难。 您可以添加对WindowsBase.dll
的引用,但考虑到它旨在用于WPF应用程序而不是Windows窗体应用程序,您很可能从这样做中获得的好处很少。
微软决定在System.Windows
中将WPF组件放在System.Windows
和WinForms中是互联网上无休止混淆的根源,对于WPF的System.Windows.Presentation
或类似的问题,我永远不会知道!
要找出必须添加到引用的程序集,使用ILSpy (OpenSource)之类的工具会非常有用。 在那里,您可以搜索所需的类型,并找出它实现的程序集以及您必须使用的名称空间。
找出实施组件可能非常困难,我必须经常这样做。 我发现它是一种快速的方法,并认为它可以在将来帮助你。