C# 在.Net核心web API中使用web.config文件

C# 在.Net核心web API中使用web.config文件,c#,asp.net,asp.net-web-api,asp.net-core,web-config,C#,Asp.net,Asp.net Web Api,Asp.net Core,Web Config,目前,我们正在构建一个.net核心web api应用程序,到目前为止,使用它非常好。但是,我们的部署服务器(Team Studio)无法替换appsettings.json文件中的DB连接字符串。是否可以通过将连接字符串置于旧的web.config格式来解决此问题,以便Team Services可以进行替换?我尝试创建一个,但无法使用System.Configuration从中访问连接字符串。幸运的是,web.config已从.net core中删除。我唯一可以推荐的是创建powershell脚

目前,我们正在构建一个.net核心web api应用程序,到目前为止,使用它非常好。但是,我们的部署服务器(Team Studio)无法替换appsettings.json文件中的DB连接字符串。是否可以通过将连接字符串置于旧的web.config格式来解决此问题,以便Team Services可以进行替换?我尝试创建一个,但无法使用System.Configuration从中访问连接字符串。幸运的是,web.config已从.net core中删除。我唯一可以推荐的是创建powershell脚本,它将替换appsettings.json中的连接字符串,并使用TeamCity代理调用它

幸运的是,web.config已从.net核心中删除。我唯一可以推荐的是创建powershell脚本,它将替换appsettings.json中的连接字符串,并使用TeamCity代理调用它

appsettings.json的工作方式是它应该只包含与环境无关的配置。任何特定于特定环境的内容,例如连接字符串,都应该进入
appsettings.{environment}.json
。然后根据要部署到的服务器上设置的
ASPNETCORE\u环境
环境变量加载该文件。换句话说,你不需要更换任何东西。只需同时部署
appsettings.json
appsettings.{Environment}.json
,并确保
ASPNETCORE\u Environment
变量设置正确。

appsettings.json
的工作方式是只包含与环境无关的配置。任何特定于特定环境的内容,例如连接字符串,都应该进入
appsettings.{environment}.json
。然后根据要部署到的服务器上设置的
ASPNETCORE\u环境
环境变量加载该文件。换句话说,你不需要更换任何东西。只需部署
appsettings.json
appsettings.{Environment}.json
并确保适当设置了
ASPNETCORE\u环境
变量。

您可以自己解析XML。可能的重复可以自己解析XML。可能的重复需要将任何密码或敏感数据签入源存储库。替换允许第二层安全性,这就是为什么我更喜欢在VST的发布管道中使用appsettings.json的替换。它在那里工作得很好,但不幸的是在这种情况下没有帮助。这就是外部化配置提供程序发挥作用的地方。您可以在服务器上使用环境变量设置连接,或使用Azure Key Vault之类的工具。这将需要将任何密码或敏感数据签入源存储库。替换允许第二层安全性,这就是为什么我更喜欢在VST的发布管道中使用appsettings.json的替换。它在那里工作得很好,但不幸的是在这种情况下没有帮助。这就是外部化配置提供程序发挥作用的地方。您可以在服务器上使用环境变量设置连接,也可以使用Azure Key Vault之类的工具。