发布到 AWS Lamba - 找不到“build-lambda-zip”实用程序

问题描述

我目前正在尝试使用 Visual Studio 2019 社区 (v4.8.03752) 并利用 AWS Toolkit for Visual Studio (v1.20.1.0) 发布我的 AWS lambda 函数。右键单击我的项目并选择“发布到 AWS Lambda”后,我收到以下错误

- Zipping publish folder C:\Users\Matt\source\repos\programName\programName\.\bin\Release\netcoreapp3.1\publish to C:\Users\Matt\AppData\Local\Temp\HelloWorld-CodeUri-Or-ImageUri-637489827969959200.zip
- Failed to find the "build-lambda-zip" utility. This program is required to maintain Linux file permissions in the zip archive.
- Error packaging up project in C:\Users\Matt\source\repos\programName\programName\. for CloudFormation resource HelloWorld: Failed to find the "build-lambda-zip" utility. This program is required to maintain Linux file permissions in the zip archive.

在过去的几个月里,我已经多次部署了这个,直到 2/12 星期五我开始收到这个错误(重新启动后)。更奇怪的是,如果我卸载AWS Toolkit for VS,然后重新安装它,我可以成功发布1次。第 2 次尝试时,我又开始收到此错误

我尝试解决的步骤:

  • 修复 Visual Studio
  • 卸载/重新安装 Visual Studio
  • 使用 dotnet tool install -g Amazon.Lambda.Tools
  • 卸载并重新安装 amazon.lambda.tools
  • 卸载 AWS Toolkit for VS,重新安装工具包。 (这适用于第一次部署,尝试第二次部署时失败)

更新:

根据下面的一些评论,这似乎是由 McAfee 实时扫描引起的。在部署期间检查日志时,我注意到“发现病毒或威胁”记录直接指向 build-lambda-zip.exe 文件。要永久避免此问题,请按照 user2174794 在下面评论中提供的步骤进行操作。

解决方法

我遇到了同样的问题。今天才开始发生。它在过去 2 周内有效。

未能找到“build-lambda-zip”实用程序。该程序需要维护 zip 存档中的 Linux 文件权限。

运行 Windows 10、Visual Studio 2019

我现在的解决方案是使用 .NET Core CLI

https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/lambda-cli-publish.html

具体来说,

dotnet lambda 部署函数

最近的更新肯定破坏了 AWS Toolkit For Visual Studio。

enter image description here

,

也许您应该尝试重新安装 AWS 工具包,并在进行部署之前关闭您的防病毒保护。我遇到了同样的问题,我的防病毒软件(McAfee)在我第一次部署时删除了 build-lambda-zip.exe 文件。

,

我也有同样的问题,因为我的杀毒软件检测到可执行文件 build-lambda-zip.exe,然后将其删除。

我从防病毒软件中恢复可执行文件,或使用以下命令恢复 dotnet 工具:

dotnet 工具更新 -g Amazon.Lambda.Tools

,

我也遇到了同样的问题, 这是因为“build-lambda-zip.exe”文件正在被 McAfee Antivirus 删除。

要永久修复,您需要按照以下步骤操作。

第一步

转至 McAfee 设置 >> 隔离项目

您会在那里找到“build-lambda-zip.exe”文件。将其恢复到原始位置。

现在如果您尝试发布,则不会显示错误。但在下一次扫描时,该文件将再次被删除。

第 2 步

我们需要从扫描和删除文件中排除此文件。因此,

转至 McAfee 设置 >> 实时扫描并在排除文件列表中添加“build-lambda-zip.exe”文件。

“build-lambda-zip.exe”的文件路径到 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\ 并搜索文件名。

enter image description here

,

我很好奇扩展安装的状态。您能否在 Windows 资源管理器 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions 中转到 VS 的扩展目录并在搜索框中搜索 AWSToolkitPackage.dll

enter image description here

理想情况下,它应该只显示该文件的一个实例。假设它找到一个实例,右键单击该文件并选择“打开文件位置”。现在您位于 AWS 扩展的根文件夹中,检查 Resources 文件夹并查看它是否包含文件 build-lambda-zip.exe

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...