【发布时间】:2016-05-13 18:44:47
【问题描述】:
我们应用程序的入口点程序集使用强名称密钥进行签名,因此 .NET 要求所有引用的程序集也进行签名。对于那些发布未签名程序集的包,我们的解决方法是使用 ildasm/ilasm 手动对其进行签名,过程解释为 here,并将强命名程序集签入到 git 存储库。
在构建机器上,我们使用git pull 来获取签名的 DLL,然后使用.nuget\NuGet.exe restore App.sln 来恢复其余的包。 NuGet 还原没有覆盖 packages 文件夹下已签名/签入的程序集文件,因此我们可以构建解决方案。
直到最近我才注意到这不再起作用,并且只有一个已签名的 DLL nuget restore 会用软件包随附的原始未签名程序集覆盖它。我不明白为什么现在这种情况会有所不同,以及为什么只有其中一个软件包会发生这种情况。
-
NuGet restore如何决定何时覆盖包的现有 DLL 以及何时跳过它? - 在使用未签名的包时,有没有更好的方法来解决这种严格的命名要求?
NuGet.exe 版本为 3.4.3。
谢谢!
【问题讨论】:
标签: msbuild nuget nuget-package nuget-package-restore