Fixed an ElasticBeanstalk deployment issue for Linux platform where Procfile was sometimes being generated with incorrect entrypoint when multiple runtimeconfig.json files were present. #363
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #, if available: #285
Description of changes:
Fixed an ElasticBeanstalk deployment issue for Linux platform where
Procfile
was sometimes being generated with incorrect entrypoint when multipleruntimeconfig.json
files were present.The existing logic to determine the project file
.csproj
uses Utilitites.FindProjectFileInDirectory(). It has explicit check here to ensure that we get only one project file; else it returnsnull
. So in case there are multiple project files, it would probably throwNullReferenceException
in subsequent logic. We are using this assumption that we only have one project file for deployment at root of working directory, to get the assembly name (viamsbuild
).Also note that we also invoke BaseCommand.EnsureInProjectDirectory(). This throws generic exception
$"No .NET project found in directory {projectLocation} to build."
in case where more than one project file if found in working directory, which might be incorrect or misleading.NOTE:
Refer Using a Procfile to configure your .NET Core on Linux Elastic Beanstalk environment where it shows below example to configure 2 web applications.
The PR supports one web application as of now to conform to existing logic.
CC @normj
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.