What problem does it solve? When .NET Framework applications fail to load the CLR, pick the wrong runtime version, or trigger unexpected .NET 3.5 Feature-on-Demand dialogs, the root cause is hidden inside the shim's runtime selection logic. This Skill interprets CLR activation logs (CLRLoad logs) produced by mscoree.dll to trace exactly how the shim decided which runtime to load and why it failed. ## Core Features & Use Cases - Log Analysis Workflow: Surveys CLRLoad log files, identifies entry points (_CorExeMain, DllGetClassObject, CorBindToRuntimeEx), and traces version resolution decisions step by step. - FOD and Error Diagnosis: Explains why Feature-on-Demand dialogs appear or are suppressed based on SEM_FAILCRITICALERRORS inheritance, capping state, and config file presence. - COM Activation Troubleshooting: Decodes CLSID registry layout and legacy bind behavior for native tools like link.exe and mt.exe that activate CLR-hosted COM objects such as diasymreader. - Use Case: A build machine suddenly shows .NET 3.5 install dialogs when running mt.exe. Use this Skill to analyze the CLRLoad logs, discover the capped legacy COM activation path, and fix it by adding a config file with useLegacyV2RuntimeActivationPolicy. ## Quick Start Analyze the CLRLoad log files in C:\CLRLoadLogs and explain why mt.exe triggered a .NET 3.5 Feature-on-Demand dialog.