MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Откуда берется наименование папки с настройками приложения?"
Answer 788087
Путь к конфигурации имеет следующий вид:
%LOCALAPPDATA%\(Company name)\(EXE file name)_(AppDomain ID)\(Version)\user.config
(Company name) - это имя компании, которое берется из атрибута
AssemblyCompany
в свойствах сборки.var ass = System.Reflection.Assembly.GetExecutingAssembly(); var attr = ass.GetCustomAttributes( typeof(System.Reflection.AssemblyCompanyAttribute),true); if (attr.Length > 0) { string company = ((System.Reflection.AssemblyCompanyAttribute)attr[0]).Company; }
Если этот атрибут пустой или состоит из неподходящих символов, вместо него .NET пытается использовать аналогичную строку из
FileVersionInfo
. Если и она пустая, используется первая (до точки) часть пространства имен, в котором расположен класс Program (assembly.EntryPoint.ReflectedType.Namespace
). Полный алгоритм выбора этой строки можно посмотреть в исходнике.Итоговый путь к конфигу можно получить программно так (добавить ссылку на System.Configuration):
System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration( System.Configuration.ConfigurationUserLevel.PerUserRoamingAndLocal ); MessageBox.Show(config.FilePath);
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.