繁体   English   中英

MAF插件的EntryAssembly

[英]EntryAssembly for MAF AddIn

有没有一种方法可以设置MAF插件,以便从插件的AppDomain内部调用时, System.Reflection.Assembly.GetEntryAssembly()返回对插件主程序集的引用?

背景:为了满足我的项目的某些安全性要求,我必须在单独的AppDomain中加载插件,并且在从插件的AppDomain内部调用时,GetEntryAssembly()的结果必须设置为插件的(重命名)主程序集。 我已经按照MSDN MAF演练中介绍的模式开发了一个测试用例。 在我的测试案例中,如果将程序集加载到单独的AppDomain(或进程)中,则GetEntryAssembly()始终返回null。

我注意到GetEntryAssembly文档说:“从非托管应用程序加载托管程序集时,GetEntryAssembly方法无法返回任何内容” –这是否适用于MAF跨越AppDomain边界的代理?

有问题的程序集和可执行文件都具有强名称。

您对此是正确的。 它不会返回Nothing(空)。

但是请注意,在System.Reflection.Assembly.GetEntryAssembly中 ,“返回值”描述为:

程序集是默认应用程序域中的流程可执行文件,还是由AppDomain.ExecuteAssembly执行的第一个可执行文件。

AppDomain.ExecuteAssembly用于执行.NET应用程序的main方法。 在您的情况下,不会执行任何应用程序。 在这里解释正在做什么。

返回Nothing(空)是有意义的,因为没有对ExecuteAssembly的调用。

为什么不改用GetExecutingAssembly

暂无
暂无

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

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