Blazor WebAssembly 发布到 AWS Beanstalk

Blazor WebAssembly Publish to AWS Beanstalk

这个问题之前有人问过,但是没有给出答案(LINK)

我收到的正是上述错误。但会重新发布,这样其他人就不必遵循 link.

    Configuring application bundle for a Linux deployment
Writing Procfile for deployment bundle
Unknown error executing command: Object reference not set to an instance of an object.
   at Amazon.ElasticBeanstalk.Tools.EBUtilities.SetupPackageForLinux(IToolLogger logger, EBBaseCommand command, DeployEnvironmentProperties options, String publishLocation, String reverseProxy, Nullable`1 applicationPort)
   at Amazon.ElasticBeanstalk.Tools.Commands.DeployEnvironmentCommand.<PerformActionAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Amazon.Common.DotNetCli.Tools.Commands.BaseCommand`1.<ExecuteAsync>d__10.MoveNext()

有什么建议吗?我尝试将 WASM 发布到 LINUX x64 的文件夹,然后手动将其上传到环境,但它们总是以 NO DATA 标记和默认示例项目结束。

有一个 POST 指出他们的项目有一些属性设置不正确,但据我所知,在 WASM 项目属性中没有可设置的平台特定属性影响以这种方式发布.

所以我稍微改变了方法。

WASM(据我所知)是一个跨平台的平台解决方案。我没有发布到 Beanstalk,而是手动发布了我想要的 OS(即 Linux x64)并启动了一个 EC2 实例。

我安装了 NGINX,在 Route 53 中创建了我的域路由,然后 FTP 将发布的文件放入我在 AWS 实例上准备的目录中。

这很有效。您确实失去了一些 Beanstalk 默认特权,例如 ELB,但如果您的应用程序需要,您始终可以手动设置它。