在appSettings.json文件(ASP.NET Core Application)中给定一个名为"数据:ConnectInsTring"的配置,如何在构建中覆盖它?通过覆盖它可以是有一个步骤可以改变appsettings.json的构建过程中的值,或者在使用" dotnet test"或其他内容时覆盖参数。
更多信息:
i具有AppSettings.json中标准配置的ASP.NET核心应用程序。我不希望在源控件中检查任何连接字符串或敏感数据。
我正在使用Visual Studio Team Service(Cloud TFS)构建我的应用程序。在执行测试的步骤中,我希望这些测试能够与我不想在凭据中检查的远程服务进行操作。
http://marketplace.visualstudio.com上有许多扩展名,可以在没有任何复杂NESS的情况下为您提供帮助。
https://marketplace.visualstudio.com/items?itemname=yodlabs.variabletasks
我喜欢随附的变量任务包:
- 设置变量设置一个变量值,并可选地将转换应用于它。
- 带有凭据设置的变量设置了现有服务端点的用户名/密码
- 从JSON中设置变量,使用JSON Path从JSON提取一个值
- 使用XPATH从XML提取XML的变量
- 更新构建号允许您更改构建号码增量版本增量SEMVER版本号
超级简单...您也可以搜索" JSON"或"变量"即可找到其他选项...
最流行的方法:
- 使用App Secrets
- 使用project.json中的
scripts
部分。您有4个活动 - 预编译,专业后,前出版,后出版
您可以将构建中的环境变量aspnetcore_environment设置为"测试"之类的东西。创建一个名为AppSettings.test.json的AppSettings.json文件。然后,当您在startup.cs中设置配置时,例如...
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
当环境变量设置为测试时,您将加载新的AppSettings文件,并将连接字符串设置为您想要的任何内容。