diff --git a/src/BenchmarkDotNet/Portability/RuntimeInformation.cs b/src/BenchmarkDotNet/Portability/RuntimeInformation.cs
index bd0b62d0e8..565905bebd 100644
--- a/src/BenchmarkDotNet/Portability/RuntimeInformation.cs
+++ b/src/BenchmarkDotNet/Portability/RuntimeInformation.cs
@@ -102,7 +102,8 @@ internal static string GetRuntimeVersion()
}
}
- return $".NET Core (Mono) {versionString}";
+ string runtimeName = IsMono ? "Mono" : "CoreCLR";
+ return $".NET Core ({runtimeName}) {versionString}";
}
else if (IsOldMono)
{
diff --git a/src/BenchmarkDotNet/Templates/WasmCsProj.txt b/src/BenchmarkDotNet/Templates/WasmCsProj.txt
index bf35251428..3daf85e070 100644
--- a/src/BenchmarkDotNet/Templates/WasmCsProj.txt
+++ b/src/BenchmarkDotNet/Templates/WasmCsProj.txt
@@ -8,7 +8,7 @@
-
+$CORECLR_OVERRIDES$
Exe
Release
diff --git a/src/BenchmarkDotNet/Toolchains/MonoWasm/WasmGenerator.cs b/src/BenchmarkDotNet/Toolchains/MonoWasm/WasmGenerator.cs
index b42aef9e4b..9bd1835fe6 100644
--- a/src/BenchmarkDotNet/Toolchains/MonoWasm/WasmGenerator.cs
+++ b/src/BenchmarkDotNet/Toolchains/MonoWasm/WasmGenerator.cs
@@ -46,8 +46,22 @@ protected void GenerateProjectFile(BuildPartition buildPartition, ArtifactsPaths
var xmlDoc = new XmlDocument();
xmlDoc.Load(projectFile.FullName);
var (customProperties, _) = GetSettingsThatNeedToBeCopied(xmlDoc, projectFile);
- // Microsoft.NET.Sdk.WebAssembly auto-defaults UseMonoRuntime=true.
- string sdkName = runtime.IsMonoRuntime ? "Microsoft.NET.Sdk.WebAssembly" : "Microsoft.NET.Sdk";
+ string sdkName = "Microsoft.NET.Sdk.WebAssembly";
+
+ // For CoreCLR WASM:
+ // - UseMonoRuntime=false: resolves CoreCLR runtime pack instead of Mono
+ // - WasmBuildNative=false: avoids requiring wasm-tools workload
+ // - WasmEnableWebcil=false: CoreCLR doesn't support webcil format
+ string coreclrOverrides = runtime.IsMonoRuntime
+ ? string.Empty
+ : @"
+
+
+ false
+ false
+ false
+
+";
string content = new StringBuilder(ResourceHelper.LoadTemplate("WasmCsProj.txt"))
.Replace("$PLATFORM$", buildPartition.Platform.ToConfig())
@@ -60,6 +74,7 @@ protected void GenerateProjectFile(BuildPartition buildPartition, ArtifactsPaths
.Replace("$SDKNAME$", sdkName)
.Replace("$WASMDATADIR$", runtime.WasmDataDir)
.Replace("$TARGET$", CustomRuntimePack.IsNotBlank() ? "PublishWithCustomRuntimePack" : "Publish")
+ .Replace("$CORECLR_OVERRIDES$", coreclrOverrides)
.ToString();
File.WriteAllText(artifactsPaths.ProjectFilePath, content);