目前,我正在寻找一个解决方案,如何在TeamCity上构建解决方案(.Net)时存储我的签名证书并实现应用程序签名步骤。
找不到任何合适的解决方案,也不认为在NuGet包中放入证书是一个好的解决方案。
有人能告诉我怎样才能做到这一点吗?
您可以在buildagents机器上的特定目录下拥有证书,或者从证书所在的存储库中添加一个额外的目录。
然后,您可以在解决方案中添加一个额外的visual studio proj文件,这是您在TeamCity中构建发布版本时使用的文件。这个项目文件将包含您的应用程序的签名以及编译等
现在我不知道你在使用什么样的签名,我们有一个正在签名的clickOnce应用程序,我们使用以下三个步骤:
<Exec Command=""$(SdkPath)mage.exe" -sign "$(ClickOncePublishDirectory)app.exe.manifest" -CertFile $(SigningCert) -pwd $(SigningPassword)"/>
<Exec Command=""$(SdkPath)mage.exe" -update "$(ClickOncePublishDirectory)application" -AppManifest "$(ClickOncePublishDirectory)app.exe.manifest" -Publisher "Name in certificate" -a sha256RSA"/>
<Exec Command=""$(SdkPath)mage.exe" -sign "$(ClickOncePublishDirectory)application" -CertFile $(SigningCert) -pwd $(SigningPassword)"/>