代码之家  ›  专栏  ›  技术社区  ›  Madeleine

在已签名的项目中使用未签名的DLL

  •  4
  • Madeleine  · 技术社区  · 14 年前

    我有一个第三方DLL,我需要在我的应用程序中使用。我的项目是用snk签名的,因此我不能在没有签名的情况下使用这些未签名的dll。

    我尝试使用ildasm.exe,如解释所示 here 但是,当我试图将dll签名为包含非托管代码时,会收到错误消息。我得到的错误消息是“生成的PE文件不可用”(dll使用p/invoke调用)。

    我能在这里做什么吗?

    2 回复  |  直到 13 年前
        1
  •  2
  •   Dirk Vollmar    14 年前

    如果您无法获得第三方程序集的签名版本,并且需要此版本才能正常工作,则可以在运行时动态加载DLL。

        2
  •  7
  •   Jon Skeet    14 年前

    最简单的方法是用键重新生成DLL。你没有告诉我们任何关于第三方动态链接库的事情…如果这是一个商业图书馆,我希望相关的公司会很乐意给你一个签名的二进制文件。如果它是一个开放源码库,你可以自己做。

    如果你没有办法获得一个“正常”的有符号二进制文件,也许你可以提供更多关于这种情况的细节?