C# 从 ConfigurationManager(不是从配置文件)获取整个原始 XML

C# get whole raw XML from ConfigurationManager (not from the config file)

如标题所述,我需要从 ConfigurationManager 获取完整的原始 XML 数据,但我无法找到实现它的方法。

我试过了SectionInformation.GetRawXml();但我收到错误 "This operation does not apply at runtime."

var section = ConfigurationManager.GetSection("system.serviceModel/client") as ClientSection;
var s = section.SectionInformation.GetRawXml();

我有一个使用 C# class 库与 Web 服务通信的 Gupta TD 项目,当我尝试调试该项目时,我的 app.config 未被使用。当我直接执行程序时它工作正常,我猜 Gupta TD 使用某种默认配置 我无法找到它,所以读取 app.config 文件不是一个选项,我需要从 ConfigurationManager 获取它,感谢 Michael Randall 的提示,我使用 AppDomain.CurrentDomain.SetupInformation.ConfigurationFile.

找到了它

刚用过 File.ReadAllText Method

File.ReadAllText("<MyApplicationName.exe>.config")

然而,它确实回避了您为什么要这样做的问题。

您可以使用它来获取 ConfigurationFile

的名称
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

AppDomainSetup.ConfigurationFile Property

您可以阅读整个配置文件 xml

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load(Server.MapPath("~/file.config"));