【问题标题】:How to sign ClickOnce application in Post Build Event?如何在构建后事件中签署 ClickOnce 应用程序?
【发布时间】:2015-03-11 23:31:06
【问题描述】:

我有通过 ClickOnce 部署的 WinForms 应用程序。 我有使用 SignTool 对我的程序集进行签名的构建后事件。 我将应用程序发布为 ClickOnce 安装程序,我在 VS 输出中看到文件已签名,但安装后没有签名的程序集。 如何签署将包含在 ClickOnce 包中的程序集?

【问题讨论】:

  • 阅读“#2:在构建后签署应用程序可执行文件”--> robindotnet.wordpress.com/2013/02/24/…
  • 我确实这样做了,但文件没有签名
  • 验证 "obj" 目录(对于 VS2013 尝试 "$(ProjectDir)obj\$(ConfigurationName)\$(TargetFileName)" )并检查 VS 输出视图上的日志。
  • 非常感谢!最后我做到了!!!你是对的,问题是因为我在 bin/Release 文件夹中签署了程序集,而不是在 obj 中!我还设置了 AfterCompile 目标,因为我在使用 BeforePublish 目标时遇到了应用程序清单问题。
  • 太棒了!将您的答案标记为正确

标签: c# clickonce signing signtool


【解决方案1】:

感谢Mate

我终于做到了!我将目标添加到 *.cproj 文件中,如文章 here

中所述

看起来像:

<Target Name="AfterCompile">
<Exec Command="&quot;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\SignTool.exe&quot; sign /f cert.pfx /p your_password /v &quot;$(ProjectDir)obj/$(ConfigurationName)/$(TargetFileName)&quot;" />
</Target>

obj目录中有签名的*.exe文件。我也使用 AfterCompile 目标,因为我在尝试 BeforePublish 目标时遇到了应用程序清单问题。

【讨论】:

    【解决方案2】:

    这在 VS2022 中得到了显着缓解

    将 PFX 添加到您的证书存储中

    然后将以下行添加到 Post-Build Events

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多