Полагаю, этот вопрос подпадает под категорию "дух", но, тем не менее, я запутался.
При использовании файлов конфигурации, например, в приложении Windows Forms, файл конфигурации можно найти в C: \ Program files \ CompanyName \ ProductName \ Application.exe.config . Тем не менее, с библиотекой классов, которую я разрабатываю, я не вижу файл « ClassLibrary.dll.config » в папке установки после его установки (в тандеме с другим проектом) из Visual Studio. Хотя я нигде не вижу файл, получение данных из него работает правильно. Кроме того, запуск следующего кода из метода в библиотеке классов возвращает ожидаемый путь: C: \ Program Files \ CompanyName \ ProductName \ ClassLibrary.dll.config .
Если бы кто-то мог пролить свет на то, что мне здесь не хватает, это было бы действительно здорово.
public static string MyMethod()
{
Assembly assem = Assembly.GetExecutingAssembly();
Configuration config = ConfigurationManager.OpenExeConfiguration(assem.Location);
return "The assembly location was: " + assem.Location + Environment.NewLine +
"The config file path was: " + config.FilePath;
// Gives me "C:\Program files\CompanyName\ProductName\ClassLibrary.dll.config"
}