[automated] Merge branch 'main' => 'release/dnup'#55052
Open
github-actions[bot] wants to merge 57 commits into
Open
[automated] Merge branch 'main' => 'release/dnup'#55052github-actions[bot] wants to merge 57 commits into
github-actions[bot] wants to merge 57 commits into
Conversation
Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.4.0-preview.26278.109 -> 10.4.0-preview.26310.101) Microsoft.Build, Microsoft.Build.Localization (Version 18.9.0-preview-26278-109 -> 18.9.0-preview-26310-101) Microsoft.Build.NuGetSdkResolver, NuGet.Build.Tasks, NuGet.Build.Tasks.Console, NuGet.Build.Tasks.Pack, NuGet.CommandLine.XPlat, NuGet.Commands, NuGet.Common, NuGet.Configuration, NuGet.Credentials, NuGet.DependencyResolver.Core, NuGet.Frameworks, NuGet.LibraryModel, NuGet.Localization, NuGet.Packaging, NuGet.ProjectModel, NuGet.Protocol, NuGet.Versioning (Version 7.8.0-rc.27909 -> 7.9.0-rc.31101) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.400-alpha.26278.109 -> 10.0.400-alpha.26310.101) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.ExternalAccess.HotReload, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.9.0-1.26278.109 -> 5.9.0-1.26310.101) Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Installers, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Build.Tasks.Workloads, Microsoft.DotNet.Helix.Sdk, Microsoft.DotNet.SignTool, Microsoft.DotNet.XliffTasks, Microsoft.DotNet.XUnitExtensions (Version 10.0.0-beta.26278.109 -> 10.0.0-beta.26310.101) Microsoft.FSharp.Compiler (Version 15.2.400-servicing.26278.109 -> 15.2.400-servicing.26310.101) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.7.0-release-26278-109 -> 18.7.0-release-26310-101) Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.400-preview.26278.109 -> 10.0.400-preview.26310.101) [[ commit created by automation ]]
… Build ID 2997400
…4c7-44fc-94e0-8732466c29b2
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… Build ID 2999312
… Build ID 2999312
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/*
…4c7-44fc-94e0-8732466c29b2
Cherry-picked from #54718.
The newer TestPlatform.CLI (18.7.0-release-26310-101) has a System.Collections.Immutable binding redirect mismatch that causes FullFramework test host crashes. Same fix as applied on release/10.0.3xx (sdk#54506). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Marc Paine <marcpop@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: DonnaChen888 <v-donnachen@microsoft.com> Co-authored-by: Noah Gilson <noahgilson@microsoft.com>
Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/*
…4c7-44fc-94e0-8732466c29b2
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The migrated Verify approval tests call the static VerifyMSTest.Verifier.Verify(...) which reads the test context from Verifier.CurrentTestContext. Nothing was wiring that AsyncLocal because no [UsesVerify] marker was present, so the Verify.MSTest source generator never emitted the TestContext property setter that captures it, causing 'TestContext is null' at runtime. Mark BaseIntegrationTest with [UsesVerify] (and make it partial) so the generator emits a sealed override TestContext on it (inherited by every Verify-using test class), and make SdkTest.TestContext virtual so that override is legal. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ease/10.0.3xx-to-release/10.0.4xx # Conflicts: # Directory.Build.props # eng/Versions.props Co-authored-by: SimonZhao888 <133954995+SimonZhao888@users.noreply.github.com>
Co-authored-by: Sam Sandri <samuelsandri@gmail.com>
) Don't let dotnet CLI disable MSBUILDUSESERVER when DOTNET_CLI_USE_MSBUILD_SERVER is unset Previously the CLI unconditionally wrote MSBUILDUSESERVER to "1" or "0" based solely on DOTNET_CLI_USE_MSBUILD_SERVER. When that variable was unset (the default), the host wrote MSBUILDUSESERVER=0, clobbering any value the user had set directly via MSBUILDUSESERVER and forcing the MSBuild server off. Now the CLI only sets MSBUILDUSESERVER=1 when DOTNET_CLI_USE_MSBUILD_SERVER opts in, and otherwise leaves the variable untouched. This lets either variable toggle the MSBuild server on, so a user-provided MSBUILDUSESERVER=1 is honored. Co-authored-by: AR-May <67507805+AR-May@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts: # test/Microsoft.NET.TestFramework.MSTest/SdkTest.cs
MSTest (via the recent testfx bump) now ships its own ArchitectureConditionAttribute, which collides with Microsoft.NET.TestFramework.ArchitectureConditionAttribute and caused CS0104 in TemplateDiscoveryTests. Fully-qualify the attribute to the TestFramework one to preserve existing process-architecture gating behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The testfx bump (#54765) elevated MSTEST0071 to an error under MSTestAnalysisMode=Recommended, breaking main: the dotnet.Tests New post-action tests set [TestMethod(DisplayName = nameof(Method))], which MSTEST0071 flags as redundant. Drop the DisplayName so the display name defaults to the method name. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…4c7-44fc-94e0-8732466c29b2
The VMR codeflow into release/10.0.4xx removes the repo-local Skip on the MauiBlazor HotReload test, but #54150 (HotReload tests should not use stage 2 SDK) is still open and the skip is deliberately maintained on the servicing branch. Re-apply it after the merge, matching the existing 4xx decision. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… Build ID 3006242 (#54695)
…4c7-44fc-94e0-8732466c29b2
…chesRegex order The dotnet-new.IntegrationTests snapshot tests failed under MSTest/MTP with 'System.Exception: TestContext.TestMethod is null' because TemplateVerifier's VerificationEngine always called VerifyXunit.Verifier.VerifyDirectory, which resolves the test method from xUnit's ambient context (unavailable under MSTest). - Add an injectable VerificationEngine.DirectoryVerifier hook (defaults to the xUnit verifier, isolated so Verify.XunitV3 is only loaded when used). - dotnet-new.IntegrationTests sets the hook to VerifyMSTest.Verifier.VerifyDirectory via a module initializer; the Verify.MSTest [UsesVerify] generator captures the MSTest TestContext, so the directory verifier resolves the active test. - Fix FileRenameTests: Assert.MatchesRegex takes (pattern, value); the migration had the arguments swapped. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The xUnit->MSTest migration converted Assert.True(lastUpdateDate < File.GetLastWriteTimeUtc(cacheFilePath)) to Assert.IsLessThan(lastUpdateDate, File.GetLastWriteTimeUtc(cacheFilePath)). MSTest's Assert.IsLessThan(upperBound, value) asserts �alue < upperBound, which inverts the original intent and fails on all platforms because the cache file is (correctly) rewritten after lastUpdateDate. Use Assert.IsGreaterThan(lastUpdateDate, ...) so it asserts the file write time is greater than lastUpdateDate. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…-winner # Conflicts: # src/TemplateEngine/Tools/Microsoft.TemplateEngine.Authoring.TemplateVerifier/VerificationEngine.cs
Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/*
The Verify adapters (VerifyMSTest/VerifyXunit Verifier.VerifyDirectory) return SettingsTask, which is a VerifyTests class that does not derive from Task. Method-group-to-delegate conversion requires return-type identity/covariance, so assigning these method groups to a Task-returning delegate failed with CS0407. Align the delegate and DefaultVerifyDirectory return types with SettingsTask (matching main's prior field type). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tingsTask return Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…le output The dotnet CLI writes UTF-8 to stdout. The test framework decodes captured child-process output using Console.OutputEncoding when no explicit StandardOutputEncoding is set. The old xUnit/VSTest host ran with a UTF-8 console; the Microsoft.Testing.Platform .NET host does not, so localized German output was decoded with the OEM code page (CP850) and corrupted, failing the SkipsLocalizationOnInstantiate_* assertions. Set Console.OutputEncoding to UTF-8 in the module initializer to restore correct decoding. Verified by experiment that CP850 reproduces the exact mojibake and UTF-8 fixes it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolve the 27 codeflow merge conflicts between release/10.0.4xx and main: - Dependency files: take main's newer MSTest.Sdk + VersionFeature100. - Workload elevate (security): combine 4xx's --client-temp path-validation feature with main's refactors (inverted Windows guard + #if TARGET_WINDOWS; System.Text.Json source-gen in MsiPackageCache reading the validated fullManifestPath; Environment.ProcessPath null-check passing --client-temp). - Logger arguments: LoggerUtility keeps the union of both APIs (main's IsTerminalLoggerArgument + 4xx's SeparateLoggerArguments/parser), since the merged tree has callers of both; DotNetCommandFactory keeps main's RuntimeFeature.IsDynamicCodeSupported guard using 4xx's loggerArgs. - OverlaySdkOnLKG.targets: take main's DotNetTool property casing. - Localization: resolve the 13 CliCommandStrings.*.xlf and regenerate via /t:UpdateXlf (new logger strings marked state=new for translation). - Tests: resolve across the xUnit->MSTest migration. Port 4xx's new logger tests into MSTest. In RunFileTests_General, ExtraArgWithFileEntryPoint_Warns keeps 4xx's signature/rows because the merged logger feature makes -consoleLoggerParameters a recognized arg (main's row would now fail). Files that git auto-merged without conflict but did not compile together (InstallerBase nullable, WindowsInstallerTests xUnit/MSTest mix, and stray xUnit leftovers in RunFileTests_General) are fixed in the follow-up commit. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
These files were auto-merged by git without conflict markers, but the combination did not compile and required manual fixes: - InstallerBase.cs: TrustedClientTempDirectory (added by 4xx) is non-nullable but uninitialized, which is CS8618 under main's <Nullable>enable</Nullable>. Make it 'string?' (matches its own doc-comment "null if not supplied"). - WindowsInstallerTests.cs: both branches modified this file; the text-merge interleaved main's MSTest tests with 4xx's xUnit security tests into one uncompilable file. Convert the 4xx constructs to MSTest ([WindowsOnlyFact/Theory] -> [TestMethod] + [OSCondition(Windows)], [InlineData] -> [DataRow], xUnit Assert.* -> MSTest Assert.*). The xUnit predicate-form Assert.DoesNotContain has no MSTest overload, so it is rewritten as a local bool + Assert.IsFalse (avoids analyzer MSTEST0037). - RunFileTests_General.cs: two tests in clean-merged regions still used xUnit [Fact] and the instance _testAssetsManager; convert to [TestMethod] and the static TestAssetsManager used elsewhere in the (now MSTest) file. After this commit, src/Cli/dotnet/dotnet.csproj and test/dotnet.Tests/dotnet.Tests.csproj both build with 0 warnings / 0 errors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The merge kept 4xx's unconditional 'using Microsoft.DotNet.Cli.Installer.Windows;' (4xx used a runtime OperatingSystem.IsWindows() check, so its Installer.Windows code compiled on all platforms). main instead guards that code with #if TARGET_WINDOWS and the Installer.Windows namespace is excluded on non-Windows builds. Since InstallerBase is only referenced inside #if TARGET_WINDOWS, wrap the using in the same guard so non-Windows (linux/macOS/AoT) builds don't fail with CS0234. Validated with a TargetOS=linux compile. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Versions.props - eng/common/* - CODEOWNERS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I detected changes in the main branch which have not been merged yet to release/dnup. I'm a robot and am configured to help you automatically keep release/dnup up to date, so I've opened this PR.
This PR merges commits made on main by the following committers:
Instructions for merging from UI
This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.
If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.
Instructions for merging via command line
Run these commands to merge this pull request from the command line.
or if you are using SSH
After PR checks are complete push the branch
Instructions for resolving conflicts
Instructions for updating this pull request
Contributors to this repo have permission update this pull request by pushing to the branch 'merge/main-to-release/dnup'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.
The provided examples assume that the remote is named 'origin'. If you have a different remote name, please replace 'origin' with the name of your remote.
or if you are using SSH
Contact .NET Core Engineering (dotnet/dnceng) if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.