跟踪无法在从VB6 EXE加载的.NET DLL中工作

Lui*_*uis 6 .net c# vb.net vb6 com

我有一个写入Trace的.NET DLL.但似乎当我从VB6 EXE调用我的DLL时,跟踪无法正常工作.

myApp.config在EXE文件夹中创建了一个带有跟踪配置的文件,但这并没有解决问题.

我也尝试在代码中创建Trace对象,但不起作用:

Dim _traceSrc As TraceSource = New TraceSource("myTraceSorce")
Dim flListener As FileLogTraceListener = New FileLogTraceListener("myFileLogTraceListener")
Dim tSwitch As SourceSwitch = New SourceSwitch("mySwitch")
tSwitch.Level = _logLevel
Run Code Online (Sandbox Code Playgroud)

如果我从.NET EXE调用我的DLL它可以工作,即使我在EXE文件夹中没有app.config,因为如果找不到配置,我在代码中设置它.

Mar*_*urd 4

如果您的 VB6 应用程序名为 MyApp.exe,则配置文件应名为MyApp.exe.config. (MyApp.config有时也可以工作,具体取决于 .NET Framework 版本和服务包。)

在该配置文件中,您的设置应该有效。

我通过 COM 从 VB6 运行的代码中进行了跟踪,运行良好。

另外,运行 VB6 代码时您的权限是否有可能不同?

最后,如果您在 VB6 IDE 中调试 VB6 应用程序,则需要将设置添加到VB6.exe.configVB6.exe 文件夹中,然后重新启动 VB6 以确保注意到更改。