MonoGame使用XML中相同项目的类型

时间:2016-11-23 23:16:53

标签: c# xna monogame

我正在使用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引用一个类,感觉非常麻烦。

所以我的问题是:是否可以在XML内容中使用MonoGame项目本身的自定义类型?例如没有外部dll参考?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以从源代码编译MonoGame,但将其与UI项目放在同一个项目中。也许只是抓住你需要的类型,比如Vector2和Point等......