Leitfaden, um sicherzustellen, dass die Build-Ereignisse in den Projekten "mrsigner" und "sp" die erforderlichen Dateien finden
- Kompilierte sgx-ra-Sample-Lösung in Visual Studio*
- Eingegangene Fehler bei Projekten:mrsigner:
Der Befehl ""sgx-ra-sample\vs\x64\Debugging\mrsigner.exe" x64\Debugging\enclave_sigstruct_raw > x64\Debugging\enclave_mrsigner.txt
: Fehler MSB3073: :VCEnd" wird mit Code 1 beendet.Sp:
Get-Content: Kann den Pfad "sgx-ra-sample\vs\service-provider\policy.in" nicht finden, da er nicht vorhanden ist.
Gehen Sie im Project mrsigner zum Post-Build-Event und ändern Sie $(IntDir) in $(OutDir).
- Wählen Sie Project mrsigner -> Properties -> Build Events -> Post-Build Eventaus.
- Befehlszeile bearbeiten: "$(TargetPath)" $(OutDir)enclave_sigstruct_raw > $(OutDir)enclave_mrsigner.txt.
Gehen Sie in Project SPzum Pre-Build-Event und fügen Sie .. \ um policy.in.
- Wählen Sie project sp -> Properties -> Build Events -> Pre-Build Eventaus.
- Befehlszeile bearbeiten: powershell -command "$mrs=Get-Content -Path. \mrsigner\$(IntDir)enclave_mrsigner.txt; ( (Get-Content -Path.. /policy.in -Raw) – ersetzen Sie "@MRSIGNER@", $mrs ) | Set-Content $(IntDir)policy.cmd".
Der standardmäßige PowerShell*-Befehl im Pre-Build-Event des Project SP kann die policy.in datei nicht finden.
Der Standardspeicherort von policy.in unter sgx-ra-sample/vs/policy.in.
Während des Pre-Build-Events wird der PowerShell-Befehl aus dem Verzeichnis sgx-ra-sample/vs/service-provider ausgeführt. Platzieren Sie entsprechend .. / vor policy.in in der PowerShell-Befehlszeile, sodass sie policy.in einer Ebene nach oben finden kann.
Wenn Sie also wissen, dass der PowerShell-Befehl in sgx-ra-sample/vs/service-provider läuft, teilen Sie dem PowerShell-Befehl den richtigen relativen Pfad zu policy.in, wenn er sich nicht am Standardspeicherort befindet.