【问题标题】:How can I debug a VB6 project that has a .net interop project which uses an app.config file?如何调试具有使用 app.config 文件的 .net 互操作项目的 VB6 项目?
【发布时间】:2010-09-15 21:37:11
【问题描述】:

我有一个使用 app.config 文件的 .net 互操作项目。当我在调试模式下运行使用互操作控件的 VB6 项目时,ConfigurationManager 找不到 app.config 文件。当我将VB6项目制作成exe并将app.config文件重命名为(VB6二进制名称).exe.config时,ConfigurationManager可以找到该文件。

有没有办法重命名 app.config 文件或更改设置,以便 ConfigurationManager 可以在 VB6 以调试模式运行时找到 app.config 文件?

【问题讨论】:

  • 你说-“将VB6项目编译成exe,并将app.config文件重命名为(VB6二进制名称).exe.config,ConfigurationManager可以找到该文件。”如果您不将 VB6 项目编译为 exe,您将如何运行它?
  • 如果您对 .NET 项目有任何控制权,您应该真的删除它对 .config 文件的使用,因为这是一个糟糕透顶的想法。如果 \program files 中的程序加载它,您需要将配置粘贴在那里,这意味着您需要成为管理员。这都是一大堆失败
  • 我同意不使用配置文件,但这是我的决定。
  • 我正在使用 Run > Start F5 运行 VB6 项目;但是,这是无法找到 app.config 文件的情况。当我使用 File > make prj.exe 创建项目时,它会找到 app.config 文件。
  • @Muadite - ok gotcha...Alexander Kojevnikov 是正确的,调试 VB6 环境调试器 (vb6.exe) 是启动 exe,因此 .net 将在其中寻找 vb6.exe.config VB6 exe 文件夹。

标签: .net vb6 interop app-config


【解决方案1】:

一个肮脏的hack是将app.config文件放入VB6文件夹并将其重命名为vb6.exe.config

【讨论】:

  • 这仅在我制作 exe 时有效,在我调试时无效
  • 您是否将其重命名为 .exe.config?我的意思是你需要把它放到“C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE.config”。 VB6 是调试时的主机进程,这个技巧应该可以工作(你可能需要重新加载 VB6)
  • @Alexander Kojevnikov 这行​​得通。对不起,我怀疑你了。我不知道VB6.exe。谢谢。
  • 我尝试了同样的方法,但它不适合我。还有其他建议吗?
  • 如果VB6正在运行,还需要重启
猜你喜欢
  • 2013-02-27
  • 1970-01-01
  • 2011-05-26
  • 2010-12-11
  • 1970-01-01
  • 2011-08-08
  • 1970-01-01
  • 2017-08-27
  • 2010-12-17
相关资源
最近更新 更多