如何调试一个包含使用app.config文件的.net互操作项目的VB6项目?

10
我有一个使用 app.config 文件的 .net 互操作项目。当我以 Debug 模式运行使用互操作控件的 VB6 项目时,ConfigurationManager 找不到 app.config 文件。当我将 VB6 项目制作成 exe 并将 app.config 文件重命名为 (VB6 二进制文件名).exe.config 后,ConfigurationManager 就可以找到该文件了。 在 VB6 运行于 Debug 模式时,是否有一种方法可以重命名 app.config 文件或更改设置,使 ConfigurationManager 可以找到 app.config 文件?

你说:“将VB6项目编译为exe,并将app.config文件重命名为(VB6二进制名称)。exe.config,ConfigurationManager可以找到该文件。”如果你没有将VB6项目编译成exe,那你是如何运行它的呢? - Kev
如果您对.NET项目有任何控制权,那么您应该真的删除它对.config文件的使用,因为这是一个非常糟糕的想法。如果\program files中的程序加载它,您将需要将配置文件放在那里,这意味着您需要成为管理员。这一切都是一堆失败的事情。 - Orion Edwards
我同意不使用配置文件,但这是上级做出的决定。 - wusher
我正在使用“Run > Start F5”来运行VB6项目;但是,这时找不到app.config文件。当我使用“File > make prj.exe”制作项目时,它能找到app.config文件。 - wusher
@Muadite - 好的,明白了...Alexander Kojevnikov是正确的,当调试VB6环境调试器(vb6.exe)时,它会启动exe,因此.net将在VB6 exe文件夹中寻找vb6.exe.config。 - Kev
1个回答

17
一个不太正规的做法是将 app.config 文件放置到 VB6 文件夹中并将其重命名为 vb6.exe.config。

只有在我制作exe时才有效,而在调试时无效。 - wusher
3
你需要将它重命名为<你的应用程序>.exe.config吗?我的意思是你需要将它放到"C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE.config"。在调试时,VB6是主机进程,这个技巧应该有效(虽然你可能需要重新加载VB6)。 - Alexander Kojevnikov
1
@Alexander Kojevnikov,好的,你说得对。我很抱歉怀疑了你。我不知道有VB6.exe这个东西。谢谢。 - wusher
我尝试了相同的方法,但对我不起作用。还有其他建议吗? - Azimuth
2
如果 VB6 正在运行,您还需要重新启动它。 - Carl Onager
你拯救了我的理智。谢谢你。 - MarkWalls

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接