簡體   English   中英

升級到.Net Core 2.0后,打包期間出現“執行Lambda打包的未知錯誤”錯誤

[英]“Unknown error executing Lambda packaging” Error During Packaging After Upgrading to .Net Core 2.0

我在.Net Core Lambda項目中將目標框架從netcoreapp1.0更改為netcoreapp2.0。

打包lambda時,執行命令dotnet lambda package -c Release -f netcoreapp2.0

執行Lambda打包時發生未知錯誤:找不到路徑的一部分

dotnet lambda package -c Release -f netcoreapp2.0
Executing publish command
Deleted previous publish folder
... invoking 'dotnet publish', working folder 'C:\Source\\Project.Lambda\bin\Release\netcoreapp2.0\publish'
... publish: Microsoft (R) Build Engine version 15.5.180.51428 for .NET Core
... publish: Copyright (C) Microsoft Corporation. All rights reserved.
... publish:   Restore completed in 32.96 ms for C:\Source\Project\Project.csproj.
... publish:   Restore completed in 50.69 ms for C:\Source\Project.Lambda\Project.Lambda.csproj.
... publish:   Restore completed in 80.61 ms for C:\Source\Project.Lambda\Project.Lambda.csproj.
... publish:   Project -> C:\Source\Project\bin\Release\netcoreapp2.0\Project.dll
... publish:   Project.Lambda -> C:\Source\Project.Lambda\bin\Release\netcoreapp2.0\Project.Lambda.dll
... publish:   Project.Lambda -> C:\Source\Project.Lambda\bin\Release\netcoreapp2.0\publish\
Flattening platform specific dependencies
... flatten: runtime/unix/lib/_._
Unknown error executing Lambda packaging: Could not find a part of the path 'C:\Source\Project.Lambda\bin\Release\netcoreapp2.0\publish\runtime\unix\lib\_._'.
   at System.IO.Win32FileSystem.CopyFile(String sourceFullPath, String destFullPath, Boolean overwrite)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
   at System.IO.File.Copy(String sourceFileName, String destFileName)
   at Amazon.Lambda.Tools.LambdaPackager.<>c__DisplayClass4_0.<FlattenRuntimeFolder>b__0(String sourceRelativePath)
   at Amazon.Lambda.Tools.LambdaPackager.FlattenRuntimeFolder(IToolLogger logger, String publishLocation, JsonData depsJsonTargetNode)
   at Amazon.Lambda.Tools.LambdaPackager.CreateApplicationBundle(LambdaToolsDefaults defaults, IToolLogger logger, String workingDirectory, String projectLocation, String configuration, String targetFramework, String& publishLocation, String& zipArchivePath)
   at Amazon.Lambda.Tools.Commands.PackageCommand.<ExecuteAsync>b__22_0()

似乎發生了此問題,因為我正在使用舊版本的Amazon.Lambda.Tools

<ItemGroup>
    <DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="1.7.0" />
</ItemGroup>

手動將其更改為最新版本即可修復:

<ItemGroup>
    <DotNetCliToolReference Include="Amazon.Lambda.Tools" Version="2.1.2" />
</ItemGroup>

現在的輸出如下所示:

Executing publish command
Deleted previous publish folder
... invoking 'dotnet publish', working folder 'C:\Source\Project.Lambda\bin\Release\netcoreapp2.0\publish'
... publish: Microsoft (R) Build Engine version 15.5.180.51428 for .NET Core
... publish: Copyright (C) Microsoft Corporation. All rights reserved.
... publish:   Restoring packages for C:\Source\Project\Project.csproj...
... publish:   Restoring packages for C:\Source\Project.Lambda\Project.Lambda.csproj...
... publish:   Restore completed in 32.96 ms for C:\Source\Project\Project.csproj.
... publish:   Restore completed in 50.69 ms for C:\Source\Project.Lambda\Project.Lambda.csproj.
... publish:   Project -> C:\Source\Project\bin\Release\netcoreapp2.0\Project.dll
... publish:   Project.Lambda -> C:\Source\Project.Lambda\bin\Release\netcoreapp2.0\linux-x64\Project.Lambda.dll
... publish:   Project.Lambda -> C:\Source\Project.Lambda\bin\Release\netcoreapp2.0\publish\
Zipping publish folder C:\Source\Project.Lambda\bin\Release\netcoreapp2.0\publish to C:\Source\Project.Lambda\lambda.zip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM