Вы не можете изменить расположение файла конфигурации приложения, так как поведение внутренне управляется .NET Framework.
Но вы можете создать свой собственный файл конфигурации и управлять параметрами с помощью синглтон-класса ручной работы, которыйможет быть сериализован в xml или двоичном формате, куда вы хотите поместить его.
Пример:
using System.Xml.Serialization;
[Serializable]
public class AppSettings
{
// The singleton
static public AppSettings Instance { get; private set; }
static public string Filename { get; set; }
static AppSettings()
{
Instance = new AppSettings();
}
// The persistence
static public void Load()
{
if ( !File.Exists(Filename) )
return;
using ( FileStream fs = new FileStream(Filename, FileMode.Open, FileAccess.Read) )
Instance = (AppSettings)new XmlSerializer(typeof(AppSettings)).Deserialize(fs);
}
static public void Save()
{
using ( FileStream fs = new FileStream(Filename, FileMode.Create, FileAccess.Write) )
new XmlSerializer(Instance.GetType()).Serialize(fs, Instance);
}
// The settings
public bool IsFirstStartup { get; set; } = true;
public string ExportPath { get; set; }
}
Тест:
static void Test()
{
AppSettings.Filename = "c:\\Test\\AppSettings.xml";
AppSettings.Load();
if ( AppSettings.Instance.IsFirstStartup )
{
AppSettings.Instance.IsFirstStartup = false;
AppSettings.Instance.ExportPath = "c:\\Test\\Export";
AppSettings.Save();
Console.WriteLine("App initialized.");
}
else
{
Console.WriteLine("Welcome back.");
}
}
Необходимо добавить System.Runtime.Serialization
ссылка на сборку в файле проекта.