我正在处理的游戏从Content子项目中的文件夹加载所有纹理,并将它们存储在Texture2D[]
中。
由于我无法弄清楚的原因,似乎XNA的ContentManager(内容)永远不会卸载这些纹理。因此,即使我从文件夹中删除它们,它们仍然存储在管道中。
这是我的内容文件夹:
这是调试中ContentManager的loadedAssets。
从红色的元素轮廓中可以看出,这些纹理已从Content文件夹中删除,但它们仍保留在ContentManager缓存中。这意味着当我从“TileSets”文件夹加载所有纹理时,也会加载所谓的已删除纹理。
我在我的主Content.Dispose()
中尝试了Content.Unload()
和UnloadContent()
,但这些都没有解决问题。还确保从我的外部文件夹资源管理器中的文件夹中删除了纹理,甚至检查了ContentPipeline.xml;那里没有引用纹理。
发生了什么事?我错过了什么吗?
答案 0 :(得分:3)
显然我错过了.xnb文件,这些文件存储在~\bin\x86\Debug\Content
中。
从那里删除文件后,一切都按预期工作。