From 6cf11855bb57e42119a66775882628b7d32a308e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 23:44:23 +0000 Subject: [PATCH 1/8] Update BootJsonData generation to account for runtimeconfig.dev.json When RuntimeConfigJsonPath is set and IsPublish is false, also check for a runtimeconfig.dev.json file alongside the main config. If found, merge its configProperties into the result, with dev values overriding main config values. This allows the SDK to use runtimeconfig.dev.json to set Hot Reload related switches in debug builds. Fixes dotnet/runtime#130823 --- ...rosoft.NET.Sdk.WebAssembly.Browser.targets | 3 +- .../GenerateWasmBootJson.cs | 41 +++- ...soft.NET.Sdk.WebAssembly.Pack.Tasks.csproj | 1 + .../GenerateWasmBootJsonTests.cs | 183 ++++++++++++++++++ ...ET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj | 13 ++ 5 files changed, 234 insertions(+), 7 deletions(-) create mode 100644 src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs create mode 100644 src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj diff --git a/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets b/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets index 68372ab269aa4d..e0bbf9e31fbcfd 100644 --- a/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets +++ b/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets @@ -709,7 +709,7 @@ Copyright (c) .NET Foundation. All rights reserved. (fs, BootJsonBuilderHelper.JsonOptions); - result.runtimeConfig = runtimeConfig; - } + result.runtimeConfig = ReadRuntimeConfigFiles(RuntimeConfigJsonPath, IsPublish ? null : RuntimeConfigDevJsonPath); Profilers ??= Array.Empty(); var browserProfiler = Profilers.FirstOrDefault(p => p.StartsWith("browser:")); @@ -569,4 +566,36 @@ private Version ParsedTargetFrameworkVersion private bool IsTargeting90OrLater() => ParsedTargetFrameworkVersion >= version90; private bool IsTargeting100OrLater() => ParsedTargetFrameworkVersion >= version100; private bool IsTargeting110OrLater() => ParsedTargetFrameworkVersion >= version110; + + /// + /// Reads the main runtimeconfig.json and merges configProperties from the companion + /// runtimeconfig.dev.json (when it exists) into the result. Dev config values take precedence. + /// + internal static RuntimeConfigData? ReadRuntimeConfigFiles(string? mainConfigPath, string? devConfigPath) + { + if (!File.Exists(mainConfigPath)) + return null; + + using var fs = File.OpenRead(mainConfigPath); + var runtimeConfig = JsonSerializer.Deserialize(fs, BootJsonBuilderHelper.JsonOptions); + + if (File.Exists(devConfigPath)) + { + // Merge overrides from runtimeconfig.dev.json (e.g. Hot Reload switches set by the SDK in debug builds). + using var devFs = File.OpenRead(devConfigPath); + var devRuntimeConfig = JsonSerializer.Deserialize(devFs, BootJsonBuilderHelper.JsonOptions); + if (devRuntimeConfig?.runtimeOptions?.configProperties is { } devProps && devProps.Count > 0) + { + runtimeConfig ??= new RuntimeConfigData(); + runtimeConfig.runtimeOptions ??= new RuntimeOptionsData(); + runtimeConfig.runtimeOptions.configProperties ??= new Dictionary(); + foreach (var kvp in devProps) + { + runtimeConfig.runtimeOptions.configProperties[kvp.Key] = kvp.Value; + } + } + } + + return runtimeConfig; + } } diff --git a/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj b/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj index 90267a01c8e52a..ecf3510c8914df 100644 --- a/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj +++ b/src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj @@ -17,6 +17,7 @@ + diff --git a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs new file mode 100644 index 00000000000000..5c52092227b342 --- /dev/null +++ b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs @@ -0,0 +1,183 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Collections.Generic; +using System.IO; +using System.Text.Json; +using Xunit; + +namespace Microsoft.NET.Sdk.WebAssembly.Tests; + +public class GenerateWasmBootJsonTests +{ + [Fact] + public void ReadRuntimeConfigFiles_NullMainConfigPath_ReturnsNull() + { + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(null, null); + + Assert.Null(result); + } + + [Fact] + public void ReadRuntimeConfigFiles_MainConfigNotExists_ReturnsNull() + { + using var dir = new TempDirectory(); + var nonExistentPath = Path.Combine(dir.Path, "does-not-exist.runtimeconfig.json"); + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(nonExistentPath, null); + + Assert.Null(result); + } + + [Fact] + public void ReadRuntimeConfigFiles_DevConfigPreservesBooleanAndNumericTypes() + { + using var dir = new TempDirectory(); + var mainConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.json", + configProperties: new() { ["key1"] = "value1" }); + // Write dev config with native JSON boolean and number (not string) values. + var devConfigPath = Path.Combine(dir.Path, "App.runtimeconfig.dev.json"); + File.WriteAllText(devConfigPath, """ + { + "runtimeOptions": { + "configProperties": { + "System.HotReload.Enable": true, + "System.HotReload.MaxRetries": 10 + } + } + } + """); + + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(mainConfig, devConfigPath); + + Assert.NotNull(result?.runtimeOptions?.configProperties); + var props = result!.runtimeOptions!.configProperties!; + Assert.Equal(JsonValueKind.True, ((JsonElement)props["System.HotReload.Enable"]).ValueKind); + Assert.Equal(JsonValueKind.Number, ((JsonElement)props["System.HotReload.MaxRetries"]).ValueKind); + Assert.Equal(10, ((JsonElement)props["System.HotReload.MaxRetries"]).GetInt32()); + } + + [Fact] + public void ReadRuntimeConfigFiles_MainConfigOnly_ReturnsMainProperties() + { + using var dir = new TempDirectory(); + var mainConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.json", + configProperties: new() { ["key1"] = "value1", ["key2"] = "42" }); + + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(mainConfig, null); + + Assert.NotNull(result); + Assert.NotNull(result.runtimeOptions?.configProperties); + Assert.Equal("value1", result.runtimeOptions!.configProperties!["key1"].ToString()); + Assert.Equal("42", result.runtimeOptions.configProperties["key2"].ToString()); + } + + [Fact] + public void ReadRuntimeConfigFiles_DevConfigNotExists_ReturnsMainPropertiesUnchanged() + { + using var dir = new TempDirectory(); + var mainConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.json", + configProperties: new() { ["key1"] = "value1" }); + var devConfigPath = Path.Combine(dir.Path, "App.runtimeconfig.dev.json"); + + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(mainConfig, devConfigPath); + + Assert.NotNull(result); + Assert.Equal("value1", result.runtimeOptions?.configProperties?["key1"].ToString()); + } + + [Fact] + public void ReadRuntimeConfigFiles_DevConfigAddsNewProperty() + { + using var dir = new TempDirectory(); + var mainConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.json", + configProperties: new() { ["key1"] = "value1" }); + var devConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.dev.json", + configProperties: new() { ["key2"] = "value2" }); + + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(mainConfig, devConfig); + + Assert.NotNull(result?.runtimeOptions?.configProperties); + Assert.Equal("value1", result!.runtimeOptions!.configProperties!["key1"].ToString()); + Assert.Equal("value2", result.runtimeOptions.configProperties["key2"].ToString()); + } + + [Fact] + public void ReadRuntimeConfigFiles_DevConfigOverridesMainProperty() + { + using var dir = new TempDirectory(); + var mainConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.json", + configProperties: new() { ["System.Runtime.Feature"] = "false" }); + var devConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.dev.json", + configProperties: new() { ["System.Runtime.Feature"] = "true" }); + + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(mainConfig, devConfig); + + Assert.NotNull(result?.runtimeOptions?.configProperties); + Assert.Equal("true", result!.runtimeOptions!.configProperties!["System.Runtime.Feature"].ToString()); + } + + [Fact] + public void ReadRuntimeConfigFiles_DevConfigMergesWhenMainHasNoConfigProperties() + { + using var dir = new TempDirectory(); + var mainConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.json", + configProperties: null); + var devConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.dev.json", + configProperties: new() { ["System.HotReload.Enable"] = "true" }); + + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(mainConfig, devConfig); + + Assert.NotNull(result?.runtimeOptions?.configProperties); + Assert.Equal("true", result!.runtimeOptions!.configProperties!["System.HotReload.Enable"].ToString()); + } + + [Fact] + public void ReadRuntimeConfigFiles_DevConfigEmptyProperties_DoesNotAlterResult() + { + using var dir = new TempDirectory(); + var mainConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.json", + configProperties: new() { ["key1"] = "value1" }); + var devConfig = WriteRuntimeConfig(dir.Path, "App.runtimeconfig.dev.json", + configProperties: new()); + + var result = GenerateWasmBootJson.ReadRuntimeConfigFiles(mainConfig, devConfig); + + Assert.NotNull(result?.runtimeOptions?.configProperties); + Assert.Single(result!.runtimeOptions!.configProperties!); + Assert.Equal("value1", result.runtimeOptions.configProperties["key1"].ToString()); + } + + private static string WriteRuntimeConfig(string dir, string fileName, Dictionary? configProperties) + { + var path = Path.Combine(dir, fileName); + using var stream = File.OpenWrite(path); + using var writer = new Utf8JsonWriter(stream, new JsonWriterOptions { Indented = true }); + writer.WriteStartObject(); + writer.WritePropertyName("runtimeOptions"); + writer.WriteStartObject(); + if (configProperties is not null) + { + writer.WritePropertyName("configProperties"); + writer.WriteStartObject(); + foreach (var (key, value) in configProperties) + writer.WriteString(key, value); + writer.WriteEndObject(); + } + writer.WriteEndObject(); + writer.WriteEndObject(); + return path; + } + + private sealed class TempDirectory : System.IDisposable + { + public string Path { get; } = System.IO.Path.Combine(System.IO.Path.GetTempPath(), System.IO.Path.GetRandomFileName()); + + public TempDirectory() => Directory.CreateDirectory(Path); + + public void Dispose() + { + // Silently ignore cleanup failures to avoid masking actual test failures. + try { Directory.Delete(Path, recursive: true); } catch { } + } + } +} diff --git a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj new file mode 100644 index 00000000000000..407ae10bd9cbf9 --- /dev/null +++ b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj @@ -0,0 +1,13 @@ + + + $(NetCoreAppToolCurrent) + enable + true + + + + + + + + From a069fd2ea7c2c6ecd54cea2b84c63ab5fb0c57ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Mon, 20 Jul 2026 07:55:25 -0700 Subject: [PATCH 2/8] Move tests --- eng/Subsets.props | 5 +++++ src/tasks/tasks.proj | 2 ++ .../GenerateWasmBootJsonTests.cs | 0 ...ft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj | 15 +++++++++++++++ ...ft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj | 13 ------------- 5 files changed, 22 insertions(+), 13 deletions(-) rename src/{tests/tasks => tasks/tests}/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs (100%) create mode 100644 src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj delete mode 100644 src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj diff --git a/eng/Subsets.props b/eng/Subsets.props index 14b2d3eedab02a..8c68bdc503cc38 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -666,6 +666,11 @@ + + diff --git a/src/tasks/tasks.proj b/src/tasks/tasks.proj index d84edb3f2bea63..39e370084afeb8 100644 --- a/src/tasks/tasks.proj +++ b/src/tasks/tasks.proj @@ -2,6 +2,8 @@ + + diff --git a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs b/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs similarity index 100% rename from src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs rename to src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs diff --git a/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj b/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj new file mode 100644 index 00000000000000..08cbed35116eff --- /dev/null +++ b/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj @@ -0,0 +1,15 @@ + + + + $(NetCoreAppToolCurrent) + enable + + + + + + + + + + diff --git a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj deleted file mode 100644 index 407ae10bd9cbf9..00000000000000 --- a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - $(NetCoreAppToolCurrent) - enable - true - - - - - - - - From e6a7721c79b521594ba8d01bb6501594bb91d6e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Mon, 20 Jul 2026 15:13:25 -0700 Subject: [PATCH 3/8] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj b/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj index 08cbed35116eff..e08e24d15ac477 100644 --- a/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj +++ b/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj @@ -1,14 +1,15 @@ + + $(NetCoreAppToolCurrent) + true + xunit enable - - - From 895e004a70fd74ffd41d3cd6d7e7170e0fe7fa8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Tue, 21 Jul 2026 09:16:06 -0700 Subject: [PATCH 4/8] Cleanup --- src/tasks/tasks.proj | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/tasks/tasks.proj b/src/tasks/tasks.proj index 39e370084afeb8..d84edb3f2bea63 100644 --- a/src/tasks/tasks.proj +++ b/src/tasks/tasks.proj @@ -2,8 +2,6 @@ - - From f670fae7b57745a3dd0d67a03cbfc9a46f1a6b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Tue, 21 Jul 2026 10:43:32 -0700 Subject: [PATCH 5/8] Move test project --- .../GenerateWasmBootJsonTests.cs | 0 .../Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj | 3 +-- 2 files changed, 1 insertion(+), 2 deletions(-) rename src/{tasks/tests => tests/tasks}/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs (100%) rename src/{tasks/tests => tests/tasks}/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj (65%) diff --git a/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs similarity index 100% rename from src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs rename to src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs diff --git a/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj similarity index 65% rename from src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj rename to src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj index e08e24d15ac477..0d33d0eeb9c597 100644 --- a/src/tasks/tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj +++ b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj @@ -5,12 +5,11 @@ $(NetCoreAppToolCurrent) true - xunit enable - + From 3d909f2971c55f9330f6edcfdb7ee9827bc5087a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Tue, 21 Jul 2026 10:45:58 -0700 Subject: [PATCH 6/8] Cleanup --- eng/Subsets.props | 5 ----- 1 file changed, 5 deletions(-) diff --git a/eng/Subsets.props b/eng/Subsets.props index 8c68bdc503cc38..14b2d3eedab02a 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -666,11 +666,6 @@ - - From a23a8e1175e5e7358b83d1d08e5a04d260b8e9ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Tue, 21 Jul 2026 12:52:49 -0700 Subject: [PATCH 7/8] Move tests to src/tasks.tests --- eng/Subsets.props | 5 +++++ .../GenerateWasmBootJsonTests.cs | 0 ...ft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj | 14 ++++++++++++++ ...ft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj | 15 --------------- 4 files changed, 19 insertions(+), 15 deletions(-) rename src/{tests/tasks => tasks.tests}/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs (100%) create mode 100644 src/tasks.tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj delete mode 100644 src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj diff --git a/eng/Subsets.props b/eng/Subsets.props index 14b2d3eedab02a..fb23ae9fb2437a 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -666,6 +666,11 @@ + + diff --git a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs b/src/tasks.tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs similarity index 100% rename from src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs rename to src/tasks.tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/GenerateWasmBootJsonTests.cs diff --git a/src/tasks.tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj b/src/tasks.tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj new file mode 100644 index 00000000000000..9adcea8712095e --- /dev/null +++ b/src/tasks.tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj @@ -0,0 +1,14 @@ + + + + $(NetCoreAppToolCurrent) + enable + + + + + + + + + diff --git a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj b/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj deleted file mode 100644 index 0d33d0eeb9c597..00000000000000 --- a/src/tests/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.Tests.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - $(NetCoreAppToolCurrent) - true - enable - - - - - - - From ef01a74b1ce03df5d2dc6f4407bc1c7118706f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Wed, 22 Jul 2026 11:36:40 +0200 Subject: [PATCH 8/8] Revert Subsets.props change from #130825 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: b49d3786-9f03-4fd3-8076-28a73d639686 --- eng/Subsets.props | 5 ----- 1 file changed, 5 deletions(-) diff --git a/eng/Subsets.props b/eng/Subsets.props index fb23ae9fb2437a..14b2d3eedab02a 100644 --- a/eng/Subsets.props +++ b/eng/Subsets.props @@ -666,11 +666,6 @@ - -