這聽起來不正確。我已經爲多個應用程序使用完全相同的工作流程,並且工作正常。您的後期製作步驟最有可能存在問題。確保你在OBJ文件夾內簽名EXE文件(因爲這是ClickOnce所有文件的來源) - 而不是BIN。
做ClickOnce發佈,轉到OBJ文件夾,右鍵單擊您的application.exe文件,然後選擇屬性。它應該有六個選項卡 - 最後一個是「數字簽名」:
如果沒有它,你不正確簽名的應用程序。
這裏是我的postbuild步 - 注意,我籤「釋放」唯一配置:
<Target Name="SignOutput" AfterTargets="CoreCompile" Condition="'$(ConfigurationName)'=='Release'">
<PropertyGroup>
<TimestampServerUrl>http://timestamp.verisign.com/scripts/timestamp.dll</TimestampServerUrl>
<ApplicationDescription>my app</ApplicationDescription>
<SigningCertificateCriteria>/n "my company."</SigningCertificateCriteria>
</PropertyGroup>
<ItemGroup>
<SignableFiles Include="$(ProjectDir)obj\$(ConfigurationName)\$(TargetName)$(TargetExt)" />
</ItemGroup>
<Exec Condition=" '$(ConfigurationName)'=='Release'" Command=""c:\Program Files (x86)\Windows Kits\8.0\bin\x64\signtool.exe" sign $(SigningCertificateCriteria) /d "$(ApplicationDescription)" /t "$(TimestampServerUrl)" "%(SignableFiles.Identity)"" />
</Target>