メインコンテンツへスキップ
サポート・ナレッジベース

Visual Studio* で sgx-ra-sample をコンパイルする際に mrsigner および sp プロジェクトのビルドイベントで「MSB3073」エラーを受け取った

コンテンツタイプ: エラーメッセージ   |   記事 ID: 000087410   |   最終改訂日: 2021/09/22

環境

オペレーティング・システム

Windows_10

詳細

  • 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:
    Get-Content : パス 'sgx-ra-sample\vs\service-provider\policy.in' が存在しないため見つかりません。

解決方法

project mrsignerでは、ビルド後イベントアクセスして$(IntDir) を $(OutDir)変更します。

  1. プロジェクトmrsigner -> Properties -> Build Events -> ビルド後イベントを選択します。
  2. コマンドラインを編集する: "$(TargetPath)" $(OutDir)enclave_sigstruct_raw > $(OutDir)enclave_mrsigner.txt.

project sp、ビルド前イベントアクセスして追加します。\policy.inします。

  1. project sp -> Properties -> Build Events -> Pre-Build Eventを選択します。
  2. コマンドラインの編集: powershell -command "$mrs=Get-Content -Path ..\mrsigner\$(IntDir)enclave_mrsigner.txt;( Get-Content -Path ../policy.in -Raw) -replace '@MRSIGNER@'、$mrs) |Set-Content $(IntDir)policy.jp"

追加情報

Project sp のビルド前イベントのデフォルトの PowerShell* コマンドは 、policy.in ファイルを見つけられません。

policy.inのデフォルトの場所はsgx-ra-sample/vs/policy.in の下です

ビルド前のイベント中に、sgx-ra-sample/vs/service-provider ディレクトリーから PowerShell コマンドが実行されます。したがって、 場所 ../ PowerShell コマンドラインで policy.in の前 policy.in 1 つ上のレベルを見つけることができます。

そのため、PowerShell コマンドがsgx-ra-sample/vs/service-providerで実行されていることを知って、PowerShell コマンドにデフォルトの場所にない場合にpolicy.inする正しい相対パスを指示します。

関連製品

本記事は、1 製品に適用します。

免責条項

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。