From c0d0b71b0a2f2a5cefb58e33f3c7815b5056a353 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 48360c01d7e993..3b5d827b381355 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 @@ -703,7 +703,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 93bef74398e8ac235605749ac7de341fc9bc6ea8 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 0280de9fc4f73d6c0f87c6efce72df104a5ce5f5 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 4ee1d4932eba060b64f7d3f6a03fe97ae8f6a84c 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 642b3e354d6909835569fdc36e44206db6172547 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 6cf2687bcf7be0ed9fb4d98ee69451cb17e54f97 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 b757191586918c45791d29afe7037041dac81277 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 3978b5339fe3418b2b7784187414c8839130edb2 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 @@ - -