C# 带有COM的配置文件

C# 带有COM的配置文件,c#,com,configuration,log4net,C#,Com,Configuration,Log4net,我有一个旧的PowerBuilder应用程序,我们正在慢慢淘汰。我们也正朝着更加服务导向的方向发展。因此,为了便于实现这一点,我们使用C COM包装器来调用WCF方法,以便可以缓慢地删除旧的直接SQL调用。当power builder应用程序中需要功能时,我们也使用C COM包装器 因为我们使用从PowerBuilder到C的DLL的COM调用,所以不需要外部可执行文件。这意味着app.config文件不会自行加载。至少我注意到了这一点。示例:假设包含wrapper方法的主DLL是wrapper

我有一个旧的PowerBuilder应用程序,我们正在慢慢淘汰。我们也正朝着更加服务导向的方向发展。因此,为了便于实现这一点,我们使用C COM包装器来调用WCF方法,以便可以缓慢地删除旧的直接SQL调用。当power builder应用程序中需要功能时,我们也使用C COM包装器

因为我们使用从PowerBuilder到C的DLL的COM调用,所以不需要外部可执行文件。这意味着app.config文件不会自行加载。至少我注意到了这一点。示例:假设包含wrapper方法的主DLL是wrapper.DLL。如果我的配置名为Wrapper.dll.config,那么当从PowerBuilder调用C时,它将不会被加载

我之所以想使用配置文件,是因为我想在C DLL中开始使用log4net,以便使调试更容易,因为使用PowerBuilder已经够难了。我想加载配置文件还有其他原因,但最容易解释的是,基本上使用配置文件设置一些东西更容易

那么,有没有办法将配置文件加载到配置管理器中以进行COM调用

谢谢 托尼

从中退房。我想它会让你做你想做的事。

很好的片段JP


默认情况下,运行时程序集实际上是从调用可执行文件的配置文件获取其配置设置。您的代码段允许加载与实际库程序集关联的代码段

谢谢你的回答,虽然很有帮助,但这不是我想要的。我需要的最简单的方法是在调用应用程序exe之后命名配置文件。因此,如果应用程序的名称是test.exe,而您的C dll是wrapper.dll,那么您可以将配置文件命名为test.exe.config。因为本例中的test.exe是一个PowerBuilder应用程序,所以我现在可以解决这个问题。如果它是一个.net应用程序,可能还有其他应用程序,那么它可能已经有了一个配置,因此会造成阻碍

托尼