確保在「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)。
- 選取 Project mrsigner->內容 ->組建活動 ->建置後活動。
- 編輯命令列:「$(TargetPath)」$(OutDir)enclave_sigstruct_raw >$(OutDir)enclave_mrsigner.txt。
在 Project sp中,前往「預先建置活動」並新增。。。\至policy.in。
- 選取 專案 sp-> 內容 ->組建活動 ->預建活動。
- 編輯命令列: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路徑,如果它不在預設位置。