From f082dac3b07ca01d24bdcd772e04c863819a36a7 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Mon, 6 Oct 2025 13:44:22 -0700 Subject: [PATCH 1/6] Disable Trace level log messages --- .../ProjectSystem/HotReload/HotReloadLogger.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/HotReloadLogger.cs b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/HotReloadLogger.cs index f8ee1a7a414..bb3fde395e3 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/HotReloadLogger.cs +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/HotReloadLogger.cs @@ -10,7 +10,8 @@ namespace Microsoft.VisualStudio.ProjectSystem.HotReload; internal sealed class HotReloadLogger(IHotReloadDiagnosticOutputService service, string projectName, string variant, int sessionInstanceId, string categoryName) : ILogger { public bool IsEnabled(LogLevel logLevel) - => true; + // Do not enable Trace level logging as it affects the application output + => logLevel >= LogLevel.Debug; public void Log(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func formatter) { From 3281dbae1a54f9a5a97d3658e1db2a0b813137a7 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Fri, 10 Oct 2025 09:12:46 -0700 Subject: [PATCH 2/6] Update to latest Hot Reload packages. --- Directory.Packages.props | 7 ++-- ProjectSystem.sln | 18 ++++++++- .../ProjectSystemSetup.csproj | 2 + src/Directory.Build.props | 5 --- src/HotReloadRuntimeDependencies.props | 37 +++++++++++++++++++ ...oft.AspNetCore.Watch.BrowserRefresh.csproj | 28 ++++++++++++++ ...osoft.Extensions.DotNetDeltaApplier.csproj | 31 ++++++++++++++++ .../Microsoft.VisualStudio.AppDesigner.vbproj | 2 + .../Microsoft.VisualStudio.Editors.vbproj | 2 + ...sualStudio.ProjectSystem.Managed.VS.csproj | 2 + ....VisualStudio.ProjectSystem.Managed.csproj | 31 ++-------------- 11 files changed, 128 insertions(+), 37 deletions(-) create mode 100644 src/HotReloadRuntimeDependencies.props create mode 100644 src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj create mode 100644 src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj diff --git a/Directory.Packages.props b/Directory.Packages.props index 61af57ac591..5c380bbda19 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,7 +5,7 @@ true - 10.0.100-rc.2.25502.106 + 10.0.200-preview.0.25553.109 diff --git a/ProjectSystem.sln b/ProjectSystem.sln index eefd83771ff..34bdf00bff3 100644 --- a/ProjectSystem.sln +++ b/ProjectSystem.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31514.227 +# Visual Studio Version 18 +VisualStudioVersion = 18.0.11114.144 d18.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "setup", "setup", "{AC8DB8AE-AC9F-4503-83C6-255B66C318C6}" ProjectSection(SolutionItems) = preProject @@ -81,6 +81,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{2BEDB9 src\Common\BannedSymbols.txt = src\Common\BannedSymbols.txt EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Watch.BrowserRefresh", "src\Microsoft.AspNetCore.Watch.BrowserRefresh\Microsoft.AspNetCore.Watch.BrowserRefresh.csproj", "{C45E9403-8251-B5D1-CF02-6E8367F7218E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Extensions.DotNetDeltaApplier", "src\Microsoft.Extensions.DotNetDeltaApplier\Microsoft.Extensions.DotNetDeltaApplier.csproj", "{51C57440-D5AB-889E-510A-CF81B0DA5333}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -142,6 +146,14 @@ Global {A0B3F2BD-C92A-4037-A9F0-4EC484267E75}.Debug|Any CPU.Build.0 = Debug|Any CPU {A0B3F2BD-C92A-4037-A9F0-4EC484267E75}.Release|Any CPU.ActiveCfg = Release|Any CPU {A0B3F2BD-C92A-4037-A9F0-4EC484267E75}.Release|Any CPU.Build.0 = Release|Any CPU + {C45E9403-8251-B5D1-CF02-6E8367F7218E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C45E9403-8251-B5D1-CF02-6E8367F7218E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C45E9403-8251-B5D1-CF02-6E8367F7218E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C45E9403-8251-B5D1-CF02-6E8367F7218E}.Release|Any CPU.Build.0 = Release|Any CPU + {51C57440-D5AB-889E-510A-CF81B0DA5333}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {51C57440-D5AB-889E-510A-CF81B0DA5333}.Debug|Any CPU.Build.0 = Debug|Any CPU + {51C57440-D5AB-889E-510A-CF81B0DA5333}.Release|Any CPU.ActiveCfg = Release|Any CPU + {51C57440-D5AB-889E-510A-CF81B0DA5333}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -162,6 +174,8 @@ Global {02578366-DFA9-4827-93F7-08E2AE5CE6A4} = {7349958E-C619-481F-BB2A-8A4CA2E349D9} {A0B3F2BD-C92A-4037-A9F0-4EC484267E75} = {7349958E-C619-481F-BB2A-8A4CA2E349D9} {2BEDB95B-AAC2-4F6D-92EA-61F07E77887E} = {1FF0293B-6808-4BB1-8370-1FE222986654} + {C45E9403-8251-B5D1-CF02-6E8367F7218E} = {1FF0293B-6808-4BB1-8370-1FE222986654} + {51C57440-D5AB-889E-510A-CF81B0DA5333} = {1FF0293B-6808-4BB1-8370-1FE222986654} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6B652C28-D1FD-4885-A0CA-4704C54E78E7} diff --git a/setup/ProjectSystemSetup/ProjectSystemSetup.csproj b/setup/ProjectSystemSetup/ProjectSystemSetup.csproj index 5f59f9cf79f..0f987cc108a 100644 --- a/setup/ProjectSystemSetup/ProjectSystemSetup.csproj +++ b/setup/ProjectSystemSetup/ProjectSystemSetup.csproj @@ -55,6 +55,8 @@ + + diff --git a/src/Directory.Build.props b/src/Directory.Build.props index e1f92ab301e..8871e37836c 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -12,9 +12,4 @@ false - - - - - diff --git a/src/HotReloadRuntimeDependencies.props b/src/HotReloadRuntimeDependencies.props new file mode 100644 index 00000000000..13d5958298b --- /dev/null +++ b/src/HotReloadRuntimeDependencies.props @@ -0,0 +1,37 @@ + + + + + Content + true + false + TargetFramework;TargetFrameworks + HotReload\net6.0 + HotReload\net6.0\Microsoft.AspNetCore.Watch.BrowserRefresh.dll + PreserveNewest + + + + Content + true + false + TargetFramework=net10.0 + HotReload\net10.0 + HotReload\net10.0\Microsoft.Extensions.DotNetDeltaApplier.dll + PreserveNewest + + + + Content + true + false + TargetFramework=net6.0 + HotReload\net6.0 + HotReload\net6.0\Microsoft.Extensions.DotNetDeltaApplier.dll + PreserveNewest + + + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj b/src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj new file mode 100644 index 00000000000..610b04c2c65 --- /dev/null +++ b/src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj @@ -0,0 +1,28 @@ + + + + net6.0 + + + + + + + + + + + + + + + + + + %(NuGetPackageId)\%(Link) + + + diff --git a/src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj b/src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj new file mode 100644 index 00000000000..5562024f207 --- /dev/null +++ b/src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj @@ -0,0 +1,31 @@ + + + + net6.0;net10.0 + + + true + + + + + + + + + + + + + + + + + %(NuGetPackageId)\%(Link) + + + diff --git a/src/Microsoft.VisualStudio.AppDesigner/Microsoft.VisualStudio.AppDesigner.vbproj b/src/Microsoft.VisualStudio.AppDesigner/Microsoft.VisualStudio.AppDesigner.vbproj index b683bbcea6c..bfffde1db26 100644 --- a/src/Microsoft.VisualStudio.AppDesigner/Microsoft.VisualStudio.AppDesigner.vbproj +++ b/src/Microsoft.VisualStudio.AppDesigner/Microsoft.VisualStudio.AppDesigner.vbproj @@ -23,6 +23,8 @@ + + ManagedCodeMarkers.vb diff --git a/src/Microsoft.VisualStudio.Editors/Microsoft.VisualStudio.Editors.vbproj b/src/Microsoft.VisualStudio.Editors/Microsoft.VisualStudio.Editors.vbproj index 8205be8cf62..4f927508bc3 100644 --- a/src/Microsoft.VisualStudio.Editors/Microsoft.VisualStudio.Editors.vbproj +++ b/src/Microsoft.VisualStudio.Editors/Microsoft.VisualStudio.Editors.vbproj @@ -31,6 +31,8 @@ + + Designer diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj index 9b27766c128..b83bb25332d 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/Microsoft.VisualStudio.ProjectSystem.Managed.VS.csproj @@ -50,6 +50,8 @@ + + Component diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj b/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj index 40485cddcb2..7caf87fe51a 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj @@ -51,9 +51,7 @@ - - @@ -71,33 +69,12 @@ - - - - PreserveNewest - false - HotReload\net6.0\Microsoft.AspNetCore.Watch.BrowserRefresh.dll - false - - - PreserveNewest - false - HotReload\net6.0\Microsoft.Extensions.DotNetDeltaApplier.dll - false - - - PreserveNewest - false - HotReload\net10.0\Microsoft.Extensions.DotNetDeltaApplier.dll - false - - - + + + + AnalyzerReference.xaml From 5f37b37a6ee7e93802c6cd8ab0304df686005fd7 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Sun, 19 Oct 2025 10:25:40 -0700 Subject: [PATCH 3/6] Use .NET 10 --- eng/Build.proj | 20 ++----------------- .../templates/build-pull-request.yml | 9 ++++++++- .../templates/generate-localization.yml | 5 ++--- global.json | 6 ++++++ 4 files changed, 18 insertions(+), 22 deletions(-) create mode 100644 global.json diff --git a/eng/Build.proj b/eng/Build.proj index af5934c661e..8279742f6b7 100644 --- a/eng/Build.proj +++ b/eng/Build.proj @@ -50,27 +50,11 @@ - - - $([System.IO.Path]::GetPathRoot('$(ArtifactsDir)')) - $([System.String]::Copy('$(ArtifactsDir)').Substring(3)) - - - - - - - - - $([System.String]::Copy('%(BuildProject.FullPath)').Substring(3)) - - + - + diff --git a/eng/pipelines/templates/build-pull-request.yml b/eng/pipelines/templates/build-pull-request.yml index d80022ffe9e..ad79fef80c1 100644 --- a/eng/pipelines/templates/build-pull-request.yml +++ b/eng/pipelines/templates/build-pull-request.yml @@ -31,12 +31,19 @@ jobs: # Ensure the .NET runtime needed by our unit tests is installed. - task: UseDotNet@2 - displayName: Install .NET Runtime + displayName: Install .NET 9.0.x Runtime inputs: packageType: runtime # This should match the target of our unit test projects. version: 9.0.x + # .NET SDK used for build + - task: UseDotNet@2 + displayName: Install .NET 10.x Runtime + inputs: + includePreviewVersions: true + version: 10.x + # Allows for accessing the internal AzDO feed (vs-impl-internal) for project restore via Azure Artifacts Credential Provider. # See: https://github.com/microsoft/artifacts-credprovider#automatic-usage # YAML reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget-authenticate?view=azure-devops diff --git a/eng/pipelines/templates/generate-localization.yml b/eng/pipelines/templates/generate-localization.yml index 94c2cad18d1..8f5a2c9b728 100644 --- a/eng/pipelines/templates/generate-localization.yml +++ b/eng/pipelines/templates/generate-localization.yml @@ -23,9 +23,8 @@ jobs: - task: UseDotNet@2 displayName: Install .NET Runtime inputs: - packageType: runtime - # This should match the target in OneLocBuildSetup.csproj. - version: 9.0.x + includePreviewVersions: true + version: 10.x # Creates the LocProject.json and perform some necessary file copying and renaming. - task: DotNetCoreCLI@2 diff --git a/global.json b/global.json new file mode 100644 index 00000000000..b2b3bc32b00 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + // necessary for VS to find pre-release SDKs + "allowPrerelease": true + } +} \ No newline at end of file From 51349148cd6656de7c6346b73aa1b9a8e76bf50a Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 21 Oct 2025 09:47:11 -0700 Subject: [PATCH 4/6] Workaround for PDB conversion issues --- Directory.Build.targets | 2 +- .../Microsoft.AspNetCore.Watch.BrowserRefresh.csproj | 4 ++++ .../Microsoft.Extensions.DotNetDeltaApplier.csproj | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index 0559899f4f6..5583e2ba2bf 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -2,7 +2,7 @@ - + diff --git a/src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj b/src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj index 610b04c2c65..860c2fec06f 100644 --- a/src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj +++ b/src/Microsoft.AspNetCore.Watch.BrowserRefresh/Microsoft.AspNetCore.Watch.BrowserRefresh.csproj @@ -5,6 +5,10 @@ When updating the TFM also update minimal supported version in VisualStudioBrowserRefreshServer. --> net6.0 + + + embedded + false diff --git a/src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj b/src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj index 5562024f207..c7981d41f4a 100644 --- a/src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj +++ b/src/Microsoft.Extensions.DotNetDeltaApplier/Microsoft.Extensions.DotNetDeltaApplier.csproj @@ -9,6 +9,10 @@ true + + + embedded + false From f3800f6d6d74c128c0b28c27223becfee90ad806 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 4 Nov 2025 12:02:35 -0800 Subject: [PATCH 5/6] Remove unnecessary package refs --- Directory.Packages.props | 6 ------ eng/imports/HostAgnostic.props | 3 --- .../Microsoft.VisualStudio.ProjectSystem.Managed.csproj | 1 - ...soft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj | 4 ---- ...t.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj | 2 -- 5 files changed, 16 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 5c380bbda19..a00b4243a87 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -29,7 +29,6 @@ - @@ -70,8 +69,6 @@ - - @@ -90,7 +87,6 @@ - @@ -106,8 +102,6 @@ - - diff --git a/eng/imports/HostAgnostic.props b/eng/imports/HostAgnostic.props index 795e7b11c16..c9beff05db1 100644 --- a/eng/imports/HostAgnostic.props +++ b/eng/imports/HostAgnostic.props @@ -26,10 +26,8 @@ - - @@ -37,7 +35,6 @@ - diff --git a/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj b/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj index 7caf87fe51a..99ec0b71fae 100644 --- a/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj +++ b/src/Microsoft.VisualStudio.ProjectSystem.Managed/Microsoft.VisualStudio.ProjectSystem.Managed.csproj @@ -58,7 +58,6 @@ - diff --git a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj index ea02eb7c54e..9c834f6d50e 100644 --- a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj +++ b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.UnitTests.csproj @@ -35,10 +35,6 @@ - - - - diff --git a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj index 26ca6c1650d..03245039253 100644 --- a/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj +++ b/tests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests/Microsoft.VisualStudio.ProjectSystem.Managed.VS.UnitTests.csproj @@ -18,8 +18,6 @@ - - \ No newline at end of file From a3ccd7d13c044470936f70d6cc4f7d7727d880f3 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Tue, 4 Nov 2025 12:03:24 -0800 Subject: [PATCH 6/6] Fx --- eng/imports/HostAgnostic.props | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/imports/HostAgnostic.props b/eng/imports/HostAgnostic.props index c9beff05db1..57d6633da14 100644 --- a/eng/imports/HostAgnostic.props +++ b/eng/imports/HostAgnostic.props @@ -18,7 +18,6 @@ -