MSB3821诊断代码

本文介绍MSB3821错误代码。

消息文本

MSB3821: Couldn't process file 'value' due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files.

DESCRIPTION

MSBuild 尝试处理从 Web(或云驱动器)下载的文件(或具有安全限制的云驱动器)时,会出现此错误。

使用浏览器将 HTML 页面等 Web 资产下载到 Windows 设备时,浏览器会插入一个名为 Web 标记的标记,该标记记录来自该页面的网站的安全区域。 该标记旨在帮助防止潜在的恶意页面,并在原始网站上强制实施安全级别,即使在从网站下载页面之后也是如此。 由于存在特定的安全问题,需要此安全检查: Visual Studio 远程代码执行漏洞 CVE-2018-8172

决议

如果决定信任所讨论的内容,可通过在文件资源管理器取消阻止单个文件来替代限制。 打开文件上的 “属性” 窗口,然后选择“ 取消阻止”。 还可以使用 PowerShell 脚本和 Unblock-File cmdlet 取消阻止多个文件。

Visual Studio 还包括检测“Web 标记”注释的安全限制。 可以在“所有设置>安全>信任”部分的>>”窗格中自定义信任设置。 有关详细信息,请参阅 为文件和文件夹配置信任设置

Visual Studio 还包括检测“Web 标记”注释的安全限制。 可以在“环境>安全”部分的“工具>选项”对话框中自定义信任设置。 有关详细信息,请参阅 为文件和文件夹配置信任设置

在某些情况下,不能直接在 Visual Studio 中修复错误。 相反,请按照以下过程操作:

  1. 关闭 Visual Studio。
  2. 在文件资源管理器中,转到项目文件夹。
  3. 找到MSB3821错误的文件,然后打开 “属性”菜单Alt + Enter)。
  4. 选中 “取消阻止 ”复选框,然后选择“ 应用”。
  5. 关闭窗口。
  6. 重启 Visual Studio。 打开项目,然后再次生成项目。

适用于

MSBuild 的所有版本