gpt4 book ai didi

c# - 程序集以及何时不能选择强命名?

转载 作者:行者123 更新时间:2023-11-30 13:21:31 24 4
gpt4 key购买 nike

不久前,我在 Stack Overflow 上问了以下问题, Assembly Names and Versions .

现在我意识到我无法使用强名称对我的程序集进行签名,因为第 3 方依赖项之一不是强名称程序集,因此我的程序集不可签名。

我试图简单地将程序集文件名 MyAssembly.dll 更改为 MyAssembly.v.1.1.dll 但是当我这样做并引用重命名的程序集时 - 它不会像其他引用一样被复制。似乎是因为程序集的文件名和身份属性不匹配。

我有项目 A 和 B,它们是项目 C 的依赖项。项目 A 需要引用 MyAssembly.dll v.1.0,项目 B 需要引用 MyAssembly.dll v.2.0,因此两者都需要能够位于项目中C 的 bin/Release 文件夹。

有什么可做的?我该如何解决这个问题?

最佳答案

理想情况下,任何自尊的第 3 方程序集开发人员都会签署他们的程序集。我会尝试以下操作:

  1. 看看您是否可以联系第 3 方组装提供商并请求他们为您签名。
  2. 如果第 3 方程序集提供程序是开源的,请使用强名称 key 自行下载和编译源代码。 (考虑将其贡献回项目)。

否则,(只要许可证允许):

  1. 尝试 ildasm.exeilasm.exe像这样:

    ildasm.exe/out:TheAssembly.il TheAssembly.dll

    ilasm.exe TheAssembly.il/key=MyKey.snk/dll/output=TheAssembly.dll

  2. 尝试 ILMerge正如其他人所提到的。

否则,您可能需要为您当前在第 3 方程序集中的功能寻找另一个选项。

祝你好运!

关于c# - 程序集以及何时不能选择强命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/243547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com