這是一個程式碼簽署憑證的問題。當您的專案設定要進行程式碼簽署,但系統找不到合適的憑證時就會出現這個錯誤。以下是幾種解決方法:
方法 1:移除程式碼簽署設定
如果您不需要程式碼簽署,可以在專案中移除相關設定:
- 在 Visual Studio 中右鍵點擊專案 → 屬性
- 點擊「簽署」頁籤
- 取消勾選「簽署 ClickOnce 資訊清單」
- 取消勾選「簽署組件」
- 儲存並重新建置
方法 2:修改專案檔案
直接編輯 .csproj
或 .vbproj
檔案:
xml<!-- 移除或註解掉這些行 --> <!-- <SignManifests>true</SignManifests> <ManifestCertificateThumbprint>...</ManifestCertificateThumbprint> <ManifestKeyFile>...</ManifestKeyFile> --> <!-- 或者設定為 false --> <SignManifests>false</SignManifests> <SignAssembly>false</SignAssembly>
方法 3:建立測試憑證(用於開發環境)
如果您需要程式碼簽署功能:
- 在 Visual Studio 中:
- 專案屬性 → 簽署
- 點擊「建立測試憑證」
- 設定密碼(可留空)
- 點擊「確定」
- 或使用命令列建立:
cmdmakecert -r -pe -n "CN=YourCompany" -ss My -sky signature -a sha256 -len 2048 testcert.cer
方法 4:安裝現有憑證
如果您有憑證檔案:
- 雙擊
.pfx
或.p12
憑證檔案 - 選擇「目前使用者」或「本機電腦」
- 輸入憑證密碼
- 選擇「根據憑證類型自動選取憑證存放區」
- 完成安裝
方法 5:使用 PowerShell 檢查憑證
檢查系統中可用的憑證:
powershell# 列出所有個人憑證 Get-ChildItem -Path "Cert:\CurrentUser\My" # 列出具有程式碼簽署用途的憑證 Get-ChildItem -Path "Cert:\CurrentUser\My" -CodeSigningCert
方法 6:針對 Jenkins 或 CI/CD 環境
如果是在自動化建置環境中:
- 在建置腳本中加入:
xml<PropertyGroup> <SignManifests>false</SignManifests> <SignAssembly>false</SignAssembly> </PropertyGroup>
- 或在 MSBuild 命令中加入參數: