c# – 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应用程序中提供不同的开发和生产数据库设置? 任何帮助,将不胜感激.我显然忽略了一些东西. 更新: 更新2: 解决方法
您可能忘记设置环境变量来设置环境.您必须将ASPNETCORE_ENVIRONMENT设置为Production
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |