在发布.NET Core 3.1 Lambda函数到AWS时,使用--self-contained true
选项是一个不错的选择,但具体是否使用取决于你的需求和部署策略。
--self-contained true
选项告诉.NET Core发布工具创建一个独立的可执行文件,该文件包含了运行应用程序所需的所有依赖项,而不依赖于目标机器上安装的.NET Core运行时。
--self-contained true
以减小发布包的大小。原因:可能是由于某些依赖项没有正确包含在发布包中。 解决方法:
dotnet publish
命令时加上--self-contained true
选项。.csproj
文件中的<PackageReference>
和<ProjectReference>
确保所有依赖都被正确引用。dotnet publish -c Release -r linux-x64 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=true
这条命令会发布一个针对Linux x64平台的独立版本,同时启用单文件发布和代码修剪以减小包的大小。
--self-contained true
会增加发布包的大小,因为它包含了整个.NET Core运行时。总之,如果你的部署环境不确定或者你想简化部署流程,使用--self-contained true
是一个好的选择。如果部署环境已知且稳定,可以考虑不使用该选项以优化性能和减少包大小。
领取专属 10元无门槛券
手把手带您无忧上云