本文介绍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 trust these files and want to process them. Please follow MSBuild secure usage best practices - https://aka.ms/msbuild-security-documentation
DESCRIPTION
当 MSBuild 尝试处理具有 Web 标记的文件(例如从 Web 或云驱动器下载的文件)时,会发生此错误。
使用浏览器将 HTML 页面等 Web 资产下载到 Windows 设备时,浏览器会插入一个名为 Web 标记的标记,该标记记录来自该页面的网站的安全区域。 MSBuild 需要可信的输入:你需要对要构建的文件负责,可通过全面审查这些文件或信任其来源来确保这一点。 默认情况下,MSBuild 不会处理带有 Web 标记的文件,因为它们的内容尚未建立为受信任的文件。 删除标记表示你已决定信任该文件。 有关详细信息,请参阅 MSBuild 安全使用最佳做法。
决议
如果你决定信任相关内容,可以通过在文件资源管理器中解除对单个文件的阻止来删除 网页标记。 打开文件上的 “属性” 窗口,然后选择“ 取消阻止”。 还可以使用 PowerShell 脚本和 Unblock-File cmdlet 取消阻止多个文件。
Visual Studio 还包括检测“Web 标记”注释的安全限制。 可以在“所有设置>安全>信任”部分的>>”窗格中自定义信任设置。 有关详细信息,请参阅 为文件和文件夹配置信任设置。
Visual Studio 还包括检测“Web 标记”注释的安全限制。 可以在“环境>安全”部分的“工具>选项”对话框中自定义信任设置。 有关详细信息,请参阅 为文件和文件夹配置信任设置。
在某些情况下,不能直接在 Visual Studio 中修复错误。 相反,请按照以下过程操作:
- 关闭 Visual Studio。
- 在文件资源管理器中,转到项目文件夹。
- 找到MSB3821错误的文件,然后打开 “属性”菜单 (Alt + Enter)。
- 选中 “取消阻止 ”复选框,然后选择“ 应用”。
- 关闭窗口。
- 重启 Visual Studio。 打开项目,然后再次生成项目。
适用于
MSBuild 的所有版本