我正在尝试使用适用于 .NET Core 应用程序(4.2.2)的 Amazon Elastic Beanstalk 工具将 net6.0 应用程序发布到 AWS EB(Windows)。在撰写本文时,我需要包含 net6.0 运行时,因为 EB 尚不支持 net6.0。我可以使用 AWS Toolkit for Visual Studio 成功地将我的应用程序发布到 AWS。该工具包使用以下参数调用 dotnet publish:
Executing: dotnet publish "[my project path]" --output "[my project path]\bin\Release\net6.0\publish" --configuration "Release" --framework "net6.0" --runtime win-x64 --self-contained true
工具包在成功发布后创建此配置文件 (aws-beanstalk-tools-defaults.json):
{
"additional-options" : "",
"application" : "myApp",
"app-path" : "/",
"configuration" : "Release",
"enable-xray" : false,
"enhanced-health-type" : "enhanced",
"environment" : "myApp-test",
"framework" : "net6.0",
"iis-website" : "Default Web Site",
"region" : "eu-west-1",
"self-contained" : true,
"runtime" : "win-x64"
}
但是,当我尝试将命令行实用程序与命令一起使用时:
dotnet eb deploy-environment -cfg myConfFile.json
自包含参数和运行时参数未传递给导致此调用的 dotnet deploy 调用:
dotnet publish "my project path]" --output "my project path]\bin\Release\net6.0\publish" --configuration "Release" --framework "net6.0"
我尝试在不使用配置文件的情况下传递参数
dotnet eb deploy-environment --profile XXX -c Release -env myApp-test -po --runtime "win-x64"
只是为了触发这个异常:
System.InvalidOperationException:选项缺少必需的参数:--runtime
无论如何使用此实用程序来发布使用自包含捆绑到基于 Windows 的 EB 实例的 net6.0 应用程序?