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

标签 c++ visual-studio windows-defender

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

Security Scan Required Your administrator requires a security scan of this item. The scan could take up to 10 seconds.

这会拖延 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 排除项添加到您用于开发环境的所有进程和目录中,这会变得相当复杂,并且取决于您选择的开发环境,这里我使用的是 Visual Studio 2019并将使用 Powershell 脚本快速添加这些排除项。

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

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

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

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

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

关于c++ - 为什么 Windows Defender 扫描我的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63885356/

相关文章:

c++ - "' SpaceShip ' does not name a type"即使 SpaceShip 肯定是一种类型

c++ - 如何更改目录中文件夹中的文件名?

c# - 如何重置 Visual Studio 以便它在调试时再次搜索 DLL 的源文件?

c++ - Visual Studio 2012 中 strcspn 的奇怪问题

Android 开发要为 Windows Defender 排除哪些文件夹?

c++ - C++将数字和逗号的char数组转换为整数列表?

c++ - 覆盖基于模板类型符号的虚拟方法

c# - 如何解决 "Cross-thread operation not valid"?

windows - 如何将Invoke-RestMethod的输出提取到不同的变量中

python - 如何为exe程序制作代码签名证书?