我使用 AWS lambda 已有几个月了。我当时正在使用 lambda,最终一切都很好。第二天我回来处理它,但我什至无法让 Visual Studio 使用模拟 Lambda 测试工具启动应用程序。
我最终创建了一个空的 lambda,它只返回输入(AWS 为您提供的标准项目代码作为模板),甚至无法运行。我按下播放按钮启动模拟 Lambda 测试工具,它看起来会运行几秒钟,然后关闭。命令窗口甚至没有弹出。
这是模板项目中的代码。
public string FunctionHandler(string input, ILambdaContext context)
{
return input?.ToUpper();
}
Run Code Online (Sandbox Code Playgroud)
这就是我在 VS 的输出窗口中得到的所有内容:
目标进程退出,但未引发 CoreCLR 启动事件。确保目标进程配置为使用 .NET Core。如果目标进程不在 .NET Core 上运行,则可能会出现这种情况。程序“[16700] dotnet-lambda-test-tool-2.1.exe:Program Trace”已退出,代码为 0 (0x0)。程序“[16700] dotnet-lambda-test-tool-2.1.exe”已退出,代码为-2147450726 (0x8000809a)。
我尝试过重新安装AWS工具包,也尝试过重新安装Visual Studio。这是 VS 2017 和 VS 2019 的问题。我刚刚安装了 2019,看看是否可以解决该问题。任何帮助,将不胜感激。
Pan*_*wat 15
我在使用 dotnet-lambda-test-tool-6.0 的系统上多次看到此问题。只有一个修复对我有用
dotnet-lambda-test-tool-6.0.exe从 C:\Users\username.dotnet\tools 中删除dotnet tool install -g Amazon.Lambda.TestTool-6.0taq*_*ion 13
我遇到了同样的问题。安装AWS Toolkit后,我发现没有安装lambda测试工具,因此我得到了与OP相同的错误。唯一的区别是我的目标是 .Net Core 3.1,因此我需要 amazon.lambda.testool-3.1。然而,这个答案应该适用于这两种情况。
不幸的是,我没有像OP那样幸运,有一个很好的同事可以给我我需要的文件。因此,如果这也是您的情况,请继续阅读。
在官方项目网站(可以在这里找到)中,有安装工具的说明。它还表示安装最新版本的 AWS Toolkit 应该足以安装这些工具(我的情况不是这样,可能是您的情况)。
它说为了安装这些工具,您应该运行以下命令:
dotnet tool install -g Amazon.Lambda.TestTool-3.1
Run Code Online (Sandbox Code Playgroud)
或者
dotnet tool install -g Amazon.Lambda.TestTool-2.1
Run Code Online (Sandbox Code Playgroud)
取决于您需要哪种工具。
但是,运行这些命令失败并显示以下消息:
工具包无法恢复。工具“amazon.lambda.testtool-2.1”安装失败。此故障可能是由以下原因引起的:
* You are attempting to install a preview release and did not use the --version option to specify the version.
* A package by this name was found, but it was not a .NET Core tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
* You mistyped the name of the tool.
For more reasons, including package naming enforcement, visit https://aka.ms/failure-installing-tool
Run Code Online (Sandbox Code Playgroud)
由于该项目仍处于预览阶段,我只需找到最新的稳定版本即可在命令中指定它。对于 .net core 3.1,这里是 nuget 站点,在那里我发现版本 0.10 是最新的,所以命令应该如下所示:
dotnet tool install -g --version 0.10 Amazon.Lambda.TestTool-3.1
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,当我尝试使用命令提示符安装 dotnet-lambda-test-tool-6.0.exe 时,我遇到了这个问题:
无法为工具“amazon.lambda.testtool-6.0”创建 shell shim:命令“dotnet-lambda-test-tool-6.0”与另一个工具的现有命令冲突。工具“amazon.lambda.testtool-6.0”安装失败。
我执行了以下操作来解决问题
对于遇到同样问题的其他人来说,这与 AWS 工具包安装有关。我没有修改它,但不知何故它不再起作用。我尝试卸载并重新安装,但运行时仍然出现问题。一位同事向我发送了在他的计算机上 C:\Users\%user%.dotnet\tools 下设置的 exe 和子目录。exe 位于此目录中,.store 下还有另一个文件夹,用于 amazon.lambda.testtool-2.1。该目录的文件夹和文件与我能够安装的不同。所以我复制了他的内容并且成功了。可能有一个与工具安装关联的配置文件,该文件指向可能需要修改的这些文件夹和文件。因为我能够用这个来修复它,所以我没有进一步研究它。