Te sugerimos que revises esta respuesta en un ambiente controlado antes de pasarlo a producción, saludos.
Solución:
Si trabaja con Visual Studio, es bastante fácil obtener configuraciones persistentes. Haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione Propiedades. Seleccione la pestaña Configuración y haga clic en el hipervínculo si la configuración no existe.
Utilice la pestaña Configuración para crear la configuración de la aplicación. Visual Studio crea los archivos. Settings.settings
y Settings.Designer.settings
que contienen la clase singleton Settings
heredado de ApplicationSettingsBase. Puede acceder a esta clase desde su código para leer/escribir la configuración de la aplicación:
Properties.Settings.Default["SomeProperty"] = "Some Value";
Properties.Settings.Default.Save(); // Saves settings in application configuration file
Esta técnica es aplicable tanto para la consola, Windows Forms y otros tipos de proyectos.
Tenga en cuenta que debe configurar el alcance propiedad de su configuración. Si selecciona Alcance de la aplicación, seleccione Configuración.Predeterminado.
Referencia: Cómo: Escribir la configuración del usuario en tiempo de ejecución con C# – Microsoft Docs
Si planea guardar en un archivo dentro del mismo directorio que su ejecutable, aquí hay una buena solución que usa el formato JSON:
using System;
using System.IO;
using System.Web.Script.Serialization;
namespace MiscConsole
class Program
static void Main(string[] args)
MySettings settings = MySettings.Load();
Console.WriteLine("Current value of 'myInteger': " + settings.myInteger);
Console.WriteLine("Incrementing 'myInteger'...");
settings.myInteger++;
Console.WriteLine("Saving settings...");
settings.Save();
Console.WriteLine("Done.");
Console.ReadKey();
class MySettings : AppSettings
public string myString = "Hello World";
public int myInteger = 1;
public class AppSettings where T : new()
private const string DEFAULT_FILENAME = "settings.json";
public void Save(string fileName = DEFAULT_FILENAME)
File.WriteAllText(fileName, (new JavaScriptSerializer()).Serialize(this));
public static void Save(T pSettings, string fileName = DEFAULT_FILENAME)
File.WriteAllText(fileName, (new JavaScriptSerializer()).Serialize(pSettings));
public static T Load(string fileName = DEFAULT_FILENAME)
T t = new T();
if(File.Exists(fileName))
t = (new JavaScriptSerializer()).Deserialize(File.ReadAllText(fileName));
return t;
El registro es un no-go. No está seguro de si el usuario que usa su aplicación tiene suficientes derechos para escribir en el registro.
Puedes usar el app.config
archivo para guardar la configuración a nivel de la aplicación (que es la misma para cada usuario que usa su aplicación).
Almacenaría la configuración específica del usuario en un archivo XML, que se guardaría en Almacenamiento aislado o en el directorio SpecialFolder.ApplicationData.
Además, a partir de .NET 2.0, es posible almacenar valores en el app.config
Archivo.
Recuerda que tienes la capacidad de parafrasear tu experiencia .