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