我刚刚下载了最新版本的Monogame (3.5),我突然得到了XNA的模糊引用。我不知道我以前有过什么版本,但只需说几年就够了。
我尝试在Visual中添加和删除程序集引用,但这只会产生不同的错误。
以下是确切的信息(其中之一):
Error 12 The type 'Microsoft.Xna.Framework.Graphics.Texture2D' exists in both 'C:\Program Files (x86)\MonoGame\v3.0\Assemblies\WindowsPhone\x86\MonoGame.Framework.dll' and 'C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Graphics.dll' c:\nightmare games\games\in production\boxland incorporated\boxland (monogame)\boxland\character_control.cs 55我正在为下列类型获得这些信息:
更新:
我尝试从项目中删除XNA,只使用Monogame。删除程序集引用和“使用”语句会导致以下类型的大量“类型或命名空间未找到”错误:
我已经有了对MonoGame.Framework的程序集引用。为MonoGame添加新的the语句只会导致错误:
Error 4 The type or namespace name 'MonoGame' could not be found (are you missing a using directive or an assembly reference?) C:\Nightmare Games\Games\In Production\Boxland Incorporated\Boxland (monogame)\Boxland\Particle_Effects.cs 5更新:
项目->属性->目标框架将此从".NET Framework4“改为".NET Framework4.5”似乎解决了Microsoft.XNA未被识别的问题,但这只会产生新的错误。
Error 2 The type or namespace name 'Graphics' does not exist in the namespace 'Microsoft.Xna.Framework' (are you missing an assembly reference?) C:\Nightmare Games\Games\In Production\Boxland Incorporated\Boxland (monogame)\Boxland\Draw.cs 4现在,我在Microsoft.Xna.Framework的保护伞下获得了这一切,包括图形、输入、音频、内容、GamerServices等等。
发布于 2016-06-30 23:26:17
现在(几乎)一切正常。不幸的是,这不是一个快速的解决办法。以下是我为实现这一目标所做的一切:
项目->属性->目标框架:
这必须设置为".NET Framework4.5“。我相信我以前是4.0岁的。
使用语句
保留所有“使用Microsoft.Xna.Framework”语句。然而,"Microsoft.Xna.Framework.GamerServices“必须离开。这个显然已经不再受支持了(我不知道我用它做了什么)。尝试重新加入"Microsoft.Xna.Framework“也是个坏主意。
I对Monogame.的程序集引用错误
这是一个棘手的问题,因为参考管理器显示了其中的14个,其中没有一个只显示一个版本号的"MonoGame.Framework“。显然它们并不都是一样的。悬停在名称上会显示不同的文件路径。我仍然不知道Windows、Windows8和WindowsUniversal之间有什么区别,但我真正需要的是在搜索结果中甚至没有列出。我必须浏览到实际文件,对于常规windows桌面,该文件位于: C:\Program (x86)\MonoGame\v3.0\Assemblies\Windows\MonoGame.Framework.dll下面。
FileMode.Open不再工作了.
这是System.IO的一部分,它现在似乎正在引起与Monogame的冲突。解决方案是使用"Content.Load",这就是XNA过去的做法。
我使用FileMode.Open来加载Taskture2D,因为以前的Monogame不支持编译内容。具有讽刺意味的是,发现现在支持这一点是我升级的主要原因,但我不认为我会一次把将近400个精灵转换成新的格式。它们都需要加载到新的管道工具和编译,添加到VS项目,然后实际加载代码必须改变。
切换回Content.Load使我在过渡期间编写的一些类失效,因为Monogame似乎不喜欢尝试在主游戏类之外使用GraphicsDevice。这些因素也必须进行大量的重构。
发布于 2016-06-17 11:37:17
您的项目和所有引用的程序集都应该只引用MonoGame。MonoGame是XNA的完全替代,几乎实现了所有XNA4.0类型。这两者不能在一个应用程序中共存。
https://stackoverflow.com/questions/37870668
复制相似问题