跳转至主要内容
支持知识库

在 Visual Studio* 中编译 sgx-ra-sample 时,从 mrsigner 中的构建事件收到错误"MSB3073",以及 sp 项目

内容类型: 错误讯息   |   文章 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
    :Error MSB3073::VCEnd"退出,代码 1。

    Sp:
    获取内容:找不到路径"sgx-ra-sample\vs\service-provider\policy.in",因为它不存在。

解决方法

在 project mrsigner中,参加后构建活动,并将美元(IntDir) 更改$(OutDir)。

  1. 选择 project mrsigner-> Properties ->构建活动 ->构建后活动
  2. 编辑命令行:"$(TargetPath)"$(OutDir)enclave_sigstruct_raw >美元(OutDir)enclave_mrsigner.txt

在 project sp中, 预构建活动并添加 。。\policy.in

  1. 选择 project sp-> Properties ->构建活动 ->预构建活动
  2. 编辑命令行powershell -command "$mrs=Get-Content -Path .。\mrsigner\$(IntDir)enclave_mrsigner.txt;( Get-Content -Path .。/policy.in -Raw ) - 替换为"@MRSIGNER@",$mrs) |Set-Content $(IntDir)策略.cmd"。

其他信息:

在 Project sp 的预构建事件中,默认 PowerShell* 命令无法找到 policy.in 文件。

policy.in的默认位置在sgx-ra-sample/vs/policy 之下

在预构建活动中,从sgx-ra-sample/vs/service-provider 目录执行 PowerShell 命令。相应 地,放置 .。/ 在 PowerShell 命令行中的 policy.in 前面,以便 policy.in 一个 级别。

因此,如果知道 PowerShell 命令在sgx-ra-sample/vs/service-provider中运行,则告诉 PowerShell 命令正确的相关路径以policy.in,如果它不在默认位置。

相关产品

本文适用于 1 产品。

免责声明

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。