文章 ID: 000087410 內容類型: 錯誤訊息 最近查看日期: 2021 年 09 月 22 日

在 Visual Studio* 中編譯 sgx-ra-sample 時,從 mrsigner 中的組建活動中收到錯誤「MSB3073」和 sp 專案

環境

Windows_10

BUILT IN - ARTICLE INTRO SECOND COMPONENT
摘要

確保在「mrsigner」和「sp」專案中建立活動的指南,找出所需的檔案

描述
  • 在 Visual Studio* 中編譯 sgx-ra-sample 解決方案
  • 從專案中收到錯誤:
    mrsigner:
    命令「sgx-ra-sample\vs\x64\Debug\mrsigner.exe」x64\Debug\enclave_sigstruct_raw > x64\Debug\enclave_mrsigner.txt
    :錯誤 MSB3073::VCEnd"以代碼 1 結束。

    Sp:
    取得內容:找不到「sgx-ra-sample\vs\service-provider\policy.in」的路徑,因為它不存在。

解決方法

在專案mrsigner中,前往建置後活動,並將$(IntDir) 變更$(OutDir)。

  1. 選取 Project mrsigner->內容 ->組建活動 ->建置後活動
  2. 編輯命令列:「$(TargetPath)」$(OutDir)enclave_sigstruct_raw >$(OutDir)enclave_mrsigner.txt。

在 Project sp中,前往「預先建置活動」並新增。。。\policy.in。

  1. 選取 專案 sp-> 內容 ->組建活動 ->預建活動
  2. 編輯命令列:powershell-command "$mrs=Get-Content-Path .。\mrsigner\$(IntDir)enclave_mrsigner.txt;( Get-content-Path ../policy.in -Raw ) -更換「@MRSIGNER@」,$mrs ) |Set-Content $(IntDir) policy.cmd」
額外資訊

在專案 sp 的預建事件中,預設 PowerShell* 命令無法找到 policy.in 檔。

policy.in的預設位置位於sgx-ra-sample/vs/policy.in 之下

在預建活動期間,PowerShell 命令會從sgx-ra-sample/vs/service-provider目錄執行。據此,就位../在 PowerShell 命令列的policy.in前面,以便找到policy.in一個等級。

因此,如果知道 PowerShell 命令在sgx-ra-sample/vs/service-provider中執行,請告訴PowerShell 命令正確的相對policy.in路徑,如果它不在預設位置。

相關產品

本文章適用於 1 產品

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。