MonoGame(一個基本上將XNA帶到Windows Phone 8的框架)的名稱空間都以Microsoft.Xna.Framework
爲前綴,我相信在將XNA應用程序移植到應用程序時最小化所需的代碼更改量MonoGame。MonoGame和Microsoft.XNA.Framework命名空間的歧義參考
我的問題是,我希望訪問Microphone
類,它由於尚未在MonoGame中創建,所以我必須在官方的Microsoft XNA類中使用它,這需要刪除明確的強制刪除我MonoGame模板都有設置,以避免衝突,它的偉大工程中的.csproj內的標準Microsoft.XNA.Framework.dll
引用和現在Microphone
可以訪問,但其中無論是在微軟的標準問題,MonoGame存在幾個關鍵的類別之間這樣做,我創建歧義。
我收到的錯誤是:
明確的引用:
Microsoft.Xna.Framework.Color
Microsoft.Xna.Framework.Color
這顯然已經發生是因爲伴隨着標準的Microsoft發佈的XNA庫,我不得不MonoGame.Framework.dll
參考其commandeers的命名空間,創造這種不確定性。但是,在所有情況下,我希望訪問MonoGame版本。
任何想法,我可以明確告訴編譯器使用Color
和Vector2
類的MonoGame版本,而不是官方的微軟?
在using Color = Microsoft.Xna.Framework
顯然任何企圖將無法工作,因爲它們都標記在編譯的DLL一樣!
如果命名空間是相同的話,好像你將不得不重新編譯MonoGame使用不同的命名空間。唯一的另一種選擇是爲您想要使用的少數方法創建一個包裝。確保你清楚地知道你真的想在這個新班級中使用哪一個參考。因爲微軟基本上已經停止開發,所以我也會提醒你關於使用XNA的問題。 – 2013-03-05 13:33:55
謝謝,我會考慮一個包裝..只是希望更優雅的東西。 – GONeale 2013-03-05 13:34:35
你想同時使用引用和他們都有着完全相同的命名空間的問題是MonoGame沒有一個完美的解決方案。當然,我嚴重懷疑完整的命名空間是「Microsoft.Xna.Framework」。顏色'你將不得不看代碼來確定它實際是什麼。 – 2013-03-05 13:35:26