xml文件没有被XNA编译

本文关键字:XNA 编译 文件 xml | 更新日期: 2023-09-27 17:51:06

我正在使用XNA 4.0/Visual Studio 2013制作游戏。我希望使用XML文件加载内容,目前正在测试一个非常简单的XML,名为Terminator.xml。(它在另一个名为"Movie"类的项目中序列化,只有一个名为"Name"的属性)。

我已经将xml文件添加到内容项目中,并将"Build Action"设置为Compile,将"Copy to Output Directory"设置为Copy Always。

然而,我一直得到一个:

文件未找到

…错误。看起来xml文件从未被编译并传输到调试文件夹,尽管它应该被编译和传输到调试文件夹。

下面是相关代码。有趣的是,加载的是spritefont,而不是xml文件。

        font = Content.Load<SpriteFont>(@"font");
        movie = XnaSerializer.Deserialize<Movie>(@"Terminator");

下面是错误文本:

无法找到文件"C:'Users'H119650'Documents'Visual Studio 2013'Projects'Elysium'Elysium'Elysium'bin'x86'Debug'Terminator"

另外,是否应该尝试将编译后的文件放入Elysium而不是ElysiumContent?看起来有点可疑,看看上面的文件路径

xml文件没有被XNA编译

我看到了两个问题。

  1. 你的错误信息清楚地指出,它正在寻找终结者文件,而不是Terminator.xml,所以使用XnaSerializer.Deserialize<Movie>(@"Terminator.xml")可能是一个好主意。
  2. 如果文件未编译,则不应将Build Action设置为Compile。请使用Content