Я работаю с 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 внутри XML содержание? например, без внешней dll со ссылкой?
Спасибо!
Это не грязно, чтобы отделить один центральный игровой проект на несколько. В моей собственной игре есть Engine.csproj, который построен на идее «Что не уникально для этой игры? И может ли ее использовать другая игра?» Я также использую около 6 расширений конвейера контента, проект Engine очень полезен. – Jarryd
@Jarryd Я согласен, что это не бесполезно вообще в вашем случае, но я пишу gui lib, который приходит как dll .. так что теперь вместо одного dll + content его 2 dlls + content + необходимо добавить ссылку на один из dlls. –