2016-11-20 49 views
1

我已經下載了用於mac的visual studio並創建了一個跨平臺的解決方案。我想使用OpenTK v2(不是xamarin提供的那個)。我可以刪除Xamarin版本的OpenTK並使用另一個?

問題是,似乎有一個OpenTK命名空間即使未被引用時也運行Xamarin.Mac。即使引用部分中未顯示引用,類型(Vector4等)和Math Helper類也會顯示在我的解決方案中。

當我將OpenTK v2 .dll添加到包(來自nuget)時,出現錯誤,說'導入類型'Opentk.Vector3'(或任何類型)被多次定義。一旦在OpenTk中,另一個在Xamarin.mac(v0)中。

我已經刪除了參考Xamarin.Mac和錯誤消失,但然後當然我得到的錯誤說我不能使用CoreGraphics在等

是否有指定的一些方法哪種類型的意思?或者刪除那些不應該在那裏的OpenTK引用?

我試過OpenTK.Matrix4 mat = new OpenTK.Matrix4()但它仍然不喜歡它。

回答

2

1)設置用於該被引用組件的Alias(參考屬性):

enter image description here

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 
+0

這個工作,至少項目編譯沒有錯誤,但在運行時,當加載使用OpenTK的類時,它會給出TargetInvocationException。 還有其他要求嗎? – Tom

相關問題