可以';在C#中找不到System.Windows.Vector

本文关键字:找不到 System Windows Vector 可以 | 更新日期: 2023-09-27 17:57:49

我正在Visual Studio 2010 Ultimate中制作一个Windows窗体应用程序,但无法使内置的Vector正常工作。

微软表示,.NET Framework 4:中有一个System.Windows.Vector

也许我犯了一些大错误,但Visual Studio抱怨试图以任何方式使用Vector,而且它没有出现在IntelliSense自动完成中:

线路Vector v = new Vector(20, 30);给出

编译错误错误1找不到类型或命名空间名称"Vector"(是否缺少using指令或程序集引用?)"

我试着在顶部加入一个using System.Windows,但这并没有解决问题。

我去了参考->添加参考,试图找到要添加的内容,但没有什么明显的。

问题可能是:在System.Windows命名空间中与Vector一起列出的还有其他类,如RectApplication。我可以将它们用作System.Drawing.RectangleSystem.Windows.Forms.Application,但这些都不显示为某些System.Windows命名空间的一部分

我尝试了大约2个小时的不同东西,发现了这篇相关的帖子(但Vector是.NET 4的一部分,所以他们的修复似乎不值得?)和这篇可能相关的帖子,但我确实安装了.NET Framework 4。

有人有Vector的例子吗?我知道我可以上第三方课程,但我觉得我错过了一些东西,我想学习/发布解决方案,让其他人在谷歌上搜索同样的问题。

可以';在C#中找不到System.Windows.Vector

添加对WindowsBase的引用
Vector类是在System.Windows命名空间内的WindowsBase.dll程序集中定义的。

System.Windows.Vector是WPF的一部分,而不是Windows窗体,因此在尝试使用它时会遇到困难。您可以添加对WindowsBase.dll的引用,但考虑到它是用于WPF应用程序,而不是用于Windows窗体应用程序,这样做可能不会带来什么好处。

微软决定在System.Windows中放置WPF组件,在System.Windows.Forms中放置WinForms,这在互联网上引起了无尽的困惑,我永远不会知道System.Windows.Presentation或类似的WPF有什么问题!

要找出必须添加到引用中的程序集,使用ILSpy(OpenSource)这样的工具会非常有帮助。在那里,您可以搜索所需的类型,并找出它是在哪个程序集中实现的,以及必须使用哪个命名空间。

找出实现程序集可能相当困难,而且我必须经常这样做。我发现这是一个快速的方法,并认为它可以在未来帮助你。