VB6 使用 .Net dll。无法读取 app.config

Posted

技术标签:

【中文标题】VB6 使用 .Net dll。无法读取 app.config【英文标题】:VB6 using a .Net dll. Cannot read app.confg 【发布时间】:2014-12-11 20:02:33 【问题描述】:

我有一个用 c# 编写的 DLL,它运行良好(它所做的并不重要)。

然后我尝试从 VB6 调用。

再次,一切都很好。

当我更改 c# 代码以使用 app.config 存储配置数据时,VB6 代码失败。

现在我知道 .Net 中的 DLL 会从调用应用程序中查找 app.config,但 VB6 没有。

这是我必须忍受的事情,还是有其他方法?

【问题讨论】:

equivalent of app.config for library (dll)的可能重复 谢谢你,但我的问题是 VB6 调用 DLL。 DLL 正在寻找 app.config,但 VB6 没有 app.config 文件。我确实尝试将配置文件复制到 VB6 目录中,但它仍然不起作用。 是什么让您认为 DLL 正在寻找 app.config?它不是。它正在寻找配置文件。那不是一回事。 【参考方案1】:

这是在黑暗中的尝试,我这里没有所有东西可供我测试,但是 app.config 文件通常会在构建时重命名为 MyApp.exe.config您的 MyApp.exe 项目。 VB6 应用程序正在调用 dll(假设它是 MyVbApp.exe)尝试将部署目录中的 .config 文件重命名为 MyVbApp.exe.config。

【讨论】:

用加载 .NET .dll 并将配置文件重命名为 VB6Application.exe.config 的 VB6 .exe 进行了尝试。 是的,我记得这就是您必须使用 VB6 应用程序执行此操作的方式。我通常不在笔记本电脑上保留 VB6。

以上是关于VB6 使用 .Net dll。无法读取 app.config的主要内容,如果未能解决你的问题,请参考以下文章

如何在vb6中注册一个不能用作com互操作的.net DLL?

VB.net调用DLL,捕捉到AccessVioationException尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

创建 VB.NET COM DLL

VB.net编写的dll,供vb6调用时dll中的函数不可见?

如何在 VB6 中使 VB.NET DLL 可调用?

在 VB6 中,如何访问 FileSystem.GetFileInfo()?