我有一个专为进行服务器备份而设计的命令行实用程序。我还有一个GUI应用程序,可以访问各种维护功能,包括进行服务器备份的功能。以前,此应用程序复制了备份代码,这导致了一致性和可维护性问题。我正在重构GUI应用程序以引用命令行应用程序,并以代码重用的名义调用其备份方法。
我遇到了一个问题 - 命令行应用程序有一个配置文件,使用ConfigurationManager.AppSettings
读取。当它被直接调用时,它可以正常工作。但是,当它从GUI应用程序调用它作为参考时,它会尝试读取GUI应用程序的配置文件,而不是作为执行程序集,并且当它找不到时会抛出错误它期望的价值。
如何强制代码始终读取命令行应用程序的配置文件,即使它实际上并不是执行程序集?
答案 0 :(得分:1)
只需设置AppDomain.CurrentDomain.SetData(" APP_CONFIG_FILE",路径);