vuforia+unity +uwp+vs2017打包遇到的問題


vs2017編譯項目報錯,錯誤如下:

解決方案將工具換成2017版本就可以了,操作如下項目右鍵選擇屬性

 平台工具集下拉選擇Visual Studio 2017(v141)

 

問題2

打包出現錯誤:APPX0108指定證書已過期,要求續訂證書(忘記截圖了)

這時候會有提示去這個網址:https://docs.microsoft.com/zh-cn/previous-versions/br230260(v=vs.110),按照續訂證書的操作就可以了

續訂證書

Visual Studio 生成的默認證書將在一年后的證書創建日期到期。在證書過期之前,必須使用應用程序清單設計器重新生成證書,或如前面的過程所述提供不同的有效證書。

續訂證書

  1. 在**“解決方案資源管理器”中,打開 .appxmanifest 文件的快捷菜單,選擇“打開方式”,然后選擇“應用程序清單設計器”**。

  2. 在**“應用程序清單設計器”中,選擇“打包”選項卡,然后選擇“選擇證書”**按鈕。

  3. 在**“選擇證書”對話框中,展開“配置證書”列表,然后選擇“創建測試證書”**。

  4. 在**“創建測試證書”對話框中,單擊“確定”**按鈕。

    Visual Studio 會重新生成該證書,它具有新的到期日期。

附上文字說明(l鏈接:https://docs.microsoft.com/zh-cn/previous-versions/br230260(v=vs.110))

對應用程序包簽名(Windows 應用商店應用程序)

默認情況下,Visual Studio 生成的所有應用程序包都使用測試證書進行簽名。在創建包時,Visual Studio 將生成包括簽名包本身的文件夾。該文件夾中包括的證書 (.cer) 文件包含用於對包進行簽名的公鑰。在安裝應用程序包之前,必須在計算機上安裝此密鑰。

生成測試證書

在創建項目時,會生成證書文件 (.pfx) 並將其添加到項目中。

證書的“主題”字段設置為源清單 (.appxmanifest) 文件的 Identity 元素的 Publisher 特性。

  • 如果創建本地包,則 Publisher 特性的默認值為您的用戶名。

  • 如果為 Windows 應用商店創建包或將您的應用程序與其關聯,則在包創建期間登錄時,Publisher 特性將設置為從 應用商店的開發人員帳戶中獲取的 Publisher ID。

證書創建過程還會向項目文件中添加屬性:

<PackageCertificateKeyFile> RisingStar_TemporaryKey.pfx </PackageCertificateKeyFile>

PackageCertificateKeyFile 的值是源證書本身的相對路徑或完整路徑。

如果缺少證書,則它在從**“存儲”**菜單創建包時創建,而不是在命令提示符中創建包時創建。在 Visual Studio 創建證書時,會設置以下屬性的值:

  • **“基本約束”**擴展的值設置為 Subject Type=End Entity。

     備注

    基本約束擴展標識證書的主體是否為證書頒發機構 (CA)。此擴展還定義包括此證書的有效證書路徑的最大深度。“基本約束”屬性指定認證的公鑰是否可以驗證證書簽名。

  • “增強型密鑰用法”(EKU) 擴展的值將設置為**“代碼簽名”**。

證書在創建之日起一年內有效。有關如何續訂證書的信息,請參見續訂證書

 提示

如果在簽名過程中出現類似於“指定的證書無效,因為它已過期或有其他發行版”的錯誤,請使用清單設計器創建一個測試證書來替換舊證書。

驗證證書

在打包過程中,Visual Studio 會通過以下方式驗證指定的證書:

  • 驗證**“基本約束”**擴展是否存在以及它的值,該值必須是 Subject Type=End Entity 或未指定。

  • 驗證**“增強的鍵用法”屬性的值,這必須包含“代碼簽名”,也可以包含“生存期簽名”**。禁止任何其他 EKU。

  • 驗證**“KeyUsage (KU)”屬性的值,該值必須是“Unset”或“DigitalSignature”**。

  • 驗證私鑰是否存在。

  • 驗證證書是否處於活動狀態、尚未過期並且未被撤消。

在某些情況下,您可能需要更好地控制使用的證書以及對證書運行的驗證檢查。MSBuild 屬性 EnableSigningChecks 可控制執行上述哪些證書檢查。如果將該屬性設置為 True(默認值),則 Visual Studio 會運行所有檢查。如果將該屬性設置為 False,則 Visual Studio 將僅執行下列任務:

  • 驗證私鑰是否存在。

  • 驗證**“增強型密鑰用法”屬性的值是否包含“代碼簽名”**。

  • 驗證證書是否處於活動狀態、尚未過期並且未被撤消。

 備注

當 EnableSignignChecks 設置為 False 時,PowerShell 腳本可能不起作用,因為自定義證書可能不符合該腳本安裝應用程序包所需的所有規則。有關更多信息,請參見本地共享應用程序包(Windows 應用商店應用程序)

選擇備用證書

Visual Studio 會在創建項目時自動創建一個證書,但你也可以創建自己的證書或使用現有證書對包簽名。

創建或使用備用證書

  1. 在**“解決方案資源管理器”中,打開 .appxmanifest 文件的快捷菜單,選擇“打開方式”,然后選擇“應用程序清單設計器”**。

  2. 在**“應用程序清單設計器”中,選擇“打包”選項卡,然后選擇“選擇證書”**按鈕。

  3. 在**“選擇證書”對話框中,展開“配置證書”**列表,然后選擇以下選項之一:

    • 從證書存儲中選取
      從操作系統的證書存儲中選取Personal證書之一。

    • 從文件中選擇
      從文件系統中選取現有證書文件。

    • 創建測試證書
      使用所選擇的Publisher ID 創建證書。還可以創建密碼。

無論選擇哪個選項,證書文件都會添加到項目中,並相應地更新 PackageCertificateThumbprint 和 PackageCertificateKeyFile 項目屬性。

 備注

如果在簽名過程中出現類似於“指定的證書無效,因為它已過期或有其他發行版”的錯誤,請使用清單設計器創建一個自定義證書來替換舊證書。

續訂證書

Visual Studio 生成的默認證書將在一年后的證書創建日期到期。在證書過期之前,必須使用應用程序清單設計器重新生成證書,或如前面的過程所述提供不同的有效證書。

續訂證書

  1. 在**“解決方案資源管理器”中,打開 .appxmanifest 文件的快捷菜單,選擇“打開方式”,然后選擇“應用程序清單設計器”**。

  2. 在**“應用程序清單設計器”中,選擇“打包”選項卡,然后選擇“選擇證書”**按鈕。

  3. 在**“選擇證書”對話框中,展開“配置證書”列表,然后選擇“創建測試證書”**。

  4. 在**“創建測試證書”對話框中,單擊“確定”**按鈕。

    Visual Studio 會重新生成該證書,它具有新的到期日期。

刪除或導出證書

您可能需要刪除或導出已過期或者已被破壞、損壞或被另一個證書替換的證書。有關如何刪除或導出證書的信息,請參見如何使用證書控制台

修改已安裝的應用程序

如果修改已安裝程序包中的任何文件,簽名驗證可能會阻止該應用程序啟動。若要修改程序包,請使用開發人員許可證在原始的源文件中進行更改,然后重新部署已修改的程序包。有關開發人員許可證的詳細信息,請參見獲取開發人員許可證(Windows 應用商店應用程序)

請參見

概念

重寫包清單(Windows 應用商店應用程序)

使用 Visual Studio 2012 打包 Windows 應用商店應用程序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM