我已经使用XNA完成了我的项目,我正在尝试使用Monogame进行转换。
我的问题是我无法加载我的XML文件。
错误:Could not load Level asset as a non-content file!
我的代码:file = Content.Load<XmlData[]>(path);
Path =没有扩展名的xml名称文件。 (我试过了)。
class XMLData:
public class XmlData
{
public int id;
public int posx;
public int posy;
public int rot;
public int Width;
public int Height;
}
和我的一些XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<Asset Type="MyDataTypes.XmlData[]">
<Item>
<id>17</id>
<posx>54</posx>
<posy>30</posy>
<rot>90</rot>
<Width>184</Width>
<Height>5</Height>
</Item>
我在XNA上遇到了这样的问题,我不得不将以下行添加到我的XML文件<XnaContent> </XnaContent>
我还必须将XML数据添加为库(即使它只是一个类)。
那么与Monogame的区别是什么?为什么我无法加载此XML文件?在适当的情况下,我的xml文件是一个内容。
感谢您的帮助,我将不胜感激。
编辑:我以为我在这里找到了我的问题 - &gt; <Asset Type="MyDataTypes.XmlData[]">
我试过<Asset Type="XmlData[]">
因为我没有MyDataTypes库了。我也尝试过Content目录和资产目录。什么都没有奏效。我保留这篇帖子更新。
答案 0 :(得分:0)
您是否尝试将属性文件设置为Copy if newer
?
答案 1 :(得分:0)
我相信你不能在monogame中这样做,因为它没有将xml转换为xnb文件的内容管道,所以,除非我弄错了,你最好在xna中构建文件并且只需复制将xnb文件放入您的monogame项目并将其设置为“Content”和“Copy if newer”