ASP.NET Core app deploy to AWS Beanstalk on Linux

1

Hi all,
I am trying to push my ASP.NET Core 3.1 app to an AWS Beanstalk (Linux) instance, but it's giving me an error during the deployment.
That's the error - NB the placeholder "SLNNAME" is my Visual Studio solution name:

[ERROR] An error occurred during execution of command [app-deploy] - [CheckProcfileForDotNetCoreApplication]. Stop running the command. Error: error stat /var/app/staging/staging_SLNNAME_server/SLNNAME.dll: no such file or directory with file /var/app/staging/staging_SLNNAME_server/SLNNAME.dll

The project I am trying to deploy is called "SLNNAME.Server.Web" as well as the corresponding DLL. But according to the error above AWS is looking for a DLL named just "SLNNAME".
So I tried to rename the DLL to "SLNAME.dll" and magically it started to work correctly!

Trying to set the correct DLL name, I created a Procfile with this directive:

web: dotnet SLNNAME.Server.Web.dll

The Procfile is at the root level of the zip along with all the application DLLs, but it seems to be ignored.

I have uploaded the code using a simple zip file, AWS Toolkit for Visual Studio and the GitHub actions. All of them are returning the same error.

How can I tell the correct DLL name?

I attach a screenshot of the zip file uploaded to AWS

Thanks in advance

UPDATE: If I change the output DLL name to SLNNAME.dll the Procfile is read and executed correctly. So to make it work I have to change the Procfile to:

web: dotnet SLNNAME.dll

And the csproj file with:

<AssemblyName>SLNNAME</AssemblyName
>```

But this is NOT a solution, it's just a workaround. I think there's something wrong with the service itself that must be fixed  
  
Edited by: krusty on Jul 10, 2020 9:55 AM
krusty
質問済み 4年前645ビュー
3回答
0

Yes, this is indeed very annoying, I noticed the same when the assembly file name is composed by intermediate periods elastic beanstalk will only take the first part and tries to find a .dll named wrongly.

For example: Company.Module.Functionality.dll will be looked up as Company.dll hence the deployment fails. And happens even with the Procfile configured properly.

This needs to be fixed since it is common to have assemblies named as mentioned.

kdev29
回答済み 4年前
0

Today I received an email from AWS support saying the issue has been fixed. I have tried it and actually it works!

Please be sure to use Linux 2/2.0.1 as platform

krusty
回答済み 4年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ