gpt4 book ai didi

C# COM 组件在加载到非托管 C++ 应用程序时无法读取配置

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:57 24 4
gpt4 key购买 nike

我有一个用 C# 编写的 COM 组件,它调用 ConfigurationManager.AppSettings.Get(...)。该组件在非托管 C++ 应用程序中实例化。

ConfigurationManager.AppSettings 每次都无法读取配置文件。

可能有两个问题。

1) 应用程序运行时应该调用什么 app.config(即以 .config 结尾的 C++ exe 的名称,或以 .config 结尾的我的 C# 类库的名称)。

2) 配置文件应该放在哪里(即在与 C# COM 组件相同的文件夹中,或在与 C++ exe 相同的文件夹中

我尝试了对 ConfigurationManager.OpenExecConfiguration 的各种调用;都失败了。

理想情况下,我想要的是它无需更改代码即可正常工作。如果失败,明智地调用 OpenExeConfiguration 以便我仍然可以使用 ConfigurationManager.AppSettings.Get(...)

这可能只是冰山一角,因为我想在使用自定义配置部分的 C# COM 组件中使用 log4net。

虽然我不介意更改我自己的代码以通过配置对象使用访问设置,但我无法更改 log4net 代码。

之前还有其他人打过这个吗?有什么想法吗?

最佳答案

如果您在应用运行时运行 procmon ( http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx),您能看到它正在寻找的 *.config 文件吗?

关于C# COM 组件在加载到非托管 C++ 应用程序时无法读取配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2404988/

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