为什么Windows Defender扫描我的代码?

问题描述

我正在使用Visual Studio 2019编译C ++代码代码范围从简单的项目到学习C ++的功能,再到游戏开发人员。但是无论项目范围如何,我都会收到以下消息:

需要安全扫描 您的管理员需要对此项目进行安全扫描。扫描可能需要10秒钟。

这使Visual C ++编译器停滞了,并最终减慢了我的工作流程。每当我尝试编译代码时都会发生这种情况。奇怪的是,在同一台机器上,我一直在编译代码而没有这个问题。我不确定造成此更改的原因,我想还原它,但不知道如何。

解决方法

由于Windows Defender实时保护对确保系统安全非常重要,因此出现了此问题。我发现的解决方案基于以下文章:

Microsoft description of the problem and simple fixes

How to create and run Windows Powershell scripts

Powershell script that excludes all the necessary directories and processes for Visual Studio 2019

解决方案是将Windows Defender Exclusions添加到用于开发环境的所有进程和目录中,这很复杂,您自己要做,并且根据您选择的开发环境而有所不同,这里我使用的是Visual Studio 2019并将使用Powershell脚本快速添加这些排除项。

只需下载Powershell脚本,打开Windows Powershell,然后键入 Set-ExecutionPolicy Unrestricted

然后导航到脚本目录。为简单起见,请将脚本放在根目录C:中,然后在其中导航,然后键入./{Script name},“ ./”对于从非默认目录运行脚本很重要。

该脚本将询问您将项目文件夹存储在何处,这对于从Windows Defender中排除很重要。运行脚本后,您就完成了。

最后一步,Set-ExecutionPolicy Restricted然后是Get-ExecutionPolicy,以验证它是否受到限制。重要的是不要忽视您的Powershell执行策略,因为它是非常强大的攻击媒介。

我已经完成了这些确切步骤,并且可以验证Windows Defender是否不再使用Visual Studio 2019停止我的代码构建。这可能意味着运行具有不同目录结构的旧版本或更新版本的Visual Studio将需要另一个脚本,或者Microsoft可以介入并创建通用解决方案,以从Windows Defender扫描中排除他们自己的开发环境。

,

前往

Start > Settings > Update & Security > Windows Security > Virus & threat protection 

在病毒和威胁防护设置下,选择管理设置,然后在排除项下,选择添加或删除排除项。选择添加排除项,然后从文件、文件夹、文件类型或进程中选择文件类型 .cpp

Add an exclusion to Windows Security