繁体   English   中英

你可以在monotouch中使用assembly.load吗?

Can you use assembly.load in monotouch?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

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

要做到这一点,我在我的应用程序项目中引用插件dll,将limker设置为'sdk only'然后我在我的应用程序中尝试调用Assembly.Load(filename)时需要插件。

这与我之前在monodroid中成功使用的方法相同。 但是目前,在使用FileLoadException的monotouch中失败了。

这种方法在单音中是否可行? 是否需要包含特殊的文件路径? 或者在aot环境中是否不支持?


注意:显然还有其他方法可以达到类似的效果 - 我确实有备份计划......但这是我首选的路线(如果我可以使其工作)

2 个回复

代码如:

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);

MonoTouch不支持Assembly.Load(或动态加载代码的任何其他方式)。

这是一个iOS限制 - 所有可执行代码都必须在应用程序中(它必须是本机代码,这就是我们在编译时使用AOT生成本机代码的原因)。

1 Assembly.Load是否使用缓存?

我有一个资源程序集,它存储了许多可重用的脚本,样式和控件。 我不确定在加载后是否应该缓存此程序集。 Assembly.Load是否在同一app-domain中使用内部缓存? 谢谢! ...

3 Assembly.Load 3个dll

我有3个dll加载到资源。 它们被切换为嵌入式资源。 我有这样的代码,仅将一个dll加载到Assembly中。 如何加载所有dll? ...

2015-01-28 23:37:28 1 70   c#
4 程序集.加载 + 依赖项

我在加载 DLL 及其引用时遇到问题。 场景是这样的: 我有一个 C# 库项目(我们称之为“A”),它引用了另一个 C# 库项目(我们称之为“B”)。 这两个项目的 Dll 都存储在 Azure Blob 存储上,但这实际上无关紧要。 作为我项目的一部分,我使用XslCompiledTransf ...

5 Assembly.Load()与否?

我们有一个非常老的Windows程序,它是用c#开发的,每发布一个新出版物,客户都需要重新安装该程序的新版本。 我想知道是否有可能。 我将所有类存储到txt文件中 当程序开始运行时,我的调度程序类将搜索相关的txt文件,并将动态创建带有Assembly.Load的表单/类。 ...

7 Assembly.Load奇怪的行为

我在我的两台机器的GAC“Microsoft.Web.Services2.dll” V2.0.3.0。 我在两个人中都运行此行: (请注意版本是2.0.0.0,而不是2.0.3.0) 在一台机器上,这失败了(正如我所期望的)。 在另一个工作原理和加载的dll是2.0.3.0 ...

8 `Assembly.Load`在一个单独的文件夹中

作为我上一个问题的延续。 我通过这段代码加载DLL。 例1: 这很好用。 但我使用内部使用此代码的序列化,例2: 此代码抛出异常: System.Runtime.Serialization.SerializationException: Unable to find ...

2015-06-05 07:48:56 2 271   c#
9 程序集.加载 .NET Core

我有一个使用AssemblyBuilder.DefineDynamicAssembly动态生成的程序集,但是当我尝试加载它时,出现以下错误: System.IO.FileNotFoundException: '无法加载文件或程序集'test,Culture=neutral,PublicKey ...

10 Assembly.Load性能影响

我正在开发一个组件,它执行使用ioc注册的任何接口的临时方法,执行时刻取决于不同的触发器。 它必须能够保存要对数据库执行的操作,因此我将方法名称,类型和参数列表(序列化为BLOB)保存到数据库中,直到需要为止。 当触发发生时,我需要在类型的实例上执行方法。 当我使用依赖注入时,我将接口 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM