Amazon web services 将.Net核心应用程序部署到AWS Beanstalk
在我的.net core 1.1应用程序中,我有不同的配置,这些配置写在appsettings.json文件中:appsettings.dev.json、appsettings.production.json、appsettings.test.json 对于每个配置,我在AWS Beanstalk中有不同的环境。现在我通过上传zip文件部署到Beanstalk,该文件包含编译后的.net核心代码和AWS清单。 默认情况下.net core使用生产配置。我试图用几种方法来覆盖它:Amazon web services 将.Net核心应用程序部署到AWS Beanstalk,amazon-web-services,.net-core,amazon-elastic-beanstalk,Amazon Web Services,.net Core,Amazon Elastic Beanstalk,在我的.net core 1.1应用程序中,我有不同的配置,这些配置写在appsettings.json文件中:appsettings.dev.json、appsettings.production.json、appsettings.test.json 对于每个配置,我在AWS Beanstalk中有不同的环境。现在我通过上传zip文件部署到Beanstalk,该文件包含编译后的.net核心代码和AWS清单。 默认情况下.net core使用生产配置。我试图用几种方法来覆盖它: dotnet发
- dotnet发布--配置测试
- 在Beanstalk软件配置中添加了环境变量ASPNETCORE_环境测试
- 添加了指定ASPNETCORE_环境变量的web.config
publicstaticvoidmain(字符串[]args)
{
var host=new WebHostBuilder()
.UseSetting(“详细错误”、“真”)
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
//TODO:修复我!它用于AWS部署
.UseEnvironment(“测试”)
.Build();
host.Run();
}
这意味着在部署之前,我需要更改硬编码配置,这不是一个好的解决方案
有人知道如何处理AWS Beanstalk中的不同配置吗?看起来像是Elastic Beanstalk中.Net核心托管中的一个bug。关于一个非常类似的问题,请参见下面的答案,了解潜在的解决方法:似乎到2020年6月29日为止,这个问题已经得到解决:看起来像是Elastic Beanstalk中.Net核心托管中的一个bug。关于潜在的解决方法,请参见对一个非常类似问题的回答:似乎截至2020年6月29日,该问题已得到解决:
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseSetting("detailedErrors", "true")
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
// TODO: fix me! It's used for AWS deployment
.UseEnvironment("Test")
.Build();
host.Run();
}