Conseils permettant de s’assurer que les événements de construction des projets « mrsigner » et « sp » trouvent les fichiers requis
- Compilé la solution sgx-ra-sample dans Visual Studio*
- Erreurs reçues des projets :mrsigner :
La commande « sgx-ra-sample\vs\x64\Debug\mrsigner.exe » x64\Debug\enclave_sigstruct_raw > x64\Debug\enclave_mrsigner.txt
: erreur MSB3073 : :VCEnd » a quitté le code 1.Sp:
Get-Content : impossible de trouver le chemin « sgx-ra-sample\vs\service-provider\policy.in » car il n’existe pas.
Dans mrsignerdu projet, accédez à l’événement Post-Build et changez $(IntDir) en $(OutDir).
- Sélectionnez project mrsigner -> Properties -> Build Events -> Post-Build Event.
- Modifier la lignede commande : « $(TargetPath) » $(OutDir)enclave_sigstruct_raw > $(OutDir)enclave_mrsigner.txt.
Dans project sp, accédez à l’événement de pré-build et ajoutez .. \ à policy.in.
- Sélectionnez project sp -> Properties -> Build Events -> Événement de pré-build.
- Modifier la ligne de commande: powershell -commande « $mrs=Get-Content -Path .. \mrsigner\$(IntDir)enclave_mrsigner.txt ; (Get-Content -Path .. /policy.in -Raw) -remplacez « @MRSIGNER@ », $mrs) | Set-Content $(IntDir)policy.cmd »».
La commande powershell* par défaut de l’événement de pré-build du projet sp n’est pas en mesure de trouver le fichier policy.in.
L’emplacement par défaut de policy.in est sous sgx-ra-sample/vs/policy.in.
Pendant l’événement de pré-build, la commande PowerShell est exécutée à partir du répertoire sgx-ra-sample/vs/service-provider. En conséquence, placez .. / en face de policy.in dans la ligne de commande PowerShell afin qu’il puisse trouver policy.in un niveau supérieur.
Ainsi, sachant que la commande PowerShell fonctionne dans sgx-ra-sample/vs/service-provider, indiquez à la commande PowerShell la voie relative correcte pour policy.in si elle n’est pas à l’emplacement par défaut.