内容管理器未检测到 Monogame 自定义导入器/处理器

问题描述

标题中所说的差不多。

我已经构建了第二个 .dll 文件,其中包含我的内容导入器/处理器,并在我的项目内容管理器的“参考”部分中添加了该 .dll 文件,但什么也没有。管理器未检测到我的自定义导入器/处理器。不知道发生了什么事,我找不到其他有类似问题的人,所以我希望更有经验的人可以帮助我!

顺便说一下,我正在使用 Json.NET 进行 Json 反序列化。

先谢谢你:)

MapJson 代码

public class MapJson
{
    [JsonProperty("name")]
    public String Name = "";

    [JsonProperty("width")]
    public Int32 MapWidth = 0;

    [JsonProperty("height")]
    public Int32 MapHeight = 0;
}

进口商代码

[ContentImporter(".amap",DefaultProcessor = "MapProcessor",displayName = "Map Importer - Engine")]
public class MapImporter : ContentImporter<MapJson>
{
    public override MapJsonImport(string filename,ContentImporterContext context)
    {
        string json = new FileHandle(filename).ReadAll();
        MapJson data = JsonConvert.DeserializeObject<MapJson>(json);
        return data;
    }
}

处理器代码

[ContentProcessor(displayName = "Map Processor - Engine")]
public class MapProcessor : ContentProcessor<MapJson,MapJson>
{
    public override MapJson Process(MapJson input,ContentProcessorContext context)
    {
        return input;
    }
}

编写器代码

[ContentTypeWriter]
public class MapWriter : ContentTypeWriter<MapJson>
{
    protected override void Write(ContentWriter writer,MapJson value)
    {
        writer.Write(value.Name);
        writer.Write(value.MapWidth);
        writer.Write(value.MapHeight);
    }
}

读者代码

public class MapReader : ContentTypeReader<Map>
{
    protected override Map Read(ContentReader reader,Map existingInstance)
    {
        MapJson data = new MapJson();
        data.Name = reader.ReadString();
        data.MapWidth = reader.ReadInt32();
        data.MapHeight = reader.ReadInt32();

        // this constructor just sets my 'Map' class's Name,MapWidth and MapHeight variables
        return new Map(data);
    }
}

解决方法

嗯嗯,这很尴尬...
解决方案是先构建游戏项目,然后实际重新构建内容导入器/处理器项目,然后将其与内容管理器链接!
感觉自己好傻哈哈

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...