有没有办法在Mono for Android中设置或覆盖项目部署文件夹?例如,我的应用程序现在部署到/data/data/SolutionEngine/files/.__override__
应用程序的本质是它使用Reflection加载插件,默认情况下它会从应用程序根目录查找/Adapters
子文件夹。这就是它在桌面和Compact Framework上的工作方式,因此为了简单起见,我们希望在Android上继续这样做。
如果我有一个包含应用程序和一些插件的解决方案,那么当我开始调试时,我希望这些文件以适当的结构部署。
答案 0 :(得分:0)
你可以把插件写成android资产(见下面的截图)。 请注意: 您可能需要将扩展名更改为.mp3。见here。我虽然没有这个问题。
一旦这样做,您应该能够使用资产管理器获取资产。您可以将它们复制到不同的文件夹或对它们执行任何操作。这是一个将它们读入内存并写出名称的示例。
const String pluginPath = "Plugins";
var pluginAssets = Assets.List(pluginPath);
foreach (var pluginAsset in pluginAssets)
{
var file = Assets.Open(pluginPath + Java.IO.File.Separator + pluginAsset);
using (var memStream = new MemoryStream())
{
file.CopyTo(memStream);
//do something fun.
var assembly = System.Reflection.Assembly.Load(memStream.ToArray());
Console.WriteLine(String.Format("Loaded: {0}", assembly.FullName));
}
}