Даже если у вас есть «родное» приложение Win32, вы все равно можете поместить файл конфигурации с именем MyApp.exe.config
прямо в тот же каталог, что и приложение, и части .NET должны быть в состоянии найти и интерпретировать этот файл конфигурации.
Ваше VB-приложение не будет ничего знать об этом файле конфигурации и не будет ничего с ним делать, но ваша клиентская библиотека .NET найдет и использует его.
Я использовал этоТехника для интеграции компонентов кода C # в собственное приложение C ++ / Win32 - для меня это просто прелесть.
Для работы этого метода требуется полностью скомпилированный собственный EXE-файл - не уверен, что ваш проект VBA предлагает, хотя ...
Если вы не можете жить с этим параметром, единственный другой вариант, на самом деле, это программно определить и загрузить файл конфигурации.Вы не можете определить / указать местоположение файла конфигурации - но вы можете загрузить определенный файл конфигурации в коде и использовать его (почти так же, как файл конфигурации по умолчанию).
Проверьте ConfigurationManager.OpenMappedExeConfiguration метод:
// you need to define a ExeConfigurationFileMap that defines what file to use
ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap();
exeMap.ExeConfigFilename = @"C:\Application\Default.config";
// then, you need to load that file with the ConfigurationManager
Configuration exeConfig =
ConfigurationManager.OpenMappedExeConfiguration(exeMap, ConfigurationUserLevel.None);
// now you can access parts of that config
string someValue = exeConfig.AppSettings.Settings["SomeValue"].Value;
string connStr = exeConfig.ConnectionStrings.ConnectionStrings["Default"].ConnectionString;