这应该是非常简单的,但我不敢为自己解决这个问题!
以下代码行会触发错误:
using Microsoft.Xna.Framework.Storage;
错误:类型或命名空间名称“存储”不存在于 namespace'Microsoft.Xna.Framework'(你错过了一个程序集吗? 引用?)
但据我所知,我添加了参考:(解决方案资源管理器 - >右键点击参考 - >添加参考 - > .NET标签 - >向下滚动到Microsoft.Xna.Framework.Storage
- &gt ;选择它 - >单击确定)。
Microsoft.Xna.Framework.Storage
显示出来。
我错过了什么?
修改
好的第二眼看,这可能与我如何添加引用有关。当我在对象浏览器中搜索时,Microsoft.Xna.Framework.Storage没有显示(但是当我搜索时,例如,对于音频,Microsoft.Xna.Framework.Audio确实显示)。无论如何检查当我在添加引用弹出窗口中单击“确定”它实际上正在工作时?
答案 0 :(得分:2)
我看到两种可能的可能性。
您的项目中的XNA 4.0和XNA 3.1(或以前的)引用不匹配。如果您添加的存储参考是3.1,您将收到此消息。您可以尝试删除它,然后在添加期间专门查看4.0版本。
您正在构建的设备可能不支持存储机制。特别是,Windows Phone显然使用了不同的存储机制(System.IO.IsolatedStorage
http://msdn.microsoft.com/en-us/library/ff604992.aspx)。
希望其中一项有所帮助。
答案 1 :(得分:1)
它实际上已由Microsoft从Monogame中删除。
运行:Windows 10,带有集成显卡(Intel G45 / G43),Visual Studio 19,Monogame 3.7.1
项目结构:解决方案> Game.Shared,Game.Android,Game.OpenGL(遵循this guide,创建跨平台项目,方法号3)。
我将OpenGL项目中的目标框架从.NET 4.5更改为.NET 4.7.x(最新版本),并且能够将应用程序构建并部署到Android设备。通过单击项目并选择“属性”来完成此操作。
我只是注释掉了这一行。应用将以这种方式成功部署到Android设备。游戏将会部署,但是我无法加载任何内容。
尚未看到我是否可以部署到iOS设备,请确定是否可以更新此帖子。
未安装nuGet。
答案 2 :(得分:0)
很久以前就问过这个问题,但是如果还有其他人在寻找答案,这就是我的解决方法。
如果使用Microsoft中的安装程序安装了Microsoft.Xna.Framework引用,则它将安装在C:\ Windows \ Microsoft.NET \ assembly中。我在 GAC_32 中找到了所有Xna库,并在 GAC_MSIL 中找到了Microsoft.Xna.Framework.Storage。
您还可以使用GAC查找Visual Studio的引用列表中未包含的库。对于4.0之前的.NET Framework版本,库位于 C:\ Windows \ assembly 中,而4.0以后的版本库位于 C:\ Windows \ Microsoft.NET \ assembly strong>。