我正在使用MonoGame,我想使用XML为我的一些纹理添加一些元数据。我创建了以下类:MonoGame使用XML中相同项目的类型
public class TextureData
{
public float FrameWidth;
public float FrameHeight;
}
现在我试图在内容管道中创建一个XML并加载它。我试着写了下面的XML:
<?xml version="1.0" encoding="utf-8"?>
<XnaContent xmlns:ns="Microsoft.Xna.Framework">
<Asset Type="TextureData">
<FrameWidth>0.2</FrameWidth>
<FrameHeight>0.2</FrameHeight>
</Asset>
</XnaContent>
而且得到了以下错误:
error : Importer 'XmlImporter' had unexpected failure!
1> Microsoft.Xna.Framework.Content.Pipeline.InvalidContentException: Could not resolve type 'TextureData'.
我读了一些教程和所有的人,只要他们使用自定义类型,他们把它从外部DLL和参考它。所以我尝试将该类移动到外部DLL并从那里使用它,它的工作原理。然而,在我的原始项目中创建一个全部类库只是为了引用XML中的一个类而感到非常混乱..
所以我的问题是:是否可以使用MonoGame项目本身的自定义类型内容?例如没有外部DLL的参考?
谢谢!
将一个中心游戏项目分成几个并不是一团糟。我自己的游戏有一个Engine.csproj,它建立在“这个游戏不独有的东西?另一个游戏可以使用它?”的基础上。 我也使用了大约6个内容管道扩展,一个Engine项目非常有用。 – Jarryd
@Jarryd我同意在你的情况下它不是混乱的,但我正在写一个GUI作为一个dll ..所以现在,而不是一个dll +内容它的2 dll +内容+需要添加引用其中之一dll。 –