gpt4 book ai didi

xamarin.ios - 你能在 monotuch 中使用 assembly.load 吗?

转载 作者:行者123 更新时间:2023-12-01 12:51:03 24 4
gpt4 key购买 nike

我目前正在尝试在单点触控应用程序中动态加载插件程序集。

为此,我在我的应用程序项目中引用了插件 dll,将链接器设置为“仅 sdk”,然后我尝试在我的应用程序中调用 Assembly.Load(filename)需要插件时的应用程序。

这与我之前在 monodroid 中成功使用的方法相同。但是目前,这在单点触摸中失败并出现 FileLoadException。

这种方法在单点触摸中可行吗?是否需要包含特殊的文件路径?还是aot环境不支持?


注意:显然还有其他方法可以达到类似的效果——我确实有一个备用计划……但这是我的首选路线(如果我能做到的话)

最佳答案

代码如下:

var a = Assembly.Load ("mscorlib.dll");
Assert.NotNull (a);

在模拟器和设备上都能正常工作。但是 Load 的参数是 assemblyString,它不是文件名(即使抛出的异常让您认为它是)。

存在许多其他重载(对于 Load)和其他方法(例如 LoadFrom),但它们可能无法在 MonoTouch 中全部工作(因为可能缺少某些运行时支持) .

注意

mscorlib.dll 的处理是特殊的(并且在更多情况下比其他程序集工作,即快捷方式)。然而,基于反射的方法似乎在更多情况下按预期工作,例如:

string filename = System.IO.Path.GetFileName (GetType ().Assembly.Location);
Assembly assembly = Assembly.ReflectionOnlyLoadFrom (filename);

关于xamarin.ios - 你能在 monotuch 中使用 assembly.load 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12401588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com