签署未签署的相互依赖的第三方库
我的项目使用一组未签名的第三方库(在.Net 2.0中编译)。我已经知道如何使用 ildasm 和 ilasm 签署这些库。然而,问题是第三方库是相互依赖的。因此,在 ilasm 之后,当我编译项目时,出现“缺少引用”错误,因为 lib1.dll 正在寻找 lib2.dll 的“PublicKeyToken=null”版本。
我还尝试将所有 3 个“.il”文件编译到一个库中,但出现“多个程序集声明”错误。
有什么想法可以解决这个问题吗?
My project uses a set of unsigned third party libraries (compiled in .Net 2.0). I already know how to sign these libraries using ildasm and ilasm. However, the problem is that the thirdparty libraries are interdependent. As a result, after ilasm, when I compile my project, I get "missing reference" errors because lib1.dll is looking for the "PublicKeyToken=null" edition of lib2.dll.
I also tried compiling all the 3 ".il" files into a single library, I get errors for "multiple assembly declarations".
Any ideas how to get around this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想说你应该使用 Mono.Cecil 来签署现有程序集,但还添加程序集内部程序集引用的签名(称为 AssemblyReference)。
I'd say that you should use Mono.Cecil that can sign an existing assembly, bu also add the signature of the reference of an assembly inside an assembly (what is called AssemblyReference).