我正在使用:
动态加载程序集Assembly _assembly = Assembly.ReflectionOnlyLoadFrom(PathToDllAssembly);
我可以检查类名和/或方法名。
为了访问方法,我必须加载程序集:
Assembly _assembly = Assembly.LoadFile(PathToDllAssembly);
但是有可能在汇编内部获得String
值,而无需实际加载它或在ReflectionOnly上下文中加载它?
只是为了让你知道,也许你可以指给我正确的方向,我问,因为在我的程序集中,我有key
字符串,它是一个加密的字符串,我只想加载这个程序集,如果解密key
等于一个字符串。
基于ReflectionOnlyLoadFrom
文档
无法执行已加载到程序集中的代码反射仅上下文。要执行该代码,请使用
访问一个字段或属性的值,或者调用一个方法,都是在执行代码。因此,您必须使用LoadFile
。
至于您的安全措施,也许您应该改为查看程序集签名,以正确验证目标程序集的真实性。