XML 将常量设置放在 App.config 文件中

问题描述

我有一个名为 Constants.cs 的类,其中包含应用设置。我想添加一个 App.config 文件并将 Constants.cs 中的设置放到 App.config 文件中,以便能够在具有相同设置的不同环境中运行我的应用程序。

如果我的 constants.cs 类看起来像这样:

   public class Constants
        {
            public static string LoginSubmitText => "Submit";
            public static string LoginBackBtnText => "Back";
            public static string SettingsPageTitleSize => "25";


        }

那么 App.config 文件应该是这样的吗?

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key ="LoginSubmitText" value="Submit"/>
    <add key ="LoginBackBtnText " value="Back"/>
    <add key ="SettingsPageTitleSize" value="25"/>

  </appSettings>
</configuration>

在那种情况下,我是否必须将这个 App.config 文件放在所有三个环境中,.Android、.IOS 和 UWP?

提前致谢!

解决方法

您不必在所有三个平台中都有 App.config。您可以使用共享代码将此类添加到项目中。

我刚刚完成了类似问题的工作。这被描述为here in this article。他们不使用 App.config 文件,如果您坚持使用 App.config,您可以编写自己的将 App.config 解析为 AppSettings 对象的实现。我说的是 LoadAppSettings 方法。此方法的最后一部分将 json 文件 appsettings.debug.json 转换为 AppSettings 对象。

就我而言,我需要注入不同的连接字符串,以在我的 azure 管道中构建配置。我使用 powershell 脚本编辑 appsettings.[build configuration].json 文件,这解决了我的问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...