已签名的应用程序如何使用未签名的程序集(可以在客户站点重新生成)

本文关键字:站点 客户 新生 应用程序 何使用 程序集 | 更新日期: 2023-09-27 17:59:02

我的C#.net可执行文件需要签名,才能使用另一个提供密码访问权限的程序集中的一个方法。

同一可执行文件需要引用和使用未签名的程序集。它没有签名的原因是我们为客户提供了一种在现场重新生成它的方式(它将对应用程序中建模自定义的访问打包)。

单个可执行文件是否可以同时使用已签名和未签名的程序集?

已签名的应用程序如何使用未签名的程序集(可以在客户站点重新生成)

您不能从已签名的程序集中引用未签名的程序集,但可以使用assembly中的一个轻松加载程序集。加载方法。

通常,您在签名的程序集中提供接口(或者基类,如果您愿意的话),并在整个代码中使用它来在编译时获取信息。客户的未签名程序集(插件)在一些特殊标记的类上实现了该接口。然后应用程序加载程序集(通过Load从默认位置加载,或者通过LoadFile从指定文件加载),查找并构造类,然后在运行时使用它来获取信息。

注意:您还可以研究"如何在C#/.Net中实现插件"的方法问题。

我认为使用无符号程序集的唯一方法是在运行时使用反射加载它。

如果可执行文件引用了非强名称的内容,则不能将强名称添加到可执行文件中。