asp.net core 1 appsettings.production.json没有更新连接字符串
我使用在IIS上运行的.net核心RC1生产了一个应用程序。 我重新编写了应用程序,因为公司希望它在.net core1上,因为那是正式版本。
在我的.net核心RC1应用程序中,我有config.json和config.production.json,在生产版本中,我只是包含了我想要覆盖的设置,如连接字符串。 这工作得很好。
在.net core1中我有appsettings.json和appsettings.production.json。 但是,连接字符串似乎没有更新。 它似乎使用原始appsettings.json中的localdb。
appsettings.json:
{ "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-DecisionEff-b32ae861-2422-4f88-839c-2a6d599fee45;Trusted_Connection=True;MultipleActiveResultSets=true" }, "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } } }
appsettings.production.json:
{ "ConnectionStrings": { "DefaultConnection": "Server=mydb.server;Database=DbName;User ID=User;Password=password;Trusted_Connection=False; Connection Timeout= 30;" } }
在我的启动文件中,我确实将其设置为查找生产:
var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
以上模仿我在RC1中所做的工作。 有没有其他的东西改变,所以连接字符串不是udpated? 如果我将生产数据库连接字符串放在appsettings.json文件中,那么应用程序在我们的生产服务器上运行正常。 所以它不是从appsettings.production.json文件中提取设置。 我知道它正在正确地阅读环境,因为我正在将它打印出来并且符合预期。
您如何在.net core 1 Web应用程序中提供不同的开发和生产数据库设置?
任何帮助,将不胜感激。 我显然忽视了一些事情。
更新:当我在我的本地机器上运行它时,将ASPNETCORE_ENVIRONMENT设置为Production,它使用正确的连接字符串。 因此,Web应用程序在生产中看到了正确的环境,并且可以使用连接字符串。 在构建期间是否需要配置某些内容以发送不同的环境设置? 或者有没有办法可以打印环境的.json文件中的不同设置?
更新2:我注意到,当我发布应用程序时,只有appsettings.json只有localdb连接。 似乎没有生成任何appsettings.production.json文件。 现在是否需要在构建期间指定这些不同的设置应该遇到的地方?
您可能忘记设置环境变量来设置环境。 您必须将ASPNETCORE_ENVIRONMENT
设置为Production
- ASP.NET 5 MVC 6中的TagBuilder InnerHtml
- asp5 IConfigurationRoot获取json数组
- ASP.NET Core MetaDataType属性不起作用
- Asp.net核心 – 没有这样的表:AspNetUsers
- 在OpenIddict中处理请求时发生未处理的exception
- Resolver或ServiceProvider使用ICompositeViewEngine所需的依赖项
- .NET Core Web项目 – 使用命令行参数
- 覆盖AspNet.Security.OpenIdConnect.Server中的TokenEndPoint
- 通过.NET Core控制台应用程序中的dependency injection访问配置