gpt4 book ai didi

msbuild - NuGet 恢复覆盖签名的 DLL

转载 作者:行者123 更新时间:2023-12-05 04:13:32 25 4
gpt4 key购买 nike

我们应用程序的入口点程序集使用强名称 key 进行签名,因此 .NET 也要求对所有引用的程序集进行签名。对于那些发布未签名程序集的包,我们的解决方法是使用 ildasm/ilasm 手动对它们进行签名,过程说明 here ,并将强名称程序集 checkin 到 git 存储库。

在构建机器上,我们执行 git pull 来获取签名的 DLL,然后执行 .nuget\NuGet.exe restore App.sln 来恢复其余的包。 NuGet 恢复没有覆盖 packages 文件夹下的签名/ checkin 程序集文件,因此我们可以很好地构建解决方案。

直到最近,我才注意到这不再有效,并且仅针对其中一个已签名的 DLL nuget restore 会使用包随附的原始未签名程序集覆盖它。我不明白为什么现在它的工作方式不同以及为什么它只发生在其中一个包中。

  • NuGet 恢复 如何决定何时覆盖包的现有 DLL 以及何时跳过它?
  • 在使用未签名的包时,是否有更好的方法来满足这种严格的命名要求?

NuGet.exe 版本为 3.4.3。

谢谢!

最佳答案

正在看最新NuGet source在我看来,好像对 packages 目录中任何丢失的 .nupkg 文件进行了初步检查,我假设您没有使用 project.json 文件,然后它尝试仅恢复那些找不到的 NuGet 包一个 .nupkg 文件。然而,这只是我在阅读代码,理想情况下我需要调试它以查看它是否真的有效。

要解决此问题,您可以考虑使用 StrongNamer NuGet package这将在构建时强烈命名所有程序集,因此恢复将不再是问题。

关于msbuild - NuGet 恢复覆盖签名的 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37217256/

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