Monogame Content Pipeline无法构建XML文件

时间:2016-08-22 23:45:51

标签: c# xml monogame

我在使用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; }
    }
}

(基础数据是'通用'项目中的空类,我只是用作模板的基本类型等等。)

有没有人知道为什么一个项目的XML文件正在工作,而另一个项目的XML文件却没有。如果你想看到其他任何东西,我会上传它。感谢。

1 个答案:

答案 0 :(得分:0)

FIXED事实证明,带有数据文件的项目不是真正的Windows类库,而是一个Monogame项目,我删除了Game.cs类以保存自己不得不添加引用。这就是打破它的原因。数据项目必须是真正的类库。