我创建了一个与 WPF 用户控件库关联的配置文件。在调试器中或单独运行应用程序时,使用以下代码可以很好地加载配置,该代码在库的上下文中运行:
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = "MapControl.dll.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
if (config != null)
{
_Instance = (MapControlConfiguration)config.GetSection("MapControlConfiguration");
}
但是,当我尝试在 Visual Studio 2010 的 XAML 设计器中查看控件时,不会加载配置文件。使用 Process Monitor,我确定它正在尝试在以下位置加载配置文件:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MapControl.dll.config
. 这是不幸的,因为那肯定不是包含配置文件的目录。ConfigurationManager.OpenMappedExeConfiguration
期望配置文件与可执行文件相关,但在 XAML 设计器的上下文中,本身没有可执行文件。有没有办法指定配置文件的位置,以便在 XAML 设计器中查看控件时加载它?