XNA Content不会卸载一次性资产(Texture2D)

时间:2012-12-23 10:58:18

标签: c# xna textures

我正在处理的游戏从Content子项目中的文件夹加载所有纹理,并将它们存储在Texture2D[]中。

由于我无法弄清楚的原因,似乎XNA的ContentManager(内容)永远不会卸载这些纹理。因此,即使我从文件夹中删除它们,它们仍然存储在管道中。

这是我的内容文件夹:

enter image description here

这是调试中ContentManager的loadedAssets。

enter image description here

从红色的元素轮廓中可以看出,这些纹理已从Content文件夹中删除,但它们仍保留在ContentManager缓存中。这意味着当我从“TileSets”文件夹加载所有纹理时,也会加载所谓的已删除纹理。

我在我的主Content.Dispose()中尝试了Content.Unload()UnloadContent(),但这些都没有解决问题。还确保从我的外部文件夹资源管理器中的文件夹中删除了纹理,甚至检查了ContentPipeline.xml;那里没有引用纹理。

发生了什么事?我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

显然我错过了.xnb文件,这些文件存储在~\bin\x86\Debug\Content中。

从那里删除文件后,一切都按预期工作。