C# 如果希望所有用户共享相同的设置,除了标准appsettings之外,您还有两个选择:

C# 如果希望所有用户共享相同的设置,除了标准appsettings之外,您还有两个选择:,c#,.net,configuration,settings,C#,.net,Configuration,Settings,1) 将数据存储在注册表中。您可以将设置设置为特定于用户,也可以设置为机器的全局设置 2) 存储结构化文件(如XML文件),其中包含以下标准目录之一中的设置:所有用户的Environment.SpecialFolder.CommonApplicationData或单个用户的Environment.SpecialFolder.ApplicationData。这就是我将使用的方法。如果您希望同一用户对两个应用程序使用相同的设置,或者希望所有用户共享相同的设置,除了标准的应用程序设置之外,您还有两个选

1) 将数据存储在注册表中。您可以将设置设置为特定于用户,也可以设置为机器的全局设置


2) 存储结构化文件(如XML文件),其中包含以下标准目录之一中的设置:所有用户的Environment.SpecialFolder.CommonApplicationData或单个用户的Environment.SpecialFolder.ApplicationData。这就是我将使用的方法。

如果您希望同一用户对两个应用程序使用相同的设置,或者希望所有用户共享相同的设置,除了标准的应用程序设置之外,您还有两个选择:

1) 将数据存储在注册表中。您可以将设置设置为特定于用户,也可以设置为机器的全局设置


2) 存储结构化文件(如XML文件),其中包含以下标准目录之一中的设置:所有用户的Environment.SpecialFolder.CommonApplicationData或单个用户的Environment.SpecialFolder.ApplicationData。这将是我将使用的方法。

是否要在两个项目之间共享配置设置(数据)…@pratapchandra我不是100%确定-我只想在两个项目之间共享一些字符串变量-一个是控制台应用程序,另一个是简单的GUI,用户可以在其中输入用户名/密码以与控制台应用程序共享(数据将被加密)也许这篇文章可以帮助你:你想分享你的配置设置(数据)吗在两个项目之间…@pratapchandra我不是100%确定-我只是想在两个项目之间共享一些字符串变量-一个是控制台应用程序,另一个是一个简单的GUI,用户可以在其中输入用户名/密码以与控制台应用程序共享(数据将被加密)也许这篇文章能帮上忙:听起来不错,但由于用户权限的原因,找到一个保存文件的地方我觉得更难?听起来不错,但是由于用户权限的原因,找到一个保存文件的地方我觉得更难?
[XmlRoot()]
public class Settings
{
    private static Settings instance = new Settings();

    private Settings() {}

    /// <summary>
    /// Access the Singleton instance
    /// </summary>
    [XmlElement]
    public static Settings Instance
    {
        get
        {
            return instance;
        }
    }

    /// <summary>
    /// Gets or sets the height.
    /// </summary>
    /// <value>The height.</value>
    [XmlAttribute]
    public int Height { get; set; }

    /// <summary>
    /// Main window status (Maximized or not)
    /// </summary>
    [XmlAttribute]
    public FormWindowState WindowState
    {
        get;
        set;
    }

    /// <summary>
    /// Gets or sets a value indicating whether this <see cref="Settings"/> is offline.
    /// </summary>
    /// <value><c>true</c> if offline; otherwise, <c>false</c>.</value>
    [XmlAttribute]
    public bool IsSomething
    {
        get;
        set;
    }

    /// <summary>
    /// Save setting into file
    /// </summary>
    public static void Serialize()
    {
        // Create the directory
        if (!Directory.Exists(AppTmpFolder))
        {
            Directory.CreateDirectory(AppTmpFolder);
        }

        using (TextWriter writer = new StreamWriter(SettingsFilePath))
        {
            XmlSerializer serializer = new XmlSerializer(typeof(Settings));
            serializer.Serialize(writer, Settings.Instance);
        }
    }

    /// <summary>
    /// Load setting from file
    /// </summary>
    public static void Deserialize()
    {
        if (!File.Exists(SettingsFilePath))
        {
            // Can't find saved settings, using default vales
            SetDefaults();
            return;
        }
        try
        {
            using (XmlReader reader = XmlReader.Create(SettingsFilePath))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(Settings));
                if (serializer.CanDeserialize(reader))
                {
                    Settings.instance = serializer.Deserialize(reader) as Settings;
                }
            }
        }
        catch (System.Exception)
        {
            // Failed to load some data, leave the settings to default
            SetDefaults();
        }
    }
}
<?xml version="1.0" encoding="utf-8"?>
<Settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Height="738" WindowState="Maximized" IsSomething="false" >
</Settings>