如何根据Net Core 3.1中选定的构建配置合并appsettings.json?

时间:2020-06-18 15:15:52

标签: configuration appsettings .net-core-3.1

我在Net Core 3.1中拥有一个工作程序服务,该服务从appsettings.json文件读取生产设置,并且在开发过程中(使用“调试”构建配置)用{{1}覆盖appsettings.json设置}。

我为质量检查环境创建了一个构建配置并发布了配置,我希望在构建/发布时将appsettings.Development.json文件与appsettings.QA.json合并。但是发布项目仅复制具有生产设置的appsettings.json,而不会与appsettings.json文件中的设置合并。

我该如何实现?我不想将aspsetting.QA.json复制到质量检查环境,并将appsettings.QA.json设置为DOTNET_ENVIRONMENT。在这种情况下,我不想依赖环境变量。

1 个答案:

答案 0 :(得分:1)

.Net Core 不会将文件合并为物理文件。它们在您的 Program.cs 中使用此类代码块合并到内存中。

class Resnet(tf.keras.Model):

    def __init__(self, num_classes=9):
        super(Resnet, self).__init__()
        self.block_1 = tf.keras.applications.ResNet152V2(
            include_top=False, weights='imagenet', input_tensor=None,
            input_shape=(256,256,3), pooling=None, classes=1000)
        self.global_pool = layers.GlobalAveragePooling2D()
        self.dropout = Dropout(0.3)
        self.classifier = Dense(num_classes, activation = 'softmax')

    def call(self, inputs):
        x = self.block_1(inputs)
        x = self.global_pool(x)
        x = self.dropout(x)
        x = self.classifier(x)
        return tf.keras.Model(inputs = inputs, outputs = x)

您需要做的就是设置环境变量 ASPNETCORE_ENVIRONMENT 并且 .net core 会自动处理它。