我在使用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文件却没有。如果你想看到其他任何东西,我会上传它。感谢。
答案 0 :(得分:0)
FIXED事实证明,带有数据文件的项目不是真正的Windows类库,而是一个Monogame项目,我删除了Game.cs类以保存自己不得不添加引用。这就是打破它的原因。数据项目必须是真正的类库。