Alternative zum Fusion Log Viewer in .NET Core

Im vollständigen .NET Framework gab es den Fusion Log Viewer fuslogvw.exe.

In .NET Core gibt es den nicht mehr. Stattdessen gibt es COREHOST_TRACE und weitere Umgebungsvariablen:

Sehr nützlich aus meiner Sicht und deutlich angenehmer, als in der Registry herum pfuschen zu müssen für Details zum Laden von Assemblies.

Inzwischen habe ich das mit .NET 7 nochmals ausprobiert, so wie hier auf MSDN beschrieben.

Es geht jetzt, nach meinem Verständnis, komplett ohne die Trace-Flags.

Grober Ablauf:

  1. Das „dotnet-trace“-Tool von hier downloaden.
  2. Falls auf dem Zielsystem noch kein .NET installiert ist, spuckt das „dotnet-trace“-Tool eine Download-URL aus. Von dort dann downloaden und installieren.
  3. Das gewünschte Programm von dotnet-trace aus aufrufen, z. B.:
    c:\dotnet-trace.exe collect -o "C:\trace1.nettrace" -- "C:\my\app.exe"
    
  4. Nach dem Programmlauf die Trace-Datei auf einen Rechner mit Visual Studio kopieren und dort dann die Datei doppelklicken.

Anschließend in Visual Studio die Datei analysieren.