如何在 Visual Studio 中的构建过程中对输出可执行文件进行签名?

问题描述 投票:0回答:3

当我使用项目属性中所示的

strong name key file
时,它要求所有引用的程序集也使用此类类似的签名。

但我想要的是使用 WinDDK 进行签名

Signtool.exe
。我已经手动执行此操作,但我还想调试签名程序集,最好的方法是将签名包含在构建中,可能是一个
AfterBuild
步骤。

问题是我不知道如何创建

AfterBuild
步骤

visual-studio-2010 msbuild code-signing
3个回答
2
投票

你把事情搞混了。强名称与使用 Signtool.exe 添加到二进制文件中的证书不同。也不要求依赖程序集具有证书或需要匹配。签署调试版本也没有意义,只有您的客户对其感兴趣。您已经知道您可以相信自己。 msbuild 已支持运行 sn.exe 为程序集指定强名称。


1
投票
*.csproj

文件中:


<Target Name="AfterBuild"> <Exec Command="sign.bat" /> </Target>

然后我在项目根文件夹中添加了一个
sign.bat

文件


我在

一些博客

找到了这个解决方案


0
投票
Properties

中 >> Build Events >> Post-build 事件命令行 if $(Configuration) == Release C:\"Program Files (x86)"\"Windows Kits"\10\bin\10.0.22621.0\x64\signtool.exe sign /tr http://timestamp.globalsign.com/tsa/r6advanced1 /td sha256 /fd sha256 /a $(TargetPath)

if

条件仅在需要时签署

Release

© www.soinside.com 2019 - 2024. All rights reserved.