我可以删除 OpenTK 的 Xamarin 版本并使用另一个吗?

Can I remove the Xamarin version of OpenTK and use another?

我已经为 mac 下载了 visual studio 并创建了跨平台解决方案。我想使用 OpenTK v2(不是 xamarin 提供的那个)。

问题是似乎有一个 OpenTK 命名空间被使用 运行 和 Xamarin.Mac 即使它没有被引用。类型(Vector4 等)和数学助手 class 出现在我的解决方案中,即使参考未显示在参考部分中也是如此。

当我将 OpenTK v2 .dll 添加到程序包(来自 nuget)时,我收到错误提示“多次定义了导入的类型 'Opentk.Vector3'(或任何类型)。一次在 OpenTk 中,另一个在 Xamarin.mac (v0).

我已经删除了对 Xamarin.Mac 的引用并且错误消失了,但是当然我收到错误消息说我不能使用 CoreGraphics 等

是否有某种方法可以指定您指的是哪种类型?或者删除不应该存在的对 OpenTK 的引用?

我已经尝试过 OpenTK.Matrix4 mat = new OpenTK.Matrix4() 但它仍然不喜欢它。

1) 为引用的程序集(引用属性)设置一个Alias

2) 在源文件的顶部添加一个 extern alias

extern alias OpenTK2;

3) 然后您可以使用 using alias 或完全限定名称:

using AlphaFunction = OpenTK2::OpenTK.Graphics.OpenGL.AlphaFunction;
~~~

var alpha = AlphaFunction.Always;
alpha = OpenTK2::OpenTK.Graphics.OpenGL.AlphaFunction.Equal