Monogame Content Pipeline不能构建XML文件

本文关键字:XML 文件 构建 不能 Content Pipeline Monogame | 更新日期: 2023-09-27 18:03:34

我在使用Monogame v3.5内容管道工具为游戏构建一些XML文件时遇到了问题。我有两个专门用于数据的项目——一个用于通用数据类,另一个用于特定数据类——然后我将它们引用到我的游戏中。

所有使用"通用"数据类的XML文件都能正确构建,但使用游戏特定数据类的XML文件却不能。我在我的.mgcontent项目中添加了对两个项目dll的引用;此外,游戏特定数据项目引用通用数据项目。

我在使用管道工具构建时获得以下错误:

导入器'XmlImporter'意外失败!Microsoft.Xna.Framework.Content.Pipeline.InvalidContentException:无法解析SpaceCardGameData类型。SpaceBackgroundData '

上述失败文件的Xml文件为:

<XnaContent>
    <Asset Type="SpaceCardGameData.SpaceBackgroundData">
        <AsteroidTextureAssets>
            <Item>Objects'Asteroids'TinyAsteroid</Item>
            <Item>Objects'Asteroids'SmallAsteroid</Item>
            <Item>Objects'Asteroids'LargeAsteroid</Item>
            <Item>Objects'Asteroids'HugeAsteroid</Item>
        </AsteroidTextureAssets>
    </Asset>
</XnaContent>

和。cs文件是:

namespace SpaceCardGameData
{
    public class SpaceBackgroundData : BaseData
    {
        public List<string> AsteroidTextureAssets { get; set; }
    }
}

(Base Data是'generic'项目中的空类,我只是将其用作模板等的基类型)。

有没有人知道为什么一个项目的XML文件可以工作,而另一个项目却不行。如果你还想看别的,我会上传的。谢谢。

Monogame Content Pipeline不能构建XML文件

修正事实证明,项目的数据文件不工作不是一个真正的Windows类库,而是一个一夫一妻制的项目,我已经删除了Game.cs类,以节省自己不得不添加引用。这就是破坏它的原因。数据项目必须是真正的类库。