diff --git a/eng/testing/scenarios/BuildWasmAppsJobsList.txt b/eng/testing/scenarios/BuildWasmAppsJobsList.txt
index 11bfdab2c7414e..df0ef94f26facc 100644
--- a/eng/testing/scenarios/BuildWasmAppsJobsList.txt
+++ b/eng/testing/scenarios/BuildWasmAppsJobsList.txt
@@ -47,3 +47,4 @@ Wasm.Build.Tests.WasmTemplateTests
Wasm.Build.Tests.WorkloadTests
Wasm.Build.Tests.MT.Blazor.SimpleMultiThreadedTests
Wasm.Build.Tests.TestAppScenarios.DebugLevelTests
+Wasm.Build.Tests.DownlevelCheck
diff --git a/src/mono/wasm/Wasm.Build.Tests/DownLevelCheck.cs b/src/mono/wasm/Wasm.Build.Tests/DownLevelCheck.cs
new file mode 100644
index 00000000000000..5372d4dba5c141
--- /dev/null
+++ b/src/mono/wasm/Wasm.Build.Tests/DownLevelCheck.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using Xunit;
+using Xunit.Abstractions;
+
+namespace Wasm.Build.Tests
+{
+ public class DownlevelCheck : BuildTestBase
+ {
+ public DownlevelCheck(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext)
+ : base(new TestMainJsProjectProvider(output), output, buildContext)
+ {
+ }
+
+ private const string ProjectTemplate =
+ """
+
+
+ {TargetFramework}
+ Exe
+
+
+
+
+
+ """;
+
+ private string FormatTestMessage(string version) => $"TEST::TargetingPackVersion::{version}::TEST";
+
+ public static IEnumerable