From 6fc174e7e0437072ce47ec59accc5d035851dd09 Mon Sep 17 00:00:00 2001 From: smolchanovsky Date: Fri, 16 Jan 2026 19:23:33 +0400 Subject: [PATCH 1/2] Add runtimeId to output directory path for publish --- .../JitDisasm/JitCodegenProvider.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitCodegenProvider.cs b/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitCodegenProvider.cs index c2b0642..d31d5a1 100644 --- a/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitCodegenProvider.cs +++ b/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitCodegenProvider.cs @@ -47,8 +47,9 @@ public async Task> GetJitCodegenAsync(DisasmTarg clrCheckedFilesDir = result.Value; } - var resultOutDir = Path.Combine(projectContext.OutputPath!, - "DotNetDisassembler" + (configuration.UseDotnetPublishForReload ? "_published" : ""), tfm.UniqueString); + var resultOutDir = configuration.UseDotnetPublishForReload + ? Path.Combine(projectContext.OutputPath!, "DotNetDisassembler_published", tfm.UniqueString, runtimeId) + : Path.Combine(projectContext.OutputPath!, "DotNetDisassembler", tfm.UniqueString); var dotnetCliExePath = projectContext.DotNetCliExePath!; var projectFilePath = projectContext.ProjectFilePath!; From 12f7cae29000c84191b290bc3ca68287a8b98b0d Mon Sep 17 00:00:00 2001 From: smolchanovsky Date: Fri, 16 Jan 2026 22:00:14 +0400 Subject: [PATCH 2/2] Fix static constructor ignore --- .../JitDisasm/JitDisasmTargetUtils.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitDisasmTargetUtils.cs b/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitDisasmTargetUtils.cs index 6970f5a..fba2b51 100644 --- a/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitDisasmTargetUtils.cs +++ b/src/dotnet/ReSharperPlugin.DotNetDisassembler/JitDisasm/JitDisasmTargetUtils.cs @@ -54,9 +54,17 @@ public static DisasmTarget GetTarget(IDeclaredElement declaredElement) methodName = "*"; hostType = containingType.ShortName; break; - case IConstructor: - target = prefix + ":.ctor"; - methodName = "*"; + case IConstructor constructor: + if (constructor.IsStatic) + { + target = prefix + ":.cctor"; + methodName = ".cctor"; + } + else + { + target = prefix + ":.ctor"; + methodName = "*"; + } hostType = containingType.ShortName; break; case IFunction function: