gpt4 book ai didi

c# - 获取另一个 Exe 的 App.Config

转载 作者:IT王子 更新时间:2023-10-29 04:30:49 24 4
gpt4 key购买 nike

我有一个带有 App.Config 文件的 exe。现在我想围绕 exe 创建一个包装器 dll,以便使用一些功能。

问题是如何从包装器 dll 访问 exe 中的 app.config 属性?

也许我的问题应该多一点,我在 exe 中有以下 app.config 内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="myKey" value="myValue"/>
</appSettings>
</configuration>

问题是如何从包装器 dll 中获取“myValue”?


感谢您的解决方案。

实际上我最初的想法是避免使用 XML 文件读取方法或 LINQ 或其他任何方法。我的首选解决方案是使用 configuration manager libraries and the like .

对于使用通常与访问 app.config 属性相关联的类的任何帮助,我将不胜感激。

最佳答案

ConfigurationManager.OpenMappedExeConfiguration Method将允许您执行此操作。

来自 MSDN 页面的示例:

static void GetMappedExeConfigurationSections()
{
// Get the machine.config file.
ExeConfigurationFileMap fileMap =
new ExeConfigurationFileMap();
// You may want to map to your own exe.comfig file here.
fileMap.ExeConfigFilename =
@"C:\test\ConfigurationManager.exe.config";
System.Configuration.Configuration config =
ConfigurationManager.OpenMappedExeConfiguration(fileMap,
ConfigurationUserLevel.None);

// Loop to get the sections. Display basic information.
Console.WriteLine("Name, Allow Definition");
int i = 0;
foreach (ConfigurationSection section in config.Sections)
{
Console.WriteLine(
section.SectionInformation.Name + "\t" +
section.SectionInformation.AllowExeDefinition);
i += 1;

}
Console.WriteLine("[Total number of sections: {0}]", i);

// Display machine.config path.
Console.WriteLine("[File path: {0}]", config.FilePath);
}

编辑:这应该输出“myKey”值:

ExeConfigurationFileMap fileMap =
new ExeConfigurationFileMap();
fileMap.ExeConfigFilename =
@"C:\test\ConfigurationManager.exe.config";
System.Configuration.Configuration config =
ConfigurationManager.OpenMappedExeConfiguration(fileMap,
ConfigurationUserLevel.None);
Console.WriteLine(config.AppSettings.Settings["MyKey"].Value);

关于c# - 获取另一个 Exe 的 App.Config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com