Trace not working in a .NET DLL loaded from VB6 EXE

前端 未结 2 2038
耶瑟儿~
耶瑟儿~ 2021-01-18 14:49

I have a .NET DLL that writes to the Trace. But it seems that when I call my DLL from a VB6 EXE the trace is not working.

I have created an myApp.config

相关标签:
2条回答
  • 2021-01-18 15:43

    I think the problem is that VB6 is using COM to load your managed DLL.

    The .NET code won't load your .config file as it uses a single 'shim' handler for all COM Interop.

    The best you might be able to do is to add something to your machine.config file (but most people don't like doing that).

    Initialising tracing in code should work though. Remove your tracing configuration from the managed .EXE and run it in a debugger to check that the code version works there too.

    0 讨论(0)
  • 2021-01-18 15:44

    If your VB6 application is called MyApp.exe then the config file should be called MyApp.exe.config. (MyApp.config does also work sometimes depending upon .NET Framework versions and service packs.)

    Inside that config file your settings should work.

    I have tracing in my code running from VB6 via COM that is working fine.

    Also is there any chance your privileges are different when running the VB6 code?

    Finally, if you're debugging the VB6 app in the VB6 IDE you need to add the settings to the VB6.exe.config in the VB6.exe folder, and restart VB6 to ensure changes are noticed.

    0 讨论(0)
提交回复
热议问题