给定appsettings.json文件(ASP.NET核心应用程序)中名为“Data:ConnectionString”的配置,如何在构建中覆盖它?通过覆盖它可以是在构建期间编译之前有一个更改appsettings.json中的值的步骤,或者在使用“dotnet test”或其他内容时覆盖参数。
更多信息:
我在appsettings.json中有一个标准配置的ASP.NET Core应用程序。我不希望在源代码管理中检查任何连接字符串或敏感数据。
我正在使用Visual Studio Team Service(云TFS)构建我的应用程序。有一个执行测试的步骤,我希望这些测试针对我不想检查凭证的远程服务运行。
答案 0 :(得分:1)
http://marketplace.visualstudio.com上有许多扩展程序可以帮助您,而不会有任何复杂的问题。
https://marketplace.visualstudio.com/items?itemName=YodLabs.VariableTasks
我喜欢随附的变量任务包:
超级简单......你也可以搜索" json"或"变量"找到其他选择...
答案 1 :(得分:0)
最受欢迎的方式:
scripts
部分。你有4个活动 -
预编译,后编译,预发布,postpublish 答案 2 :(得分:0)
您可以将构建中的环境变量ASPNETCORE_ENVIRONMENT设置为" Test"。创建一个名为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);
当环境变量设置为TEST时,您将加载新的appsettings文件,并可以将连接字符串设置为您想要的任何内容。