Roy*_*mir 2 c# amazon-web-services .net-core aws-lambda
我使用.Net Core 2.1创建了一个简单的空AWS Lambda函数:
这是文件夹结构:
(这是csproj)
还有一个FunctionHandler,它获取DI并调用一些虚拟方法:
现在运行“ Mock Lambda测试工具”,我们可以看到它有效:
那么问题出在哪里呢?
这意味着您现在可以使用.NET Core 2.2和.NET Core 3.0预览编写Lambda函数。Amazon.Lambda.RuntimeSupport可作为GitHub上的源代码或NuGet包提供。
因此,我创建了一个新的空lambda项目,但使用2.2:
相同的代码。但是现在当我运行“ Mock Lambda测试工具”时,出现了一个错误:
AWS .NET Mock Lambda测试工具(0.9.2)发生未知错误,导致进程退出:无法在E:\ JenkinsWorkspaces \ Lam中的Amazon.Lambda.TestTool.Runtime.LocalLambdaRuntime.Initialize(String directory)上找到deps.json文件。 \ E:JenkinsWorkspaces \ Lam \ LambdaSandboxCoreCLRApi \ Tools \ LambdaSandboxCoreCLRApi \ Tools \ LambdaTestTool \ Amazon.Lambda.TestTool \ Runtime \ LocalLambdaRuntime.cs:Amazon.Lambda.TestTool.Program.Main(String [] args)处的第50行\ Amazon.Lambda.TestTool \ Program.cs:line 46按任意键退出
这是错误:
题:
这是为什么?我deps.json在2.1中没有任何文件。
那么,为什么在2.2中需要它?另外,此路径在错误中显示的是什么:E:\JenkinsWorkspaces...?我没有詹金斯,也没有类似的东西。
好吧,我已经找到了造成这种情况的原因(我不知道为什么会首先发生),但这是事实。忍受我。
当我创建一个2.1 lambda项目时,一切正常。(显然)
问题出在2.2项目(针对2.2和2.2的nuget)。(它显示了我在问题中显示的错误)
所以我想,如果我要创建一个2.1项目,然后更新(!)它的nuget并将目标更改为2.2怎么办?.........有效!
这真的很奇怪。因为我期望不会。
因此,我想到了,让我们比较一下2.2项目(无效)的文件系统和2.1项目更新为2.2项目(确实有效的)的文件系统。
在右侧,是严格的2.2项目(无更新),在左侧,是已更新为2.2的项目:
我注意到一些.Net核心2.1文件已在升级中,但没有在严格的2.2版本中,所以我想,我该如何获取那些丢失的文件?
因此,我已经(暂时)将项目目标更改为2.1:
然后我运行构建
这导致出现2.1文件夹的文件:
而现在.............,一切正常!:
| 归档时间: |
|
| 查看次数: |
412 次 |
| 最近记录: |