From ced00189ea209bfba8f5c39735767495c47642f6 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Fri, 13 Mar 2026 14:17:34 -0500 Subject: [PATCH 001/137] Quote arguments to [MSBuild]::MakeRelative Fix #53385 by quoting file-path arguments so any commas within the paths do not leak into MSBuild's understanding of the arguments to the property function. --- .../targets/Microsoft.NET.Publish.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets index eef7ac8c0b80..07ea328b4bb0 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets +++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets @@ -848,7 +848,7 @@ Copyright (c) .NET Foundation. All rights reserved. %(Content.TargetPath) %(Content.Link) - $([MSBuild]::MakeRelative($(MSBuildProjectDirectory), %(Content.FullPath))) + $([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '%(Content.FullPath)')) From 3f2519ffdad03208fb640897aa65132a9af2ef09 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Mar 2026 17:24:56 +0000 Subject: [PATCH 002/137] Port PR #52743: Remove ResolverTargetFramework and ToolsetTargetFramework, use SdkTargetFramework directly Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com> --- Directory.Build.props | 4 --- .../Microsoft.DotNet.Cli.Utils.csproj | 2 +- .../Microsoft.DotNet.Cli.Utils/Polyfills.cs | 2 +- ...initions.cs => netframeworkDefinitions.cs} | 0 src/Layout/redist/targets/Crossgen.targets | 2 +- .../Microsoft.DotNet.TemplateLocator.csproj | 4 +-- .../Microsoft.DotNet.NativeWrapper.csproj | 2 +- .../Microsoft.DotNet.SdkResolver.csproj | 4 +-- ....NET.Sdk.WorkloadMSBuildSdkResolver.csproj | 2 +- ...soft.NET.Sdk.WorkloadManifestReader.csproj | 2 +- .../Tasks/Data/StaticWebAsset.cs | 2 +- .../Tasks/Data/StaticWebAssetEndpoint.cs | 4 +-- .../Data/StaticWebAssetEndpointProperty.cs | 2 +- .../StaticWebAssetEndpointResponseHeader.cs | 2 +- .../Publish/Tasks/MsDeploy/CommonUtility.cs | 32 +++++++++---------- .../Publish/Tasks/MsDeploy/DynamicAssembly.cs | 8 ++--- .../Tasks/MsDeploy/VsMSDeployObject.cs | 4 +-- .../Tasks/MsDeploy/CreateManifestFile.cs | 2 +- .../Tasks/MsDeploy/CreateParameterFile.cs | 2 +- .../Publish/Tasks/Tasks/MsDeploy/MSDeploy.cs | 4 +-- .../Tasks/Tasks/MsDeploy/VsMsdeploy.cs | 16 +++++----- .../ArgumentForwarding.Tests.csproj | 2 +- .../ArgumentsReflector.csproj | 2 +- test/EndToEnd.Tests/EndToEnd.Tests.csproj | 2 +- ...t.DotNet.ApiCompat.IntegrationTests.csproj | 4 +-- .../Microsoft.DotNet.ApiCompat.Tests.csproj | 6 ++-- ...osoft.DotNet.ApiCompatibility.Tests.csproj | 4 +-- .../Microsoft.DotNet.ApiDiff.Tests.csproj | 2 +- ...ft.DotNet.ApiSymbolExtensions.Tests.csproj | 4 +-- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 2 +- .../Microsoft.DotNet.GenAPI.Tests.csproj | 4 +-- ...crosoft.DotNet.PackageInstall.Tests.csproj | 2 +- ...soft.DotNet.PackageValidation.Tests.csproj | 4 +-- ...rosoft.DotNet.TemplateLocator.Tests.csproj | 8 ++--- ...t.DotNet.Tools.Tests.ComponentMocks.csproj | 2 +- ...crosoft.NET.Sdk.Publish.Tasks.Tests.csproj | 6 ++-- ...ET.Sdk.WorkloadManifestReader.Tests.csproj | 6 ++-- .../Microsoft.Win32.Msi.Manual.Tests.csproj | 4 +-- .../Microsoft.Win32.Msi.Tests.csproj | 6 ++-- .../Msbuild.Tests.Utilities.csproj | 2 +- test/SDDLTests/SDDLTests.csproj | 4 +-- .../dotnet-new.IntegrationTests.csproj | 2 +- .../dotnet-watch-test-browser.csproj | 2 +- .../dotnet-watch.Tests.csproj | 2 +- test/dotnet.Tests/dotnet.Tests.csproj | 2 +- .../msbuild.Integration.Tests.csproj | 2 +- test/sdk-tasks.Tests/sdk-tasks.Tests.csproj | 6 ++-- .../trustedroots.Tests.csproj | 2 +- 48 files changed, 96 insertions(+), 100 deletions(-) rename src/Containers/Microsoft.NET.Build.Containers/{net472Definitions.cs => netframeworkDefinitions.cs} (100%) diff --git a/Directory.Build.props b/Directory.Build.props index 7816170a7988..075acf2ffa0c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -50,13 +50,9 @@ net10.0 $(NetCurrent) - $(SdkTargetFramework) net9.0 net472 - - $(SdkTargetFramework) - diff --git a/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index 211355e6cfdf..ff5e9271dda7 100644 --- a/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -1,6 +1,6 @@  - $(ResolverTargetFramework);net472 + $(SdkTargetFramework);net472 true MicrosoftAspNetCore true diff --git a/src/Cli/Microsoft.DotNet.Cli.Utils/Polyfills.cs b/src/Cli/Microsoft.DotNet.Cli.Utils/Polyfills.cs index 59668dbae394..af29e1721a34 100644 --- a/src/Cli/Microsoft.DotNet.Cli.Utils/Polyfills.cs +++ b/src/Cli/Microsoft.DotNet.Cli.Utils/Polyfills.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -#if NET472 +#if NETFRAMEWORK #pragma warning disable IDE0130 // Namespace does not match folder structure namespace System.Runtime.CompilerServices { diff --git a/src/Containers/Microsoft.NET.Build.Containers/net472Definitions.cs b/src/Containers/Microsoft.NET.Build.Containers/netframeworkDefinitions.cs similarity index 100% rename from src/Containers/Microsoft.NET.Build.Containers/net472Definitions.cs rename to src/Containers/Microsoft.NET.Build.Containers/netframeworkDefinitions.cs diff --git a/src/Layout/redist/targets/Crossgen.targets b/src/Layout/redist/targets/Crossgen.targets index 3e07f481af11..f28b268274c6 100644 --- a/src/Layout/redist/targets/Crossgen.targets +++ b/src/Layout/redist/targets/Crossgen.targets @@ -66,7 +66,7 @@ - + diff --git a/src/Microsoft.DotNet.TemplateLocator/Microsoft.DotNet.TemplateLocator.csproj b/src/Microsoft.DotNet.TemplateLocator/Microsoft.DotNet.TemplateLocator.csproj index 9e78f55cad3c..9b652c8cbf84 100644 --- a/src/Microsoft.DotNet.TemplateLocator/Microsoft.DotNet.TemplateLocator.csproj +++ b/src/Microsoft.DotNet.TemplateLocator/Microsoft.DotNet.TemplateLocator.csproj @@ -1,10 +1,10 @@  - $(ResolverTargetFramework);net472 + $(SdkTargetFramework);net472 - $(ResolverTargetFramework) + $(SdkTargetFramework) MicrosoftAspNetCore true diff --git a/src/Resolvers/Microsoft.DotNet.NativeWrapper/Microsoft.DotNet.NativeWrapper.csproj b/src/Resolvers/Microsoft.DotNet.NativeWrapper/Microsoft.DotNet.NativeWrapper.csproj index f39d5b24e2c2..ec780cd24208 100644 --- a/src/Resolvers/Microsoft.DotNet.NativeWrapper/Microsoft.DotNet.NativeWrapper.csproj +++ b/src/Resolvers/Microsoft.DotNet.NativeWrapper/Microsoft.DotNet.NativeWrapper.csproj @@ -1,7 +1,7 @@  - $(ResolverTargetFramework);net472 + $(SdkTargetFramework);net472 diff --git a/src/Resolvers/Microsoft.DotNet.SdkResolver/Microsoft.DotNet.SdkResolver.csproj b/src/Resolvers/Microsoft.DotNet.SdkResolver/Microsoft.DotNet.SdkResolver.csproj index 3de0d9656c3f..bab77ee1d360 100644 --- a/src/Resolvers/Microsoft.DotNet.SdkResolver/Microsoft.DotNet.SdkResolver.csproj +++ b/src/Resolvers/Microsoft.DotNet.SdkResolver/Microsoft.DotNet.SdkResolver.csproj @@ -1,10 +1,10 @@  - $(ResolverTargetFramework);net472 + $(SdkTargetFramework);net472 - $(ResolverTargetFramework) + $(SdkTargetFramework) true Microsoft.DotNet.DotNetSdkResolver diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.csproj b/src/Resolvers/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.csproj index 5e0bdda9834a..d6532a3bdd7c 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.csproj +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.csproj @@ -1,7 +1,7 @@  - $(ResolverTargetFramework) + $(SdkTargetFramework) true diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Microsoft.NET.Sdk.WorkloadManifestReader.csproj b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Microsoft.NET.Sdk.WorkloadManifestReader.csproj index db045f7e4b59..d676c7e0b230 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Microsoft.NET.Sdk.WorkloadManifestReader.csproj +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Microsoft.NET.Sdk.WorkloadManifestReader.csproj @@ -1,7 +1,7 @@  - $(ResolverTargetFramework);net472 + $(SdkTargetFramework);net472 MicrosoftAspNetCore true diff --git a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAsset.cs b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAsset.cs index 60058355f0b6..78966129d04f 100644 --- a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAsset.cs +++ b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAsset.cs @@ -752,7 +752,7 @@ public void Normalize() // * Appends a trailing directory separator at the end. public static string NormalizeContentRootPath(string path) => Path.GetFullPath(path) + - // We need to do .ToString because there is no EndsWith overload for chars in .net472 + // We need to do .ToString because there is no EndsWith overload for chars in .NET Framework (path.EndsWith(Path.DirectorySeparatorChar.ToString()), path.EndsWith(Path.AltDirectorySeparatorChar.ToString())) switch { (true, _) => "", diff --git a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpoint.cs b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpoint.cs index 80cfe3b4c417..a101abad250d 100644 --- a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpoint.cs +++ b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpoint.cs @@ -237,7 +237,7 @@ public bool Equals(StaticWebAssetEndpoint other) => other is not null && Route = public override int GetHashCode() { -#if NET472_OR_GREATER +#if NETFRAMEWORK var hashCode = -604019124; hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Route); hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(AssetFile); @@ -403,7 +403,7 @@ public bool Equals(StaticWebAssetEndpoint x, StaticWebAssetEndpoint y) public int GetHashCode(StaticWebAssetEndpoint obj) { -#if NET472_OR_GREATER +#if NETFRAMEWORK var hashCode = -604019124; hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(obj.Route); hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(obj.AssetFile); diff --git a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointProperty.cs b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointProperty.cs index 5110d7e36d54..9c308d451a68 100644 --- a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointProperty.cs +++ b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointProperty.cs @@ -41,7 +41,7 @@ public bool Equals(StaticWebAssetEndpointProperty other) => public override int GetHashCode() { -#if NET472_OR_GREATER +#if NETFRAMEWORK var hashCode = -244751520; hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Name); hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Value); diff --git a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointResponseHeader.cs b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointResponseHeader.cs index 8ca2af0a1f5b..232065651ec2 100644 --- a/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointResponseHeader.cs +++ b/src/StaticWebAssetsSdk/Tasks/Data/StaticWebAssetEndpointResponseHeader.cs @@ -36,7 +36,7 @@ public bool Equals(StaticWebAssetEndpointResponseHeader other) => string.Equals( public override int GetHashCode() { -#if NET472_OR_GREATER +#if NETFRAMEWORK var hashCode = -244751520; hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Name); hashCode = hashCode * -1521134295 + EqualityComparer.Default.GetHashCode(Value); diff --git a/src/WebSdk/Publish/Tasks/MsDeploy/CommonUtility.cs b/src/WebSdk/Publish/Tasks/MsDeploy/CommonUtility.cs index 1a78ef754d58..78f5d8e45851 100644 --- a/src/WebSdk/Publish/Tasks/MsDeploy/CommonUtility.cs +++ b/src/WebSdk/Publish/Tasks/MsDeploy/CommonUtility.cs @@ -339,7 +339,7 @@ public static StringBuilder CleanStringBuilder } } -#if NET472 +#if NETFRAMEWORK /// /// Return the current machine's IIS version /// @@ -440,7 +440,7 @@ public static bool CheckMSDeploymentVersion(Utilities.TaskLoggingHelper log, out /// public static void SaveDocument(XmlDocument document, string outputFileName, Encoding encode) { -#if NET472 +#if NETFRAMEWORK XmlTextWriter textWriter = new(outputFileName, encode) { Formatting = Formatting.Indented @@ -487,7 +487,7 @@ private static bool CheckMSDeploymentVersion() currentMinVersion = new Version(7, 1, 614); // current drop { string strMinimumVersion = string.Empty; -#if NET472 +#if NETFRAMEWORK using (Win32.RegistryKey registryKeyVs = Win32.Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio\11.0\WebDeploy")) { if (registryKeyVs != null) @@ -544,7 +544,7 @@ private static bool CheckMSDeploymentVersion() } else { -#if NET472 +#if NETFRAMEWORK _strErrorMessage = string.Format(CultureInfo.CurrentCulture, Resources.VSMSDEPLOY_MSDEPLOYLOADFAIL, Resources.VSMSDEPLOY_MSDEPLOY32bit, Resources.VSMSDEPLOY_MSDEPLOY64bit, @@ -561,7 +561,7 @@ private static bool CheckMSDeploymentVersion() } } -#if NET472 +#if NETFRAMEWORK /// /// Return a search path for the data /// @@ -605,7 +605,7 @@ internal static void BuildArgumentsBaseOnEnumTypeName(Framework.ITaskItem item, if (!string.IsNullOrEmpty(data)) { string valueData = PutValueInQuote(data, valueQuote); -#if NET472 +#if NETFRAMEWORK arguments.Add(string.Concat(enumName.ToLower(CultureInfo.InvariantCulture), "=", valueData)); #else arguments.Add(string.Concat(enumName.ToLower(), "=", valueData)); @@ -684,7 +684,7 @@ public static void MsDeployExeEndOfExecuteMessage(bool bSuccess, string destType string[] ArchiveDirOnly = new string[] { MSDeploy.Provider.ArchiveDir }; if (bSuccess) { -#if NET472 +#if NETFRAMEWORK if (IsOneOf(destType, packageArchivedir, StringComparison.InvariantCultureIgnoreCase)) #else if (IsOneOf(destType, packageArchivedir, StringComparison.OrdinalIgnoreCase)) @@ -695,7 +695,7 @@ public static void MsDeployExeEndOfExecuteMessage(bool bSuccess, string destType string dir = Path.GetDirectoryName(destRoot) ?? string.Empty; string dirUri = ConvertAbsPhysicalPathToAbsUriPath(dir); -#if NET472 +#if NETFRAMEWORK if (IsOneOf(destType, ArchiveDirOnly, StringComparison.InvariantCultureIgnoreCase)) #else if (IsOneOf(destType, ArchiveDirOnly, StringComparison.OrdinalIgnoreCase)) @@ -712,7 +712,7 @@ public static void MsDeployExeEndOfExecuteMessage(bool bSuccess, string destType } else { -#if NET472 +#if NETFRAMEWORK if (IsOneOf(destType, packageArchivedir, StringComparison.InvariantCultureIgnoreCase)) #else if (IsOneOf(destType, packageArchivedir, StringComparison.OrdinalIgnoreCase)) @@ -745,7 +745,7 @@ public static void MsDeployEndOfExecuteMessage(bool bSuccess, string destType, s // Deployment.DeploymentWellKnownProvider wellKnownProvider = Deployment.DeploymentWellKnownProvider.Unknown; Type? DeploymentWellKnownProviderType = MSWebDeploymentAssembly.DynamicAssembly?.GetType(MSDeploy.TypeName.DeploymentWellKnownProvider); dynamic? wellKnownProvider = MSWebDeploymentAssembly.DynamicAssembly?.GetEnumValue(MSDeploy.TypeName.DeploymentWellKnownProvider, "Unknown"); -#if NET472 +#if NETFRAMEWORK if (string.Compare(destType, MSDeploy.Provider.DbDacFx, StringComparison.InvariantCultureIgnoreCase) != 0) #else if (string.Compare(destType, MSDeploy.Provider.DbDacFx, StringComparison.OrdinalIgnoreCase) != 0) @@ -1337,7 +1337,7 @@ public static string DumpITaskItem(Framework.ITaskItem iTaskItem) public static bool IsDeploymentWellKnownProvider(string strProvider) { -#if NET472 +#if NETFRAMEWORK if (string.Compare(strProvider, MSDeploy.Provider.DbDacFx, StringComparison.InvariantCultureIgnoreCase) == 0) #else if (string.Compare(strProvider, MSDeploy.Provider.DbDacFx, StringComparison.OrdinalIgnoreCase) == 0) @@ -1513,7 +1513,7 @@ static int ContainMsdeployFwlink(string errorMessage, out string? provider) internal static bool IsType(Type type, Type? checkType) { -#if NET472 +#if NETFRAMEWORK if (checkType != null && (type == checkType || type.IsSubclassOf(checkType))) { return true; @@ -1566,7 +1566,7 @@ internal static void LogVsMsDeployException(Utilities.TaskLoggingHelper Log, Exc lastDeploymentException = rootException; } -#if NET472 +#if NETFRAMEWORK bool isWebException = rootException is System.Net.WebException; if (isWebException) { @@ -1820,7 +1820,7 @@ internal static void SetupMSWebDeployDynamicAssemblies(string? strVersionsToTry, MSWebDeploymentAssembly.SetVersion(version); Version webDelegationAssemblyVersion = version; -#if NET472 +#if NETFRAMEWORK if (MSWebDeploymentAssembly.DynamicAssembly != null && MSWebDeploymentAssembly.DynamicAssembly.Assembly != null) { foreach (AssemblyName assemblyName in MSWebDeploymentAssembly.DynamicAssembly.Assembly.GetReferencedAssemblies()) @@ -1894,7 +1894,7 @@ internal static void SetupMSWebDeployDynamicAssemblies(string? strVersionsToTry, /// public static string? GetFullUserAgentString(string? userAgent) { -#if NET472 +#if NETFRAMEWORK if(string.IsNullOrEmpty(userAgent)) return null; try @@ -1920,7 +1920,7 @@ internal static class ItemFilter public static bool ItemFilterPipelineMetadata(Framework.ITaskItem item, string metadataName, string metadataValue, bool fIgnoreCase) { -#if NET472 +#if NETFRAMEWORK return (string.Compare(item.GetMetadata(metadataName), metadataValue, fIgnoreCase, CultureInfo.InvariantCulture) == 0); #else return (string.Compare(item.GetMetadata(metadataName), metadataValue, fIgnoreCase) == 0); diff --git a/src/WebSdk/Publish/Tasks/MsDeploy/DynamicAssembly.cs b/src/WebSdk/Publish/Tasks/MsDeploy/DynamicAssembly.cs index 6c99f9d51d06..dfa0b25e555e 100644 --- a/src/WebSdk/Publish/Tasks/MsDeploy/DynamicAssembly.cs +++ b/src/WebSdk/Publish/Tasks/MsDeploy/DynamicAssembly.cs @@ -12,7 +12,7 @@ internal class DynamicAssembly public DynamicAssembly(string assemblyName, Version verToLoad, string publicKeyToken) { AssemblyFullName = string.Format(System.Globalization.CultureInfo.CurrentCulture, "{0}, Version={1}.{2}.0.0, Culture=neutral, PublicKeyToken={3}", assemblyName, verToLoad.Major, verToLoad.Minor, publicKeyToken); -#if NET472 +#if NETFRAMEWORK bool isAssemblyLoaded = false; try { @@ -32,7 +32,7 @@ public DynamicAssembly(string assemblyName, Version verToLoad, string publicKeyT Version = verToLoad; } -#if NET472 +#if NETFRAMEWORK public static string TaskAssemblyDirectory { get @@ -133,7 +133,7 @@ public bool TryGetEnumValue(string enumTypeName, string enumStrValue, out object return createdObject; } -#if NET472 +#if NETFRAMEWORK public object? CallStaticMethod(string typeName, string methodName, object[] arguments) { Type? t = GetType(typeName); @@ -163,7 +163,7 @@ public bool TryGetEnumValue(string enumTypeName, string enumStrValue, out object MethodCallExpression body = Expression.Call(Expression.Constant(d), invokeMethod, parameters); var lambda = Expression.Lambda(body, parameters); // Diagnostics.Debug.Assert(false, lambda.ToString()); -#if NET472 +#if NETFRAMEWORK return Delegate.CreateDelegate(handlerType, lambda.Compile(), "Invoke", false); #else return null; diff --git a/src/WebSdk/Publish/Tasks/MsDeploy/VsMSDeployObject.cs b/src/WebSdk/Publish/Tasks/MsDeploy/VsMSDeployObject.cs index 33dca06a48e3..a49234edf7a0 100644 --- a/src/WebSdk/Publish/Tasks/MsDeploy/VsMSDeployObject.cs +++ b/src/WebSdk/Publish/Tasks/MsDeploy/VsMSDeployObject.cs @@ -231,7 +231,7 @@ public VSMSDeployObject(string provider, string root) // maybe we should show the "secure data to display" // for now just suppress it. -#if NET472 +#if NETFRAMEWORK if (0 == string.Compare(m_provider, MSWebDeploymentAssembly.DynamicAssembly?.GetEnumValue(MSDeploy.TypeName.DeploymentWellKnownProvider, MSDeploy.Provider.DBFullSql)?.ToString(), StringComparison.InvariantCultureIgnoreCase) || 0 == string.Compare(m_provider, MSDeploy.Provider.DbDacFx , StringComparison.InvariantCultureIgnoreCase)) m_fNoDisplayRoot = true; @@ -555,7 +555,7 @@ public void ResetBaseOptions() public void SyncTo(VSMSDeployObject destObject, /*VSMSDeploySyncOption*/ dynamic syncOptions, IVSMSDeployHost _host) { -#if NET472 +#if NETFRAMEWORK //$BUGBUG lmchen, there is only set to source provider? // set up the provider setting /*Deployment.DeploymentProviderOptions*/ diff --git a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateManifestFile.cs b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateManifestFile.cs index 73cea04ee17d..8451519fe87a 100644 --- a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateManifestFile.cs +++ b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateManifestFile.cs @@ -110,7 +110,7 @@ public override bool Execute() WriteManifestsToFile(Log, m_manifests, ManifestFile); } } -#if NET472 +#if NETFRAMEWORK catch (Xml.XmlException ex) { Uri sourceUri = new(ex.SourceUri); diff --git a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateParameterFile.cs b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateParameterFile.cs index 7205f19029b8..11e01a0d52eb 100644 --- a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateParameterFile.cs +++ b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/CreateParameterFile.cs @@ -307,7 +307,7 @@ public override bool Execute() } } } -#if NET472 +#if NETFRAMEWORK catch (Xml.XmlException ex) { Uri sourceUri = new(ex.SourceUri); diff --git a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/MSDeploy.cs b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/MSDeploy.cs index 0f703a82678f..b61a8d15e1bd 100644 --- a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/MSDeploy.cs +++ b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/MSDeploy.cs @@ -225,7 +225,7 @@ public string? ExePath { get { -#if NET472 +#if NETFRAMEWORK if (string.IsNullOrEmpty(m_exePath)) { // if path is not set, we optimize to latest version of msdeploy @@ -796,7 +796,7 @@ public static void AddSetParametersToObject(Utilities.CommandLineBuilder command Utility.BuildArgumentsBaseOnEnumTypeName(item, arguments, typeof(ExistingDeclareParameterMetadata), valueQuote); if (arguments.Count > 0 && !string.IsNullOrEmpty(data)) { -#if NET472 +#if NETFRAMEWORK arguments.Add(string.Concat(ExistingSyncParameterMetadata.Value.ToString().ToLower(CultureInfo.InvariantCulture), "=", Utility.PutValueInQuote(data, valueQuote))); #else diff --git a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/VsMsdeploy.cs b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/VsMsdeploy.cs index ede99a2cbe10..cccd735c2c6f 100644 --- a/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/VsMsdeploy.cs +++ b/src/WebSdk/Publish/Tasks/Tasks/MsDeploy/VsMsdeploy.cs @@ -166,7 +166,7 @@ private bool CancelCallback() if (_option == null) { object? option = MSWebDeploymentAssembly.DynamicAssembly?.CreateObject("Microsoft.Web.Deployment.DeploymentSyncOptions"); -#if NET472 +#if NETFRAMEWORK Type? deploymentCancelCallbackType = MSWebDeploymentAssembly.DynamicAssembly?.GetType("Microsoft.Web.Deployment.DeploymentCancelCallback"); object cancelCallbackDelegate = Delegate.CreateDelegate(deploymentCancelCallbackType, this, "CancelCallback"); @@ -180,7 +180,7 @@ private bool CancelCallback() return _option; } -#if NET472 +#if NETFRAMEWORK private Dictionary? _highImportanceEventTypes = null; private Dictionary GetHighImportanceEventTypes() { @@ -204,7 +204,7 @@ void TraceEventHandlerDynamic(object sender, dynamic e) // throw new System.NotImplementedException(); string msg = e.Message; Diagnostics.Trace.WriteLine("MSDeploy TraceEvent Handler is called with " + msg); -#if NET472 +#if NETFRAMEWORK LogTrace(e, GetHighImportanceEventTypes()); #endif //try @@ -329,7 +329,7 @@ public static BaseMSDeployDriver CreateBaseMSDeployDriver( /// We create CustomBuildWithPropertiesEventArgs is for the purpose of logging verious information /// in a IDictionary such that the MBuild handler can handle generically. /// -#if NET472 +#if NETFRAMEWORK [Serializable] #endif public class CustomBuildWithPropertiesEventArgs : CustomBuildEventArgs, Collections.IDictionary @@ -447,7 +447,7 @@ protected override void BeforeSync() // Utility function to log all public instance property to CustomerBuildEventArgs private static void AddAllPropertiesToCustomBuildWithPropertyEventArgs(ExtendedCustomBuildEventArgs cbpEventArg, object obj) { -#if NET472 +#if NETFRAMEWORK if (obj != null) { Type thisType = obj.GetType(); @@ -776,7 +776,7 @@ private bool AllowUntrustedCertCallback(object sp, } private void SetupPublishRelatedProperties(ref VSMSDeployObject dest) { -#if NET472 +#if NETFRAMEWORK if (AllowUntrustedCertificate) { System.Net.ServicePointManager.ServerCertificateValidationCallback @@ -885,7 +885,7 @@ public override bool Execute() } finally { -#if NET472 +#if NETFRAMEWORK if (AllowUntrustedCertificate) System.Net.ServicePointManager.ServerCertificateValidationCallback @@ -1089,7 +1089,7 @@ public void Cancel() public object? GetProperty(string propertyName) { -#if NET472 +#if NETFRAMEWORK string lowerName = propertyName.ToLower(System.Globalization.CultureInfo.InvariantCulture); #else string lowerName = propertyName.ToLower(); diff --git a/test/ArgumentForwarding.Tests/ArgumentForwarding.Tests.csproj b/test/ArgumentForwarding.Tests/ArgumentForwarding.Tests.csproj index fb2419eebf04..2cf683724c71 100644 --- a/test/ArgumentForwarding.Tests/ArgumentForwarding.Tests.csproj +++ b/test/ArgumentForwarding.Tests/ArgumentForwarding.Tests.csproj @@ -1,7 +1,7 @@  - $(ToolsetTargetFramework) + $(SdkTargetFramework) Exe false true diff --git a/test/ArgumentsReflector/ArgumentsReflector.csproj b/test/ArgumentsReflector/ArgumentsReflector.csproj index d34fdf938aa6..fadc4185321c 100644 --- a/test/ArgumentsReflector/ArgumentsReflector.csproj +++ b/test/ArgumentsReflector/ArgumentsReflector.csproj @@ -1,7 +1,7 @@  - $(ToolsetTargetFramework) + $(SdkTargetFramework) Exe diff --git a/test/EndToEnd.Tests/EndToEnd.Tests.csproj b/test/EndToEnd.Tests/EndToEnd.Tests.csproj index 6dbf926e6108..505e8f4b0633 100644 --- a/test/EndToEnd.Tests/EndToEnd.Tests.csproj +++ b/test/EndToEnd.Tests/EndToEnd.Tests.csproj @@ -6,7 +6,7 @@ - $(ToolsetTargetFramework) + $(SdkTargetFramework) Exe false diff --git a/test/Microsoft.DotNet.ApiCompat.IntegrationTests/Microsoft.DotNet.ApiCompat.IntegrationTests.csproj b/test/Microsoft.DotNet.ApiCompat.IntegrationTests/Microsoft.DotNet.ApiCompat.IntegrationTests.csproj index 48ca6c84d0de..8c17bb602b57 100644 --- a/test/Microsoft.DotNet.ApiCompat.IntegrationTests/Microsoft.DotNet.ApiCompat.IntegrationTests.csproj +++ b/test/Microsoft.DotNet.ApiCompat.IntegrationTests/Microsoft.DotNet.ApiCompat.IntegrationTests.csproj @@ -1,8 +1,8 @@  - $(ToolsetTargetFramework);$(NetFrameworkToolCurrent) - Exe + $(SdkTargetFramework);$(NetFrameworkToolCurrent) + Exe true diff --git a/test/Microsoft.DotNet.ApiCompat.Tests/Microsoft.DotNet.ApiCompat.Tests.csproj b/test/Microsoft.DotNet.ApiCompat.Tests/Microsoft.DotNet.ApiCompat.Tests.csproj index bac201f78cea..27745efcdfef 100644 --- a/test/Microsoft.DotNet.ApiCompat.Tests/Microsoft.DotNet.ApiCompat.Tests.csproj +++ b/test/Microsoft.DotNet.ApiCompat.Tests/Microsoft.DotNet.ApiCompat.Tests.csproj @@ -1,9 +1,9 @@  - $(ToolsetTargetFramework);$(NetFrameworkToolCurrent) - $(ToolsetTargetFramework) - Exe + $(SdkTargetFramework);$(NetFrameworkToolCurrent) + $(SdkTargetFramework) + Exe true diff --git a/test/Microsoft.DotNet.ApiCompatibility.Tests/Microsoft.DotNet.ApiCompatibility.Tests.csproj b/test/Microsoft.DotNet.ApiCompatibility.Tests/Microsoft.DotNet.ApiCompatibility.Tests.csproj index e2c0ccd07842..aa1bdc4bcf96 100644 --- a/test/Microsoft.DotNet.ApiCompatibility.Tests/Microsoft.DotNet.ApiCompatibility.Tests.csproj +++ b/test/Microsoft.DotNet.ApiCompatibility.Tests/Microsoft.DotNet.ApiCompatibility.Tests.csproj @@ -1,8 +1,8 @@  - $(ToolsetTargetFramework);$(NetFrameworkToolCurrent) - Exe + $(SdkTargetFramework);$(NetFrameworkToolCurrent) + Exe true diff --git a/test/Microsoft.DotNet.ApiDiff.Tests/Microsoft.DotNet.ApiDiff.Tests.csproj b/test/Microsoft.DotNet.ApiDiff.Tests/Microsoft.DotNet.ApiDiff.Tests.csproj index 0614262e2f1e..bc07041bee3e 100644 --- a/test/Microsoft.DotNet.ApiDiff.Tests/Microsoft.DotNet.ApiDiff.Tests.csproj +++ b/test/Microsoft.DotNet.ApiDiff.Tests/Microsoft.DotNet.ApiDiff.Tests.csproj @@ -1,7 +1,7 @@ - $(ToolsetTargetFramework) + $(SdkTargetFramework) Exe true diff --git a/test/Microsoft.DotNet.ApiSymbolExtensions.Tests/Microsoft.DotNet.ApiSymbolExtensions.Tests.csproj b/test/Microsoft.DotNet.ApiSymbolExtensions.Tests/Microsoft.DotNet.ApiSymbolExtensions.Tests.csproj index 9cb2cadbe2ed..01067804ffd4 100644 --- a/test/Microsoft.DotNet.ApiSymbolExtensions.Tests/Microsoft.DotNet.ApiSymbolExtensions.Tests.csproj +++ b/test/Microsoft.DotNet.ApiSymbolExtensions.Tests/Microsoft.DotNet.ApiSymbolExtensions.Tests.csproj @@ -1,8 +1,8 @@  - $(ToolsetTargetFramework);$(NetFrameworkToolCurrent) - Exe + $(SdkTargetFramework);$(NetFrameworkToolCurrent) + Exe true diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index 26b3ab5addb4..f1daf8fe9881 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -1,6 +1,6 @@  - $(ToolsetTargetFramework) + $(SdkTargetFramework) Exe MicrosoftAspNetCore diff --git a/test/Microsoft.DotNet.GenAPI.Tests/Microsoft.DotNet.GenAPI.Tests.csproj b/test/Microsoft.DotNet.GenAPI.Tests/Microsoft.DotNet.GenAPI.Tests.csproj index 82da898e0bb7..5fb5b54518a4 100644 --- a/test/Microsoft.DotNet.GenAPI.Tests/Microsoft.DotNet.GenAPI.Tests.csproj +++ b/test/Microsoft.DotNet.GenAPI.Tests/Microsoft.DotNet.GenAPI.Tests.csproj @@ -1,8 +1,8 @@  - $(ToolsetTargetFramework) - Exe + $(SdkTargetFramework) + Exe true diff --git a/test/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj b/test/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj index 83b6439cc8c8..e144b6210c57 100644 --- a/test/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj +++ b/test/Microsoft.DotNet.PackageInstall.Tests/Microsoft.DotNet.PackageInstall.Tests.csproj @@ -7,7 +7,7 @@ - $(ToolsetTargetFramework) + $(SdkTargetFramework) Exe MicrosoftAspNetCore false diff --git a/test/Microsoft.DotNet.PackageValidation.Tests/Microsoft.DotNet.PackageValidation.Tests.csproj b/test/Microsoft.DotNet.PackageValidation.Tests/Microsoft.DotNet.PackageValidation.Tests.csproj index 2d126411c3e6..d9a65ec6e75d 100644 --- a/test/Microsoft.DotNet.PackageValidation.Tests/Microsoft.DotNet.PackageValidation.Tests.csproj +++ b/test/Microsoft.DotNet.PackageValidation.Tests/Microsoft.DotNet.PackageValidation.Tests.csproj @@ -1,8 +1,8 @@  - $(ToolsetTargetFramework);$(NetFrameworkToolCurrent) - Exe + $(SdkTargetFramework);$(NetFrameworkToolCurrent) + Exe true diff --git a/test/Microsoft.DotNet.TemplateLocator.Tests/Microsoft.DotNet.TemplateLocator.Tests.csproj b/test/Microsoft.DotNet.TemplateLocator.Tests/Microsoft.DotNet.TemplateLocator.Tests.csproj index 8875d0f3169b..06cc40d7fe5a 100644 --- a/test/Microsoft.DotNet.TemplateLocator.Tests/Microsoft.DotNet.TemplateLocator.Tests.csproj +++ b/test/Microsoft.DotNet.TemplateLocator.Tests/Microsoft.DotNet.TemplateLocator.Tests.csproj @@ -1,12 +1,12 @@  - net472;$(ToolsetTargetFramework) - $(ToolsetTargetFramework) + net472;$(SdkTargetFramework) + $(SdkTargetFramework) - $(ToolsetTargetFramework) - Exe + $(SdkTargetFramework) + Exe MicrosoftAspNetCore true diff --git a/test/trustedroots.Tests/trustedroots.Tests.csproj b/test/trustedroots.Tests/trustedroots.Tests.csproj index c4fd805c72af..ed864b10bf0b 100644 --- a/test/trustedroots.Tests/trustedroots.Tests.csproj +++ b/test/trustedroots.Tests/trustedroots.Tests.csproj @@ -2,7 +2,7 @@ - $(ToolsetTargetFramework) + $(SdkTargetFramework) Exe false From 95cd079fec40a2091539a8f73fb79484d6d26989 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Mar 2026 18:24:36 +0000 Subject: [PATCH 003/137] Fix: Update Microsoft.NET.Build.Containers.csproj to reference renamed netframeworkDefinitions.cs Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com> --- .../Microsoft.NET.Build.Containers.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj b/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj index d635d1fdfb86..97ff0e7306b9 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj +++ b/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj @@ -77,7 +77,7 @@ - + @@ -87,7 +87,7 @@ - + From f897542a19c0eb71c24d5956add809f7549f0636 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 17 Mar 2026 13:34:44 -0700 Subject: [PATCH 004/137] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../Microsoft.NET.Build.Containers.csproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj b/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj index 97ff0e7306b9..3c4c3d932e9b 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj +++ b/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj @@ -65,8 +65,8 @@ - - + + @@ -84,8 +84,8 @@ - - + + From b476fccbc1f45e13196073341678f9ee295fad05 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 17 Mar 2026 13:53:56 -0700 Subject: [PATCH 005/137] Add test for publishing content with commas in filename This test verifies that Content items with commas in their filenames can be published without triggering MSB4186 due to the comma being interpreted as an argument separator. --- ...GivenThatWeWantToPublishWithIfDifferent.cs | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs index d234ec586284..308844aad8c5 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs @@ -455,5 +455,49 @@ public void It_publishes_content_from_imported_targets_with_correct_path() .Where(f => !f.StartsWith(publishDirectory.FullName)); potentialEscapedFiles.Should().BeEmpty("Content file should not escape to directories outside publish folder"); } + + [Fact] + public void It_publishes_content_with_comma_in_filename() + { + // This test verifies that Content items with commas in their filenames can be published + // without triggering MSB4186 due to the comma being interpreted as an argument separator + // in the [MSBuild]::MakeRelative property function call. + + var testProject = new TestProject() + { + Name = "PublishCommaContent", + TargetFrameworks = ToolsetInfo.CurrentTargetFramework, + IsExe = true + }; + + testProject.SourceFiles["Program.cs"] = "class Program { static void Main() { } }"; + + var testAsset = TestAssetsManager.CreateTestProject(testProject); + + var projectDirectory = Path.Combine(testAsset.Path, testProject.Name); + + // Create a content file with a comma in the filename (e.g., a variable font file) + var contentFileName = "Doto-VariableFont_ROND,wght.ttf"; + var contentFile = Path.Combine(projectDirectory, contentFileName); + File.WriteAllText(contentFile, "fake font content"); + + // Update the project file to include the content file with CopyToPublishDirectory + var projectFile = Path.Combine(projectDirectory, $"{testProject.Name}.csproj"); + var projectContent = File.ReadAllText(projectFile); + projectContent = projectContent.Replace("", @" + + Expand commentComment on line R489Resolved + +"); + File.WriteAllText(projectFile, projectContent); + + var publishCommand = new PublishCommand(testAsset); + var publishResult = publishCommand.Execute(); + + publishResult.Should().Pass(); + + var publishDirectory = publishCommand.GetOutputDirectory(testProject.TargetFrameworks); + publishDirectory.Should().HaveFile(contentFileName); + } } } From 19078f11cca4e1c7d961e0827ec17a5c0f63b25f Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Wed, 18 Mar 2026 11:17:54 -0500 Subject: [PATCH 006/137] Fix assets manager usage --- .../GivenThatWeWantToPublishWithIfDifferent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs index 308844aad8c5..1558c425da4a 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs @@ -472,7 +472,7 @@ public void It_publishes_content_with_comma_in_filename() testProject.SourceFiles["Program.cs"] = "class Program { static void Main() { } }"; - var testAsset = TestAssetsManager.CreateTestProject(testProject); + var testAsset = _testAssetsManager.CreateTestProject(testProject); var projectDirectory = Path.Combine(testAsset.Path, testProject.Name); From 8e08d24b0ef87b3f169916b60a550ef30625aea0 Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Wed, 18 Mar 2026 13:53:42 -0500 Subject: [PATCH 007/137] fix errant raw string in xml code --- .../GivenThatWeWantToPublishWithIfDifferent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs index 1558c425da4a..5b7add2b7e3b 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs @@ -486,7 +486,7 @@ public void It_publishes_content_with_comma_in_filename() var projectContent = File.ReadAllText(projectFile); projectContent = projectContent.Replace("", @" - Expand commentComment on line R489Resolved + "); File.WriteAllText(projectFile, projectContent); From b356f99d83489f5baa2877713aad617693fafec1 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 20 Mar 2026 22:42:36 +0000 Subject: [PATCH 008/137] Update dependencies from build 307126 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26165.110 -> 10.0.0-preview.26170.111) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26165-110 -> 18.3.3-servicing-26170-111) 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.3.0-rc.16610 -> 7.3.0-rc.17111) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26165.110 -> 5.3.0-2.26170.111) 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.26165.110 -> 10.0.0-beta.26170.111) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26165.110 -> 15.2.202-servicing.26170.111) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26165-110 -> 18.3.0-release-26170-111) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26165.110 -> 10.0.202-servicing.26170.111) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 162 insertions(+), 162 deletions(-) diff --git a/NuGet.config b/NuGet.config index b4cefe38af01..2715928474a2 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 7260c61cddad..b1ffc80a0234 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26165.110 + 10.0.0-preview.26170.111 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26165-110 - 7.3.0-rc.16610 + 18.3.3-servicing-26170-111 + 7.3.0-rc.17111 10.0.202 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 10.0.0-preview.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 10.0.0-preview.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26165.110 + 15.2.202-servicing.26170.111 10.0.4 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26165.110 + 10.0.0-preview.26170.111 10.0.4-servicing.26119.110 - 18.3.0-release-26165-110 + 18.3.0-release-26170-111 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26165.110 + 10.0.202-servicing.26170.111 10.0.202 - 10.0.202-servicing.26165.110 + 10.0.202-servicing.26170.111 10.0.202 10.0.202 - 10.0.202-servicing.26165.110 - 18.3.0-release-26165-110 - 18.3.0-release-26165-110 + 10.0.202-servicing.26170.111 + 18.3.0-release-26170-111 + 18.3.0-release-26170-111 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 654ec7be6ff9..59c1ae513bf1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 115461302edc70fe6e7c8ba73d0b40d328add55c https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 74c305d2ffdd..fe4a62f35fac 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.200", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26165.110", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26165.110", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26170.111", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26170.111", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 5a401fc9a81a0cd5250faac59e276bdc11bbb285 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 23 Mar 2026 03:59:47 +0000 Subject: [PATCH 009/137] Update dependencies from build 307266 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26170.102 -> 10.0.6-servicing.26171.105) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26170.102 -> 10.0.0-preview.26171.105) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26170-102 -> 18.0.11-servicing-26171-105) 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.0.2-rc.17102 -> 7.0.2-rc.17205) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26170.102 -> 5.0.0-2.26171.105) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26170.102 -> 2.0.0-preview.1.26171.105) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26170.102 -> 10.0.0-beta.26171.105) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26170.102 -> 14.0.106-servicing.26171.105) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26170-102 -> 18.0.2-release-26171-105) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26170.102 -> 10.0.106-servicing.26171.105) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 262 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index 67f6bbfd947d..0aaa6a0edb4d 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index caef7dcdb9e2..5d0451894a8e 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26170.102 - 10.0.6-servicing.26170.102 - 10.0.6-servicing.26170.102 - 10.0.6-servicing.26170.102 + 10.0.6-servicing.26171.105 + 10.0.6-servicing.26171.105 + 10.0.6-servicing.26171.105 + 10.0.6-servicing.26171.105 10.0.6 - 10.0.6-servicing.26170.102 + 10.0.6-servicing.26171.105 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26170.102 + 10.0.6-servicing.26171.105 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26170.102 + 10.0.6-servicing.26171.105 10.0.6 - 10.0.6-servicing.26170.102 - 10.0.6-servicing.26170.102 - 10.0.0-preview.26170.102 + 10.0.6-servicing.26171.105 + 10.0.6-servicing.26171.105 + 10.0.0-preview.26171.105 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26170-102 - 7.0.2-rc.17102 + 18.0.11-servicing-26171-105 + 7.0.2-rc.17205 10.0.106 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 10.0.0-preview.26170.102 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 2.0.0-preview.1.26170.102 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 10.0.0-preview.26171.105 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 2.0.0-preview.1.26171.105 2.2.6 - 10.0.0-beta.26170.102 - 10.0.0-beta.26170.102 - 10.0.0-beta.26170.102 - 10.0.0-beta.26170.102 - 10.0.0-beta.26170.102 - 10.0.0-beta.26170.102 + 10.0.0-beta.26171.105 + 10.0.0-beta.26171.105 + 10.0.0-beta.26171.105 + 10.0.0-beta.26171.105 + 10.0.0-beta.26171.105 + 10.0.0-beta.26171.105 10.0.6 10.0.6 - 10.0.6-servicing.26170.102 - 10.0.6-servicing.26170.102 - 10.0.0-beta.26170.102 - 10.0.0-beta.26170.102 + 10.0.6-servicing.26171.105 + 10.0.6-servicing.26171.105 + 10.0.0-beta.26171.105 + 10.0.0-beta.26171.105 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26170.102 + 14.0.106-servicing.26171.105 10.0.6 - 5.0.0-2.26170.102 - 5.0.0-2.26170.102 - 10.0.6-servicing.26170.102 + 5.0.0-2.26171.105 + 5.0.0-2.26171.105 + 10.0.6-servicing.26171.105 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26170.102 - 10.0.6-servicing.26170.102 - 18.0.2-release-26170-102 + 10.0.0-preview.26171.105 + 10.0.6-servicing.26171.105 + 18.0.2-release-26171-105 10.0.6 - 10.0.6-servicing.26170.102 + 10.0.6-servicing.26171.105 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26170.102 + 10.0.106-servicing.26171.105 10.0.106 - 10.0.106-servicing.26170.102 + 10.0.106-servicing.26171.105 10.0.106 10.0.106 - 10.0.106-servicing.26170.102 - 18.0.2-release-26170-102 - 18.0.2-release-26170-102 + 10.0.106-servicing.26171.105 + 18.0.2-release-26171-105 + 18.0.2-release-26171-105 3.2.6 10.0.6 - 10.0.6-servicing.26170.102 + 10.0.6-servicing.26171.105 10.0.6 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 - 7.0.2-rc.17102 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 + 7.0.2-rc.17205 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5e4be31ea477..9e29bd9b6a42 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f - + https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - df857aec34b5feea2cfd528e7a44575aa9f75330 + 6041df6c13c4654878425f69649f6099d0b8d15f diff --git a/global.json b/global.json index ed0007f2d138..e1ef6d38830f 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26170.102", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26170.102", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26171.105", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26171.105", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 5f61638b3b44740deb85a84692945faa8bacf27d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 23 Mar 2026 04:08:43 +0000 Subject: [PATCH 010/137] Update dependencies from build 307268 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26171.105 -> 10.0.6-servicing.26172.102) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26171.105 -> 10.0.0-preview.26172.102) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26171-105 -> 18.0.11-servicing-26172-102) 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.0.2-rc.17205 -> 7.0.2-rc.17302) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26171.105 -> 5.0.0-2.26172.102) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26171.105 -> 2.0.0-preview.1.26172.102) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26171.105 -> 10.0.0-beta.26172.102) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26171.105 -> 14.0.106-servicing.26172.102) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26171-105 -> 18.0.2-release-26172-102) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26171.105 -> 10.0.106-servicing.26172.102) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 262 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index 0aaa6a0edb4d..58b3a032bd8b 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 5d0451894a8e..638639b3f161 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26171.105 - 10.0.6-servicing.26171.105 - 10.0.6-servicing.26171.105 - 10.0.6-servicing.26171.105 + 10.0.6-servicing.26172.102 + 10.0.6-servicing.26172.102 + 10.0.6-servicing.26172.102 + 10.0.6-servicing.26172.102 10.0.6 - 10.0.6-servicing.26171.105 + 10.0.6-servicing.26172.102 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26171.105 + 10.0.6-servicing.26172.102 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26171.105 + 10.0.6-servicing.26172.102 10.0.6 - 10.0.6-servicing.26171.105 - 10.0.6-servicing.26171.105 - 10.0.0-preview.26171.105 + 10.0.6-servicing.26172.102 + 10.0.6-servicing.26172.102 + 10.0.0-preview.26172.102 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26171-105 - 7.0.2-rc.17205 + 18.0.11-servicing-26172-102 + 7.0.2-rc.17302 10.0.106 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 10.0.0-preview.26171.105 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 2.0.0-preview.1.26171.105 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 10.0.0-preview.26172.102 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 2.0.0-preview.1.26172.102 2.2.6 - 10.0.0-beta.26171.105 - 10.0.0-beta.26171.105 - 10.0.0-beta.26171.105 - 10.0.0-beta.26171.105 - 10.0.0-beta.26171.105 - 10.0.0-beta.26171.105 + 10.0.0-beta.26172.102 + 10.0.0-beta.26172.102 + 10.0.0-beta.26172.102 + 10.0.0-beta.26172.102 + 10.0.0-beta.26172.102 + 10.0.0-beta.26172.102 10.0.6 10.0.6 - 10.0.6-servicing.26171.105 - 10.0.6-servicing.26171.105 - 10.0.0-beta.26171.105 - 10.0.0-beta.26171.105 + 10.0.6-servicing.26172.102 + 10.0.6-servicing.26172.102 + 10.0.0-beta.26172.102 + 10.0.0-beta.26172.102 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26171.105 + 14.0.106-servicing.26172.102 10.0.6 - 5.0.0-2.26171.105 - 5.0.0-2.26171.105 - 10.0.6-servicing.26171.105 + 5.0.0-2.26172.102 + 5.0.0-2.26172.102 + 10.0.6-servicing.26172.102 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26171.105 - 10.0.6-servicing.26171.105 - 18.0.2-release-26171-105 + 10.0.0-preview.26172.102 + 10.0.6-servicing.26172.102 + 18.0.2-release-26172-102 10.0.6 - 10.0.6-servicing.26171.105 + 10.0.6-servicing.26172.102 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26171.105 + 10.0.106-servicing.26172.102 10.0.106 - 10.0.106-servicing.26171.105 + 10.0.106-servicing.26172.102 10.0.106 10.0.106 - 10.0.106-servicing.26171.105 - 18.0.2-release-26171-105 - 18.0.2-release-26171-105 + 10.0.106-servicing.26172.102 + 18.0.2-release-26172-102 + 18.0.2-release-26172-102 3.2.6 10.0.6 - 10.0.6-servicing.26171.105 + 10.0.6-servicing.26172.102 10.0.6 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 - 7.0.2-rc.17205 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 + 7.0.2-rc.17302 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9e29bd9b6a42..328c746e07e5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 - + https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - 6041df6c13c4654878425f69649f6099d0b8d15f + 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 diff --git a/global.json b/global.json index e1ef6d38830f..23310fdad516 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26171.105", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26171.105", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26172.102", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26172.102", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 818239ff91948a0b83a3dc1ba3792b1fcfe90df2 Mon Sep 17 00:00:00 2001 From: Noah Gilson Date: Mon, 23 Mar 2026 14:40:23 -0700 Subject: [PATCH 011/137] exclude overlayed targets in the runtime from stage 0 as bad architecture files may get consumed as we auto default to x64 --- src/Layout/redist/targets/OverlaySdkOnLKG.targets | 8 ++++++-- .../src/Microsoft.CodeAnalysis.NetAnalyzers.sarif | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Layout/redist/targets/OverlaySdkOnLKG.targets b/src/Layout/redist/targets/OverlaySdkOnLKG.targets index 54a82b807a82..aca3be5ac7a9 100644 --- a/src/Layout/redist/targets/OverlaySdkOnLKG.targets +++ b/src/Layout/redist/targets/OverlaySdkOnLKG.targets @@ -14,12 +14,16 @@ + Ignore the sdk, templates and host files for which only live built artifacts should be used. + Also exclude stage0 shared frameworks in the current major.minor band that don't match the + built runtime version, as they may have a different architecture than the target. --> <_OverlaySDKFile Include="$(_DotNetHiveRoot)\**\*" Exclude="$(_DotNetHiveRoot)sdk\**\*; $(_DotNetHiveRoot)templates\**\*; - $(_DotNetHiveRoot)host\**\*"/> + $(_DotNetHiveRoot)host\**\*; + $(_DotNetHiveRoot)shared\Microsoft.NETCore.App\$(MajorMinorVersion).*\**\*; + $(_DotNetHiveRoot)shared\Microsoft.AspNetCore.App\$(MajorMinorVersion).*\**\*"/> diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif index 3a511619a536..cf84411022e6 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif @@ -7092,4 +7092,4 @@ } } ] -} +} \ No newline at end of file From 2d70f992ec65f0e3d3c5701a28fcf5bd4ca38130 Mon Sep 17 00:00:00 2001 From: Noah Gilson Date: Mon, 23 Mar 2026 15:53:20 -0700 Subject: [PATCH 012/137] only replace the staged files if the arch mismatches --- .../redist/targets/OverlaySdkOnLKG.targets | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/Layout/redist/targets/OverlaySdkOnLKG.targets b/src/Layout/redist/targets/OverlaySdkOnLKG.targets index aca3be5ac7a9..794048905958 100644 --- a/src/Layout/redist/targets/OverlaySdkOnLKG.targets +++ b/src/Layout/redist/targets/OverlaySdkOnLKG.targets @@ -14,16 +14,12 @@ + Ignore the sdk, templates and host files for which only live built artifacts should be used. --> <_OverlaySDKFile Include="$(_DotNetHiveRoot)\**\*" Exclude="$(_DotNetHiveRoot)sdk\**\*; $(_DotNetHiveRoot)templates\**\*; - $(_DotNetHiveRoot)host\**\*; - $(_DotNetHiveRoot)shared\Microsoft.NETCore.App\$(MajorMinorVersion).*\**\*; - $(_DotNetHiveRoot)shared\Microsoft.AspNetCore.App\$(MajorMinorVersion).*\**\*"/> + $(_DotNetHiveRoot)host\**\*"/> @@ -42,6 +38,22 @@ SkipUnchangedFiles="true" UseHardLinksIfPossible="false" /> + + + <_Stage0NETCoreSharedFxDir Include="$([System.IO.Directory]::GetDirectories('$(TestHostDotNetRoot)shared/Microsoft.NETCore.App', '$(MajorMinorVersion).*'))" /> + <_Stage0NETCoreSharedFxDir Remove="$(TestHostDotNetRoot)shared/Microsoft.NETCore.App/$(MicrosoftNETCoreAppRuntimePackageVersion)" /> + + <_BuiltNETCoreSharedFxFile Include="$(TestHostDotNetRoot)shared/Microsoft.NETCore.App/$(MicrosoftNETCoreAppRuntimePackageVersion)/**/*" /> + + + + From a348c29832e4bb96c72ab779d5719f7757d2d067 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 24 Mar 2026 00:05:10 +0000 Subject: [PATCH 013/137] Update dependencies from build 307387 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26172.102 -> 10.0.6-servicing.26173.108) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26172.102 -> 10.0.0-preview.26173.108) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26172-102 -> 18.0.11-servicing-26173-108) 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.0.2-rc.17302 -> 7.0.2-rc.17408) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26172.102 -> 5.0.0-2.26173.108) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26172.102 -> 2.0.0-preview.1.26173.108) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26172.102 -> 10.0.0-beta.26173.108) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26172.102 -> 14.0.106-servicing.26173.108) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26172-102 -> 18.0.2-release-26173-108) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26172.102 -> 10.0.106-servicing.26173.108) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 262 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index 58b3a032bd8b..a5f6382afb7d 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 638639b3f161..573dce162c82 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26172.102 - 10.0.6-servicing.26172.102 - 10.0.6-servicing.26172.102 - 10.0.6-servicing.26172.102 + 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.108 10.0.6 - 10.0.6-servicing.26172.102 + 10.0.6-servicing.26173.108 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26172.102 + 10.0.6-servicing.26173.108 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26172.102 + 10.0.6-servicing.26173.108 10.0.6 - 10.0.6-servicing.26172.102 - 10.0.6-servicing.26172.102 - 10.0.0-preview.26172.102 + 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.108 + 10.0.0-preview.26173.108 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26172-102 - 7.0.2-rc.17302 + 18.0.11-servicing-26173-108 + 7.0.2-rc.17408 10.0.106 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 10.0.0-preview.26172.102 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 2.0.0-preview.1.26172.102 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 10.0.0-preview.26173.108 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 2.0.0-preview.1.26173.108 2.2.6 - 10.0.0-beta.26172.102 - 10.0.0-beta.26172.102 - 10.0.0-beta.26172.102 - 10.0.0-beta.26172.102 - 10.0.0-beta.26172.102 - 10.0.0-beta.26172.102 + 10.0.0-beta.26173.108 + 10.0.0-beta.26173.108 + 10.0.0-beta.26173.108 + 10.0.0-beta.26173.108 + 10.0.0-beta.26173.108 + 10.0.0-beta.26173.108 10.0.6 10.0.6 - 10.0.6-servicing.26172.102 - 10.0.6-servicing.26172.102 - 10.0.0-beta.26172.102 - 10.0.0-beta.26172.102 + 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.108 + 10.0.0-beta.26173.108 + 10.0.0-beta.26173.108 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26172.102 + 14.0.106-servicing.26173.108 10.0.6 - 5.0.0-2.26172.102 - 5.0.0-2.26172.102 - 10.0.6-servicing.26172.102 + 5.0.0-2.26173.108 + 5.0.0-2.26173.108 + 10.0.6-servicing.26173.108 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26172.102 - 10.0.6-servicing.26172.102 - 18.0.2-release-26172-102 + 10.0.0-preview.26173.108 + 10.0.6-servicing.26173.108 + 18.0.2-release-26173-108 10.0.6 - 10.0.6-servicing.26172.102 + 10.0.6-servicing.26173.108 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26172.102 + 10.0.106-servicing.26173.108 10.0.106 - 10.0.106-servicing.26172.102 + 10.0.106-servicing.26173.108 10.0.106 10.0.106 - 10.0.106-servicing.26172.102 - 18.0.2-release-26172-102 - 18.0.2-release-26172-102 + 10.0.106-servicing.26173.108 + 18.0.2-release-26173-108 + 18.0.2-release-26173-108 3.2.6 10.0.6 - 10.0.6-servicing.26172.102 + 10.0.6-servicing.26173.108 10.0.6 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 - 7.0.2-rc.17302 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 + 7.0.2-rc.17408 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 328c746e07e5..e912555e543a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 - + https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - 8aa2738d3bdb38df89821c66dd8a41b9b73dc174 + ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 diff --git a/global.json b/global.json index 23310fdad516..4adbefa7b9f7 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26172.102", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26172.102", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.108", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.108", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 132fd0148c58cff51b8da30521f6c0edba19abd3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 04:29:08 +0000 Subject: [PATCH 014/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 266 +++++++-------- eng/Version.Details.xml | 673 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 475 insertions(+), 474 deletions(-) diff --git a/NuGet.config b/NuGet.config index a5f6382afb7d..b4cefe38af01 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 573dce162c82..7260c61cddad 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,139 +8,139 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.0-preview.26173.108 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26173-108 - 7.0.2-rc.17408 - 10.0.106 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 10.0.0-preview.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 2.0.0-preview.1.26173.108 - 2.2.6 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26173.108 - 10.0.6 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 10.0.6-servicing.26173.108 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26165.110 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26165-110 + 7.3.0-rc.16610 + 10.0.202 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 10.0.0-preview.26165.110 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26165.110 + 10.0.0-beta.26165.110 + 10.0.0-beta.26165.110 + 10.0.0-beta.26165.110 + 10.0.0-beta.26165.110 + 10.0.0-beta.26165.110 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26165.110 + 10.0.0-beta.26165.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26165.110 + 10.0.4 + 5.3.0-2.26165.110 + 5.3.0-2.26165.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26173.108 - 10.0.6-servicing.26173.108 - 18.0.2-release-26173-108 - 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26173.108 - 10.0.106 - 10.0.106-servicing.26173.108 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26173.108 - 18.0.2-release-26173-108 - 18.0.2-release-26173-108 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26165.110 + 10.0.4-servicing.26119.110 + 18.3.0-release-26165-110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26165.110 + 10.0.202 + 10.0.202-servicing.26165.110 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26165.110 + 18.3.0-release-26165-110 + 18.3.0-release-26165-110 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 7.3.0-rc.16610 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 2.2.0-preview.26163.4 4.2.0-preview.26163.4 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e912555e543a..654ec7be6ff9 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 https://github.com/microsoft/testfx @@ -569,9 +568,9 @@ https://github.com/microsoft/testfx 85dfe511d8e4111cea9f0e1a308dc66d7973469b - - https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 4adbefa7b9f7..74c305d2ffdd 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.200", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.108", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.108", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26165.110", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26165.110", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From a2f09f332651e0921d9a74320615b7d1022ebc3a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 24 Mar 2026 07:24:15 +0000 Subject: [PATCH 015/137] Update dependencies from build 307443 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26173.108 -> 10.0.6-servicing.26173.116) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26173.108 -> 10.0.0-preview.26173.116) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26173-108 -> 18.0.11-servicing-26173-116) 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.0.2-rc.17408 -> 7.0.2-rc.17416) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26173.108 -> 5.0.0-2.26173.116) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26173.108 -> 2.0.0-preview.1.26173.116) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26173.108 -> 10.0.0-beta.26173.116) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26173.108 -> 14.0.106-servicing.26173.116) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26173-108 -> 18.0.2-release-26173-116) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26173.108 -> 10.0.106-servicing.26173.116) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 262 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index a5f6382afb7d..1ec44c35d231 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 573dce162c82..2bc396ccaead 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.116 + 10.0.6-servicing.26173.116 + 10.0.6-servicing.26173.116 + 10.0.6-servicing.26173.116 10.0.6 - 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.116 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.116 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.116 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.0-preview.26173.108 + 10.0.6-servicing.26173.116 + 10.0.6-servicing.26173.116 + 10.0.0-preview.26173.116 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26173-108 - 7.0.2-rc.17408 + 18.0.11-servicing-26173-116 + 7.0.2-rc.17416 10.0.106 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 10.0.0-preview.26173.108 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 2.0.0-preview.1.26173.108 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 10.0.0-preview.26173.116 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 2.0.0-preview.1.26173.116 2.2.6 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 + 10.0.0-beta.26173.116 + 10.0.0-beta.26173.116 + 10.0.0-beta.26173.116 + 10.0.0-beta.26173.116 + 10.0.0-beta.26173.116 + 10.0.0-beta.26173.116 10.0.6 10.0.6 - 10.0.6-servicing.26173.108 - 10.0.6-servicing.26173.108 - 10.0.0-beta.26173.108 - 10.0.0-beta.26173.108 + 10.0.6-servicing.26173.116 + 10.0.6-servicing.26173.116 + 10.0.0-beta.26173.116 + 10.0.0-beta.26173.116 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26173.108 + 14.0.106-servicing.26173.116 10.0.6 - 5.0.0-2.26173.108 - 5.0.0-2.26173.108 - 10.0.6-servicing.26173.108 + 5.0.0-2.26173.116 + 5.0.0-2.26173.116 + 10.0.6-servicing.26173.116 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26173.108 - 10.0.6-servicing.26173.108 - 18.0.2-release-26173-108 + 10.0.0-preview.26173.116 + 10.0.6-servicing.26173.116 + 18.0.2-release-26173-116 10.0.6 - 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.116 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26173.108 + 10.0.106-servicing.26173.116 10.0.106 - 10.0.106-servicing.26173.108 + 10.0.106-servicing.26173.116 10.0.106 10.0.106 - 10.0.106-servicing.26173.108 - 18.0.2-release-26173-108 - 18.0.2-release-26173-108 + 10.0.106-servicing.26173.116 + 18.0.2-release-26173-116 + 18.0.2-release-26173-116 3.2.6 10.0.6 - 10.0.6-servicing.26173.108 + 10.0.6-servicing.26173.116 10.0.6 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 - 7.0.2-rc.17408 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 + 7.0.2-rc.17416 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e912555e543a..063419a6da62 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - ad5e0a16d8b6727cd10ed60efd8e13edd82e24f7 + 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 diff --git a/global.json b/global.json index 4adbefa7b9f7..5a5b1f80a5c3 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.108", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.108", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.116", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.116", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 9f83bb402c3d3d22b41e25972a5d06cfdb5eee1b Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 24 Mar 2026 09:09:55 -0700 Subject: [PATCH 016/137] Fix typo in test project --- .../GivenThatWeWantToPublishWithIfDifferent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs index 5b7add2b7e3b..6029fe2024db 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs @@ -486,7 +486,7 @@ public void It_publishes_content_with_comma_in_filename() var projectContent = File.ReadAllText(projectFile); projectContent = projectContent.Replace("", @" - + "); File.WriteAllText(projectFile, projectContent); From 5522bcce3590fb6df654416709694d8cfc6ec3a9 Mon Sep 17 00:00:00 2001 From: Noah Gilson Date: Tue, 24 Mar 2026 11:12:25 -0700 Subject: [PATCH 017/137] Fix MSB4043: qualified metadata reference in item transform Move the cross-compilation shared framework copy into a separate target (OverwriteStage0SharedFxForCrossCompilation) that uses target batching via Outputs=%(_Stage0NETCoreSharedFxDir.Identity). This captures each directory identity into a property that can be safely used inside the @(_BuiltNETCoreSharedFxFile) item transform, avoiding both: - MSB4043: qualified metadata reference inside a transform - MSB3026: copy-to-self when using unqualified %(Identity) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../redist/targets/OverlaySdkOnLKG.targets | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/Layout/redist/targets/OverlaySdkOnLKG.targets b/src/Layout/redist/targets/OverlaySdkOnLKG.targets index 794048905958..d6bbe26bff1a 100644 --- a/src/Layout/redist/targets/OverlaySdkOnLKG.targets +++ b/src/Layout/redist/targets/OverlaySdkOnLKG.targets @@ -49,16 +49,27 @@ <_BuiltNETCoreSharedFxFile Include="$(TestHostDotNetRoot)shared/Microsoft.NETCore.App/$(MicrosoftNETCoreAppRuntimePackageVersion)/**/*" /> - - + + + + <_CurrentStage0FxDir>%(_Stage0NETCoreSharedFxDir.Identity) + + + + + From 7098c825905b0bae7b731b382ba0bce631cc1bdb Mon Sep 17 00:00:00 2001 From: Noah Gilson Date: Tue, 24 Mar 2026 13:29:34 -0700 Subject: [PATCH 018/137] Also overwrite stage0 Microsoft.AspNetCore.App for cross-compilation The cross-compilation overlay only handled Microsoft.NETCore.App, leaving stage0 Microsoft.AspNetCore.App native binaries with the build machine's architecture. This caused BadImageFormatException in tests that start ASP.NET Core servers (e.g. Aspire tests) when cross-compiling for a different architecture. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../redist/targets/OverlaySdkOnLKG.targets | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/Layout/redist/targets/OverlaySdkOnLKG.targets b/src/Layout/redist/targets/OverlaySdkOnLKG.targets index d6bbe26bff1a..02a281245d77 100644 --- a/src/Layout/redist/targets/OverlaySdkOnLKG.targets +++ b/src/Layout/redist/targets/OverlaySdkOnLKG.targets @@ -47,6 +47,11 @@ <_Stage0NETCoreSharedFxDir Remove="$(TestHostDotNetRoot)shared/Microsoft.NETCore.App/$(MicrosoftNETCoreAppRuntimePackageVersion)" /> <_BuiltNETCoreSharedFxFile Include="$(TestHostDotNetRoot)shared/Microsoft.NETCore.App/$(MicrosoftNETCoreAppRuntimePackageVersion)/**/*" /> + + <_Stage0AspNetCoreSharedFxDir Include="$([System.IO.Directory]::GetDirectories('$(TestHostDotNetRoot)shared/Microsoft.AspNetCore.App', '$(MajorMinorVersion).*'))" /> + <_Stage0AspNetCoreSharedFxDir Remove="$(TestHostDotNetRoot)shared/Microsoft.AspNetCore.App/$(MicrosoftAspNetCoreAppRuntimePackageVersion)" /> + + <_BuiltAspNetCoreSharedFxFile Include="$(TestHostDotNetRoot)shared/Microsoft.AspNetCore.App/$(MicrosoftAspNetCoreAppRuntimePackageVersion)/**/*" /> + Each target runs once per stage0 shared framework directory, capturing its Identity in a + property that can be safely used inside the item transform. --> + + + <_CurrentStage0FxDir>%(_Stage0AspNetCoreSharedFxDir.Identity) + + + + + From ab67809702e4eb745b48ce2e284d4ac2395ec4b0 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 23:20:55 +0000 Subject: [PATCH 019/137] [release/10.0.3xx] Source code updates from dotnet/dotnet (#53575) [release/10.0.3xx] Source code updates from dotnet/dotnet --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 48a4b16d519c..fe5af9650d2b 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26173.111 + 10.0.0-preview.26174.106 10.0.5 10.0.5 - 18.6.0-preview-26173-111 - 18.6.0-preview-26173-111 - 7.6.0-rc.17411 - 10.0.300-alpha.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 10.0.0-preview.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 + 18.6.0-preview-26174-106 + 18.6.0-preview-26174-106 + 7.6.0-rc.17506 + 10.0.300-alpha.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 10.0.0-preview.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26173.111 - 10.0.0-beta.26173.111 - 10.0.0-beta.26173.111 - 10.0.0-beta.26173.111 - 10.0.0-beta.26173.111 - 10.0.0-beta.26173.111 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26173.111 - 10.0.0-beta.26173.111 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26173.111 + 15.2.300-servicing.26174.106 10.0.5 - 5.6.0-2.26173.111 - 5.6.0-2.26173.111 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26173.111 + 10.0.0-preview.26174.106 10.0.5-servicing.26153.111 - 18.3.0-release-26173-111 + 18.3.0-release-26174-106 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26173.111 - 10.0.300-alpha.26173.111 - 10.0.300-alpha.26173.111 - 10.0.300-alpha.26173.111 - 10.0.300-alpha.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 10.0.300-preview.26173.111 - 18.3.0-release-26173-111 - 18.3.0-release-26173-111 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 18.3.0-release-26174-106 + 18.3.0-release-26174-106 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 - 7.6.0-rc.17411 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1bbe73725c92..d498242e1c11 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 4bf356979576e49df34287d2de49dcb600a6c0e6 + 913bfeebf747b38cf6ea89a64787ce7245969915 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 5bc51b7d5f9f..71156b28e23d 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.111", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.111", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.106", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.106", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 7ee574bfdd7cca76000775b4099c49f5d74bbf8a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 23:22:14 +0000 Subject: [PATCH 020/137] Reset files to release/10.0.3xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 1 - eng/Version.Details.props | 274 ++++++++++--------- eng/Version.Details.xml | 551 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 425 insertions(+), 407 deletions(-) diff --git a/NuGet.config b/NuGet.config index b4cefe38af01..f3f728c95515 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 7260c61cddad..fe5af9650d2b 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,145 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.0-preview.26165.110 - 10.0.4 - 10.0.4 - 18.3.3 - 18.3.3-servicing-26165-110 - 7.3.0-rc.16610 - 10.0.202 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 10.0.0-preview.26165.110 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 2.0.0-preview.1.26119.110 - 2.2.4 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.0-beta.26165.110 - 10.0.0-beta.26165.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 15.2.202-servicing.26165.110 - 10.0.4 - 5.3.0-2.26165.110 - 5.3.0-2.26165.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-preview.26174.106 + 10.0.5 + 10.0.5 + 18.6.0-preview-26174-106 + 18.6.0-preview-26174-106 + 7.6.0-rc.17506 + 10.0.300-alpha.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 10.0.0-preview.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 2.0.0-preview.1.26153.111 + 2.2.5 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-beta.26174.106 + 10.0.0-beta.26174.106 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 15.2.300-servicing.26174.106 + 10.0.5 + 5.6.0-2.26174.106 + 5.6.0-2.26174.106 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26165.110 - 10.0.4-servicing.26119.110 - 18.3.0-release-26165-110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26165.110 - 10.0.202 - 10.0.202-servicing.26165.110 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26165.110 - 18.3.0-release-26165-110 - 18.3.0-release-26165-110 - 3.2.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 7.3.0-rc.16610 - 10.0.4 - 2.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 + 10.0.0-preview.26174.106 + 10.0.5-servicing.26153.111 + 18.3.0-release-26174-106 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-alpha.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 10.0.300-preview.26174.106 + 18.3.0-release-26174-106 + 18.3.0-release-26174-106 + 3.2.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 7.6.0-rc.17506 + 10.0.5 + 2.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 - 2.2.0-preview.26163.4 - 4.2.0-preview.26163.4 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 @@ -190,6 +193,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -201,9 +205,11 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 654ec7be6ff9..d498242e1c11 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 @@ -68,170 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 + + + https://github.com/dotnet/dotnet + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 + + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 + + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://github.com/dotnet/dotnet - 371b9b5d0aefef66a1db9caba3a697ca58a04eb7 + 913bfeebf747b38cf6ea89a64787ce7245969915 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - 85dfe511d8e4111cea9f0e1a308dc66d7973469b + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - 85dfe511d8e4111cea9f0e1a308dc66d7973469b + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 diff --git a/global.json b/global.json index 74c305d2ffdd..71156b28e23d 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.200", + "dotnet": "10.0.105", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26165.110", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26165.110", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.106", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.106", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 1a50ad34a746ded4d4263060c6e066e4b1ea84db Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 02:02:44 +0000 Subject: [PATCH 021/137] Update dependencies from https://github.com/microsoft/testfx build 20260324.1 On relative base path root Microsoft.Testing.Platform From Version 2.2.0-preview.26163.4 -> To Version 2.2.0-preview.26174.1 MSTest From Version 4.2.0-preview.26163.4 -> To Version 4.2.0-preview.26174.1 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 2bc396ccaead..e8db7974fdc6 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 - 2.2.0-preview.26163.4 - 4.2.0-preview.26163.4 + 2.2.0-preview.26174.1 + 4.2.0-preview.26174.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 063419a6da62..42e4790acc05 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -561,13 +561,13 @@ https://github.com/dotnet/dotnet 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 - + https://github.com/microsoft/testfx - 85dfe511d8e4111cea9f0e1a308dc66d7973469b + 926d2f3fbfce8f04a1c05e743d28715d93baa5bb - + https://github.com/microsoft/testfx - 85dfe511d8e4111cea9f0e1a308dc66d7973469b + 926d2f3fbfce8f04a1c05e743d28715d93baa5bb https://github.com/dotnet/dotnet From 222c107ff7b4d29673d84f74a1bf883ce8c5884b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 02:03:43 +0000 Subject: [PATCH 022/137] Update dependencies from https://github.com/microsoft/testfx build 20260324.1 On relative base path root Microsoft.Testing.Platform From Version 2.2.0-preview.26163.4 -> To Version 2.2.0-preview.26174.1 MSTest From Version 4.2.0-preview.26163.4 -> To Version 4.2.0-preview.26174.1 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 7260c61cddad..497b38e2d795 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.0-preview.26163.4 - 4.2.0-preview.26163.4 + 2.2.0-preview.26174.1 + 4.2.0-preview.26174.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 654ec7be6ff9..f2fde48e68cc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - 85dfe511d8e4111cea9f0e1a308dc66d7973469b + 926d2f3fbfce8f04a1c05e743d28715d93baa5bb - + https://github.com/microsoft/testfx - 85dfe511d8e4111cea9f0e1a308dc66d7973469b + 926d2f3fbfce8f04a1c05e743d28715d93baa5bb https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 3dc9177d15a40260cd8e8831711a20fa61c2d825 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 03:59:46 +0000 Subject: [PATCH 023/137] Update dependencies from build 307627 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26170.111 -> 10.0.0-preview.26174.114) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26170-111 -> 18.3.3-servicing-26174-114) 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.3.0-rc.17111 -> 7.3.0-rc.17514) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26170.111 -> 5.3.0-2.26174.114) 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.26170.111 -> 10.0.0-beta.26174.114) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26170.111 -> 15.2.202-servicing.26174.114) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26170-111 -> 18.3.0-release-26174-114) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26170.111 -> 10.0.202-servicing.26174.114) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 161 insertions(+), 161 deletions(-) diff --git a/NuGet.config b/NuGet.config index 2715928474a2..62cec2f1e957 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index b1ffc80a0234..08ecb2f82e12 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26170.111 + 10.0.0-preview.26174.114 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26170-111 - 7.3.0-rc.17111 + 18.3.3-servicing-26174-114 + 7.3.0-rc.17514 10.0.202 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 - 10.0.0-preview.26170.111 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 10.0.0-preview.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26170.111 - 10.0.0-beta.26170.111 - 10.0.0-beta.26170.111 - 10.0.0-beta.26170.111 - 10.0.0-beta.26170.111 - 10.0.0-beta.26170.111 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26170.111 - 10.0.0-beta.26170.111 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26170.111 + 15.2.202-servicing.26174.114 10.0.4 - 5.3.0-2.26170.111 - 5.3.0-2.26170.111 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26170.111 + 10.0.0-preview.26174.114 10.0.4-servicing.26119.110 - 18.3.0-release-26170-111 + 18.3.0-release-26174-114 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26170.111 + 10.0.202-servicing.26174.114 10.0.202 - 10.0.202-servicing.26170.111 + 10.0.202-servicing.26174.114 10.0.202 10.0.202 - 10.0.202-servicing.26170.111 - 18.3.0-release-26170-111 - 18.3.0-release-26170-111 + 10.0.202-servicing.26174.114 + 18.3.0-release-26174-114 + 18.3.0-release-26174-114 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 - 7.3.0-rc.17111 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 59c1ae513bf1..6b5344fa9c20 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 115461302edc70fe6e7c8ba73d0b40d328add55c + 3f7694a10a5075ca61531ca4aa99082acdef048f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index fe4a62f35fac..8205f49bb392 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26170.111", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26170.111", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From d443e374bcd206fd49b9270011cc03b2f2f56e20 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 04:24:36 +0000 Subject: [PATCH 024/137] Update dependencies from build 307628 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26173.116 -> 10.0.6-servicing.26174.108) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26173.116 -> 10.0.0-preview.26174.108) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26173-116 -> 18.0.11-servicing-26174-108) 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.0.2-rc.17416 -> 7.0.2-rc.17508) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26173.116 -> 5.0.0-2.26174.108) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26173.116 -> 2.0.0-preview.1.26174.108) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26173.116 -> 10.0.0-beta.26174.108) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26173.116 -> 14.0.106-servicing.26174.108) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26173-116 -> 18.0.2-release-26174-108) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26173.116 -> 10.0.106-servicing.26174.108) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 262 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index 1ec44c35d231..d6e5616407ab 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 2bc396ccaead..19547f0b9c1a 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 + 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.108 10.0.6 - 10.0.6-servicing.26173.116 + 10.0.6-servicing.26174.108 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26173.116 + 10.0.6-servicing.26174.108 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26173.116 + 10.0.6-servicing.26174.108 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.0-preview.26173.116 + 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.108 + 10.0.0-preview.26174.108 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26173-116 - 7.0.2-rc.17416 + 18.0.11-servicing-26174-108 + 7.0.2-rc.17508 10.0.106 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 10.0.0-preview.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 2.0.0-preview.1.26173.116 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 10.0.0-preview.26174.108 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 2.0.0-preview.1.26174.108 2.2.6 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 + 10.0.0-beta.26174.108 + 10.0.0-beta.26174.108 + 10.0.0-beta.26174.108 + 10.0.0-beta.26174.108 + 10.0.0-beta.26174.108 + 10.0.0-beta.26174.108 10.0.6 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 + 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.108 + 10.0.0-beta.26174.108 + 10.0.0-beta.26174.108 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26173.116 + 14.0.106-servicing.26174.108 10.0.6 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 10.0.6-servicing.26173.116 + 5.0.0-2.26174.108 + 5.0.0-2.26174.108 + 10.0.6-servicing.26174.108 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26173.116 - 10.0.6-servicing.26173.116 - 18.0.2-release-26173-116 + 10.0.0-preview.26174.108 + 10.0.6-servicing.26174.108 + 18.0.2-release-26174-108 10.0.6 - 10.0.6-servicing.26173.116 + 10.0.6-servicing.26174.108 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26173.116 + 10.0.106-servicing.26174.108 10.0.106 - 10.0.106-servicing.26173.116 + 10.0.106-servicing.26174.108 10.0.106 10.0.106 - 10.0.106-servicing.26173.116 - 18.0.2-release-26173-116 - 18.0.2-release-26173-116 + 10.0.106-servicing.26174.108 + 18.0.2-release-26174-108 + 18.0.2-release-26174-108 3.2.6 10.0.6 - 10.0.6-servicing.26173.116 + 10.0.6-servicing.26174.108 10.0.6 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 + 7.0.2-rc.17508 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 063419a6da62..268798e1279c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 94af52e1deb547073232526f35817a0f3ada98ab diff --git a/global.json b/global.json index 5a5b1f80a5c3..70dde0483be1 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.116", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.116", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.108", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.108", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From fe32c302b28e429168b1b1db994e90abd277b810 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 25 Mar 2026 04:34:14 +0000 Subject: [PATCH 025/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 270 +++++++-------- eng/Version.Details.xml | 681 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 481 insertions(+), 480 deletions(-) diff --git a/NuGet.config b/NuGet.config index 1ec44c35d231..2715928474a2 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index e8db7974fdc6..b1ffc80a0234 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,142 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.0-preview.26173.116 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26173-116 - 7.0.2-rc.17416 - 10.0.106 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 10.0.0-preview.26173.116 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 2.0.0-preview.1.26173.116 - 2.2.6 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6-servicing.26173.116 - 10.0.0-beta.26173.116 - 10.0.0-beta.26173.116 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26173.116 - 10.0.6 - 5.0.0-2.26173.116 - 5.0.0-2.26173.116 - 10.0.6-servicing.26173.116 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26170.111 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26170-111 + 7.3.0-rc.17111 + 10.0.202 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 10.0.0-preview.26170.111 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26170.111 + 10.0.0-beta.26170.111 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26170.111 + 10.0.4 + 5.3.0-2.26170.111 + 5.3.0-2.26170.111 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26173.116 - 10.0.6-servicing.26173.116 - 18.0.2-release-26173-116 - 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26173.116 - 10.0.106 - 10.0.106-servicing.26173.116 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26173.116 - 18.0.2-release-26173-116 - 18.0.2-release-26173-116 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26173.116 - 10.0.6 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 7.0.2-rc.17416 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26170.111 + 10.0.4-servicing.26119.110 + 18.3.0-release-26170-111 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26170.111 + 10.0.202 + 10.0.202-servicing.26170.111 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26170.111 + 18.3.0-release-26170-111 + 18.3.0-release-26170-111 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 7.3.0-rc.17111 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 - 2.2.0-preview.26174.1 - 4.2.0-preview.26174.1 + 2.2.0-preview.26163.4 + 4.2.0-preview.26163.4 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 42e4790acc05..59c1ae513bf1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - + https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + 115461302edc70fe6e7c8ba73d0b40d328add55c - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - 926d2f3fbfce8f04a1c05e743d28715d93baa5bb + 85dfe511d8e4111cea9f0e1a308dc66d7973469b - + https://github.com/microsoft/testfx - 926d2f3fbfce8f04a1c05e743d28715d93baa5bb + 85dfe511d8e4111cea9f0e1a308dc66d7973469b - - https://github.com/dotnet/dotnet - 5d8e1dab0ad36dd7a893a544523ecde4a647fe09 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 5a5b1f80a5c3..fe4a62f35fac 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26173.116", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26173.116", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26170.111", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26170.111", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 0fd8524cc9cfddf2e67162b521a2969fe355a328 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 04:49:49 +0000 Subject: [PATCH 026/137] Update dependencies from build 307634 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26174.106 -> 10.0.0-preview.26174.116) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26174-106 -> 18.6.0-preview-26174-116) 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.6.0-rc.17506 -> 7.6.0-rc.17516) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26174.106 -> 10.0.300-alpha.26174.116) 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.6.0-2.26174.106 -> 5.6.0-2.26174.116) 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.26174.106 -> 10.0.0-beta.26174.116) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26174.106 -> 15.2.300-servicing.26174.116) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26174-106 -> 18.3.0-release-26174-116) 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.300-preview.26174.106 -> 10.0.300-preview.26174.116) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index fe5af9650d2b..490b4c2d4794 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26174.106 + 10.0.0-preview.26174.116 10.0.5 10.0.5 - 18.6.0-preview-26174-106 - 18.6.0-preview-26174-106 - 7.6.0-rc.17506 - 10.0.300-alpha.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 10.0.0-preview.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 + 18.6.0-preview-26174-116 + 18.6.0-preview-26174-116 + 7.6.0-rc.17516 + 10.0.300-alpha.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 10.0.0-preview.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26174.106 - 10.0.0-beta.26174.106 - 10.0.0-beta.26174.106 - 10.0.0-beta.26174.106 - 10.0.0-beta.26174.106 - 10.0.0-beta.26174.106 + 10.0.0-beta.26174.116 + 10.0.0-beta.26174.116 + 10.0.0-beta.26174.116 + 10.0.0-beta.26174.116 + 10.0.0-beta.26174.116 + 10.0.0-beta.26174.116 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26174.106 - 10.0.0-beta.26174.106 + 10.0.0-beta.26174.116 + 10.0.0-beta.26174.116 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26174.106 + 15.2.300-servicing.26174.116 10.0.5 - 5.6.0-2.26174.106 - 5.6.0-2.26174.106 + 5.6.0-2.26174.116 + 5.6.0-2.26174.116 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.106 + 10.0.0-preview.26174.116 10.0.5-servicing.26153.111 - 18.3.0-release-26174-106 + 18.3.0-release-26174-116 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26174.106 - 10.0.300-alpha.26174.106 - 10.0.300-alpha.26174.106 - 10.0.300-alpha.26174.106 - 10.0.300-alpha.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 10.0.300-preview.26174.106 - 18.3.0-release-26174-106 - 18.3.0-release-26174-106 + 10.0.300-alpha.26174.116 + 10.0.300-alpha.26174.116 + 10.0.300-alpha.26174.116 + 10.0.300-alpha.26174.116 + 10.0.300-alpha.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 10.0.300-preview.26174.116 + 18.3.0-release-26174-116 + 18.3.0-release-26174-116 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 - 7.6.0-rc.17506 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 + 7.6.0-rc.17516 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d498242e1c11..8570d53a2818 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 - + https://github.com/dotnet/dotnet - 913bfeebf747b38cf6ea89a64787ce7245969915 + 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 71156b28e23d..331491f5a34c 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.106", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.106", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.116", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.116", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From fa60eabf4da20da8e7103970f161cbcaf00ba8ee Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 05:49:13 +0000 Subject: [PATCH 027/137] Update dependencies from build 307638 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26174.108 -> 10.0.6-servicing.26174.113) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26174.108 -> 10.0.0-preview.26174.113) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26174-108 -> 18.0.11-servicing-26174-113) 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.0.2-rc.17508 -> 7.0.2-rc.17513) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26174.108 -> 5.0.0-2.26174.113) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26174.108 -> 2.0.0-preview.1.26174.113) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26174.108 -> 10.0.0-beta.26174.113) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26174.108 -> 14.0.106-servicing.26174.113) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26174-108 -> 18.0.2-release-26174-113) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26174.108 -> 10.0.106-servicing.26174.113) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 262 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index d6e5616407ab..4950d4c01bdc 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 19547f0b9c1a..a657ea7abdfc 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26174.108 - 10.0.6-servicing.26174.108 - 10.0.6-servicing.26174.108 - 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.113 + 10.0.6-servicing.26174.113 + 10.0.6-servicing.26174.113 + 10.0.6-servicing.26174.113 10.0.6 - 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.113 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.113 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.113 10.0.6 - 10.0.6-servicing.26174.108 - 10.0.6-servicing.26174.108 - 10.0.0-preview.26174.108 + 10.0.6-servicing.26174.113 + 10.0.6-servicing.26174.113 + 10.0.0-preview.26174.113 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26174-108 - 7.0.2-rc.17508 + 18.0.11-servicing-26174-113 + 7.0.2-rc.17513 10.0.106 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 10.0.0-preview.26174.108 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 2.0.0-preview.1.26174.108 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 10.0.0-preview.26174.113 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 2.0.0-preview.1.26174.113 2.2.6 - 10.0.0-beta.26174.108 - 10.0.0-beta.26174.108 - 10.0.0-beta.26174.108 - 10.0.0-beta.26174.108 - 10.0.0-beta.26174.108 - 10.0.0-beta.26174.108 + 10.0.0-beta.26174.113 + 10.0.0-beta.26174.113 + 10.0.0-beta.26174.113 + 10.0.0-beta.26174.113 + 10.0.0-beta.26174.113 + 10.0.0-beta.26174.113 10.0.6 10.0.6 - 10.0.6-servicing.26174.108 - 10.0.6-servicing.26174.108 - 10.0.0-beta.26174.108 - 10.0.0-beta.26174.108 + 10.0.6-servicing.26174.113 + 10.0.6-servicing.26174.113 + 10.0.0-beta.26174.113 + 10.0.0-beta.26174.113 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26174.108 + 14.0.106-servicing.26174.113 10.0.6 - 5.0.0-2.26174.108 - 5.0.0-2.26174.108 - 10.0.6-servicing.26174.108 + 5.0.0-2.26174.113 + 5.0.0-2.26174.113 + 10.0.6-servicing.26174.113 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.108 - 10.0.6-servicing.26174.108 - 18.0.2-release-26174-108 + 10.0.0-preview.26174.113 + 10.0.6-servicing.26174.113 + 18.0.2-release-26174-113 10.0.6 - 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.113 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26174.108 + 10.0.106-servicing.26174.113 10.0.106 - 10.0.106-servicing.26174.108 + 10.0.106-servicing.26174.113 10.0.106 10.0.106 - 10.0.106-servicing.26174.108 - 18.0.2-release-26174-108 - 18.0.2-release-26174-108 + 10.0.106-servicing.26174.113 + 18.0.2-release-26174-113 + 18.0.2-release-26174-113 3.2.6 10.0.6 - 10.0.6-servicing.26174.108 + 10.0.6-servicing.26174.113 10.0.6 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 - 7.0.2-rc.17508 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 + 7.0.2-rc.17513 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 268798e1279c..656e4847d8ea 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - 94af52e1deb547073232526f35817a0f3ada98ab + 645374ace1c8bbeb07aac743552acc62bbb2c34b diff --git a/global.json b/global.json index 70dde0483be1..9e488dee1037 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.108", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.108", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.113", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.113", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 3cc3c6f74a4c93751be51d4147adc588f6225ff6 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 18:07:02 +0000 Subject: [PATCH 028/137] Update dependencies from build 307747 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26174.116 -> 10.0.0-preview.26175.107) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26174-116 -> 18.6.0-preview-26175-107) 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.6.0-rc.17516 -> 7.6.0-rc.17607) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26174.116 -> 10.0.300-alpha.26175.107) 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.6.0-2.26174.116 -> 5.6.0-2.26175.107) 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.26174.116 -> 10.0.0-beta.26175.107) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26174.116 -> 15.2.300-servicing.26175.107) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26174-116 -> 18.3.0-release-26175-107) 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.300-preview.26174.116 -> 10.0.300-preview.26175.107) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 490b4c2d4794..08e4fad7b425 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26174.116 + 10.0.0-preview.26175.107 10.0.5 10.0.5 - 18.6.0-preview-26174-116 - 18.6.0-preview-26174-116 - 7.6.0-rc.17516 - 10.0.300-alpha.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 10.0.0-preview.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 + 18.6.0-preview-26175-107 + 18.6.0-preview-26175-107 + 7.6.0-rc.17607 + 10.0.300-alpha.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 10.0.0-preview.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26174.116 - 10.0.0-beta.26174.116 - 10.0.0-beta.26174.116 - 10.0.0-beta.26174.116 - 10.0.0-beta.26174.116 - 10.0.0-beta.26174.116 + 10.0.0-beta.26175.107 + 10.0.0-beta.26175.107 + 10.0.0-beta.26175.107 + 10.0.0-beta.26175.107 + 10.0.0-beta.26175.107 + 10.0.0-beta.26175.107 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26174.116 - 10.0.0-beta.26174.116 + 10.0.0-beta.26175.107 + 10.0.0-beta.26175.107 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26174.116 + 15.2.300-servicing.26175.107 10.0.5 - 5.6.0-2.26174.116 - 5.6.0-2.26174.116 + 5.6.0-2.26175.107 + 5.6.0-2.26175.107 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.116 + 10.0.0-preview.26175.107 10.0.5-servicing.26153.111 - 18.3.0-release-26174-116 + 18.3.0-release-26175-107 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26174.116 - 10.0.300-alpha.26174.116 - 10.0.300-alpha.26174.116 - 10.0.300-alpha.26174.116 - 10.0.300-alpha.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 10.0.300-preview.26174.116 - 18.3.0-release-26174-116 - 18.3.0-release-26174-116 + 10.0.300-alpha.26175.107 + 10.0.300-alpha.26175.107 + 10.0.300-alpha.26175.107 + 10.0.300-alpha.26175.107 + 10.0.300-alpha.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 10.0.300-preview.26175.107 + 18.3.0-release-26175-107 + 18.3.0-release-26175-107 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 - 7.6.0-rc.17516 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 + 7.6.0-rc.17607 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 8570d53a2818..86e0a63f58c0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 - + https://github.com/dotnet/dotnet - 340bc04a0168a68bc74bbf8da6e5666b8db6fcf9 + c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 331491f5a34c..6d6cfaf3f190 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.116", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.116", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26175.107", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26175.107", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 7f044c503ed53be6b3ced3b377c78ce538e208ec Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 25 Mar 2026 21:48:17 +0000 Subject: [PATCH 029/137] Update dependencies from build 307775 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26175.107 -> 10.0.0-preview.26175.114) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26175-107 -> 18.6.0-preview-26175-114) 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.6.0-rc.17607 -> 7.6.0-rc.17614) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26175.107 -> 10.0.300-alpha.26175.114) 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.6.0-2.26175.107 -> 5.6.0-2.26175.114) 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.26175.107 -> 10.0.0-beta.26175.114) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26175.107 -> 15.2.300-servicing.26175.114) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26175-107 -> 18.3.0-release-26175-114) 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.300-preview.26175.107 -> 10.0.300-preview.26175.114) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 08e4fad7b425..efa5376ba93c 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26175.107 + 10.0.0-preview.26175.114 10.0.5 10.0.5 - 18.6.0-preview-26175-107 - 18.6.0-preview-26175-107 - 7.6.0-rc.17607 - 10.0.300-alpha.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 10.0.0-preview.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 + 18.6.0-preview-26175-114 + 18.6.0-preview-26175-114 + 7.6.0-rc.17614 + 10.0.300-alpha.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 10.0.0-preview.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26175.107 - 10.0.0-beta.26175.107 - 10.0.0-beta.26175.107 - 10.0.0-beta.26175.107 - 10.0.0-beta.26175.107 - 10.0.0-beta.26175.107 + 10.0.0-beta.26175.114 + 10.0.0-beta.26175.114 + 10.0.0-beta.26175.114 + 10.0.0-beta.26175.114 + 10.0.0-beta.26175.114 + 10.0.0-beta.26175.114 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26175.107 - 10.0.0-beta.26175.107 + 10.0.0-beta.26175.114 + 10.0.0-beta.26175.114 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26175.107 + 15.2.300-servicing.26175.114 10.0.5 - 5.6.0-2.26175.107 - 5.6.0-2.26175.107 + 5.6.0-2.26175.114 + 5.6.0-2.26175.114 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26175.107 + 10.0.0-preview.26175.114 10.0.5-servicing.26153.111 - 18.3.0-release-26175-107 + 18.3.0-release-26175-114 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26175.107 - 10.0.300-alpha.26175.107 - 10.0.300-alpha.26175.107 - 10.0.300-alpha.26175.107 - 10.0.300-alpha.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 10.0.300-preview.26175.107 - 18.3.0-release-26175-107 - 18.3.0-release-26175-107 + 10.0.300-alpha.26175.114 + 10.0.300-alpha.26175.114 + 10.0.300-alpha.26175.114 + 10.0.300-alpha.26175.114 + 10.0.300-alpha.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 10.0.300-preview.26175.114 + 18.3.0-release-26175-114 + 18.3.0-release-26175-114 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 - 7.6.0-rc.17607 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 + 7.6.0-rc.17614 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 86e0a63f58c0..2de2457e528b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 - + https://github.com/dotnet/dotnet - c1c994a5ef446dafc1df55fc9994c1be4d2c3d85 + 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 6d6cfaf3f190..e48453b26142 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26175.107", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26175.107", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26175.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26175.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From d3e4ca4853702e5c9c83287c3235eb35eb6fd8fb Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 26 Mar 2026 12:55:03 +0000 Subject: [PATCH 030/137] Update dependencies from build 307864 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26175.114 -> 10.0.0-preview.26176.103) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26175-114 -> 18.6.0-preview-26176-103) 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.6.0-rc.17614 -> 7.6.0-rc.17703) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26175.114 -> 10.0.300-alpha.26176.103) 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.6.0-2.26175.114 -> 5.6.0-2.26176.103) 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.26175.114 -> 10.0.0-beta.26176.103) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26175.114 -> 15.2.300-servicing.26176.103) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26175-114 -> 18.3.0-release-26176-103) 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.300-preview.26175.114 -> 10.0.300-preview.26176.103) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index efa5376ba93c..075748fa1a39 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26175.114 + 10.0.0-preview.26176.103 10.0.5 10.0.5 - 18.6.0-preview-26175-114 - 18.6.0-preview-26175-114 - 7.6.0-rc.17614 - 10.0.300-alpha.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 10.0.0-preview.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 + 18.6.0-preview-26176-103 + 18.6.0-preview-26176-103 + 7.6.0-rc.17703 + 10.0.300-alpha.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 10.0.0-preview.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26175.114 - 10.0.0-beta.26175.114 - 10.0.0-beta.26175.114 - 10.0.0-beta.26175.114 - 10.0.0-beta.26175.114 - 10.0.0-beta.26175.114 + 10.0.0-beta.26176.103 + 10.0.0-beta.26176.103 + 10.0.0-beta.26176.103 + 10.0.0-beta.26176.103 + 10.0.0-beta.26176.103 + 10.0.0-beta.26176.103 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26175.114 - 10.0.0-beta.26175.114 + 10.0.0-beta.26176.103 + 10.0.0-beta.26176.103 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26175.114 + 15.2.300-servicing.26176.103 10.0.5 - 5.6.0-2.26175.114 - 5.6.0-2.26175.114 + 5.6.0-2.26176.103 + 5.6.0-2.26176.103 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26175.114 + 10.0.0-preview.26176.103 10.0.5-servicing.26153.111 - 18.3.0-release-26175-114 + 18.3.0-release-26176-103 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26175.114 - 10.0.300-alpha.26175.114 - 10.0.300-alpha.26175.114 - 10.0.300-alpha.26175.114 - 10.0.300-alpha.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 10.0.300-preview.26175.114 - 18.3.0-release-26175-114 - 18.3.0-release-26175-114 + 10.0.300-alpha.26176.103 + 10.0.300-alpha.26176.103 + 10.0.300-alpha.26176.103 + 10.0.300-alpha.26176.103 + 10.0.300-alpha.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 10.0.300-preview.26176.103 + 18.3.0-release-26176-103 + 18.3.0-release-26176-103 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 - 7.6.0-rc.17614 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 + 7.6.0-rc.17703 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 2de2457e528b..a844cdcbe2ef 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 - + https://github.com/dotnet/dotnet - 57e1a4aefb30d2a330b8dcbb80b2c911b081d738 + 3f40c677f3934b5df143cb3848e04d5776a39c56 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index e48453b26142..3c708f0b49c4 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26175.114", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26175.114", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 91bbbc99786a528f810f0eb0c9c37a2e3c2fcf92 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 26 Mar 2026 16:55:59 +0000 Subject: [PATCH 031/137] Update dependencies from build 307928 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26176.103 -> 10.0.0-preview.26176.107) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26176-103 -> 18.6.0-preview-26176-107) 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.6.0-rc.17703 -> 7.6.0-rc.17707) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26176.103 -> 10.0.300-alpha.26176.107) 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.6.0-2.26176.103 -> 5.6.0-2.26176.107) 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.26176.103 -> 10.0.0-beta.26176.107) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26176.103 -> 15.2.300-servicing.26176.107) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26176-103 -> 18.3.0-release-26176-107) 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.300-preview.26176.103 -> 10.0.300-preview.26176.107) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 075748fa1a39..c07c90e1d519 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26176.103 + 10.0.0-preview.26176.107 10.0.5 10.0.5 - 18.6.0-preview-26176-103 - 18.6.0-preview-26176-103 - 7.6.0-rc.17703 - 10.0.300-alpha.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 10.0.0-preview.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 + 18.6.0-preview-26176-107 + 18.6.0-preview-26176-107 + 7.6.0-rc.17707 + 10.0.300-alpha.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 10.0.0-preview.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26176.103 - 10.0.0-beta.26176.103 - 10.0.0-beta.26176.103 - 10.0.0-beta.26176.103 - 10.0.0-beta.26176.103 - 10.0.0-beta.26176.103 + 10.0.0-beta.26176.107 + 10.0.0-beta.26176.107 + 10.0.0-beta.26176.107 + 10.0.0-beta.26176.107 + 10.0.0-beta.26176.107 + 10.0.0-beta.26176.107 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26176.103 - 10.0.0-beta.26176.103 + 10.0.0-beta.26176.107 + 10.0.0-beta.26176.107 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26176.103 + 15.2.300-servicing.26176.107 10.0.5 - 5.6.0-2.26176.103 - 5.6.0-2.26176.103 + 5.6.0-2.26176.107 + 5.6.0-2.26176.107 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26176.103 + 10.0.0-preview.26176.107 10.0.5-servicing.26153.111 - 18.3.0-release-26176-103 + 18.3.0-release-26176-107 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26176.103 - 10.0.300-alpha.26176.103 - 10.0.300-alpha.26176.103 - 10.0.300-alpha.26176.103 - 10.0.300-alpha.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 10.0.300-preview.26176.103 - 18.3.0-release-26176-103 - 18.3.0-release-26176-103 + 10.0.300-alpha.26176.107 + 10.0.300-alpha.26176.107 + 10.0.300-alpha.26176.107 + 10.0.300-alpha.26176.107 + 10.0.300-alpha.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 10.0.300-preview.26176.107 + 18.3.0-release-26176-107 + 18.3.0-release-26176-107 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 - 7.6.0-rc.17703 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 + 7.6.0-rc.17707 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a844cdcbe2ef..e74bd5400390 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d - + https://github.com/dotnet/dotnet - 3f40c677f3934b5df143cb3848e04d5776a39c56 + eebcb99e5770c241d6b6f8a900fa11fa0c910e2d https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 3c708f0b49c4..446215bd7fd4 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.103", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.103", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.107", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.107", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 23898b98d2b4d34d42dda1c1e8b0912f5189a23b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 26 Mar 2026 21:08:58 +0000 Subject: [PATCH 032/137] Update dependencies from build 307977 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26176.107 -> 10.0.0-preview.26176.111) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26176-107 -> 18.6.0-preview-26176-111) 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.6.0-rc.17707 -> 7.6.0-rc.17711) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26176.107 -> 10.0.300-alpha.26176.111) 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.6.0-2.26176.107 -> 5.6.0-2.26176.111) 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.26176.107 -> 10.0.0-beta.26176.111) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26176.107 -> 15.2.300-servicing.26176.111) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26176-107 -> 18.3.0-release-26176-111) 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.300-preview.26176.107 -> 10.0.300-preview.26176.111) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index c07c90e1d519..bc03bc8ecdb2 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26176.107 + 10.0.0-preview.26176.111 10.0.5 10.0.5 - 18.6.0-preview-26176-107 - 18.6.0-preview-26176-107 - 7.6.0-rc.17707 - 10.0.300-alpha.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 10.0.0-preview.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 + 18.6.0-preview-26176-111 + 18.6.0-preview-26176-111 + 7.6.0-rc.17711 + 10.0.300-alpha.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 10.0.0-preview.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26176.107 - 10.0.0-beta.26176.107 - 10.0.0-beta.26176.107 - 10.0.0-beta.26176.107 - 10.0.0-beta.26176.107 - 10.0.0-beta.26176.107 + 10.0.0-beta.26176.111 + 10.0.0-beta.26176.111 + 10.0.0-beta.26176.111 + 10.0.0-beta.26176.111 + 10.0.0-beta.26176.111 + 10.0.0-beta.26176.111 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26176.107 - 10.0.0-beta.26176.107 + 10.0.0-beta.26176.111 + 10.0.0-beta.26176.111 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26176.107 + 15.2.300-servicing.26176.111 10.0.5 - 5.6.0-2.26176.107 - 5.6.0-2.26176.107 + 5.6.0-2.26176.111 + 5.6.0-2.26176.111 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26176.107 + 10.0.0-preview.26176.111 10.0.5-servicing.26153.111 - 18.3.0-release-26176-107 + 18.3.0-release-26176-111 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26176.107 - 10.0.300-alpha.26176.107 - 10.0.300-alpha.26176.107 - 10.0.300-alpha.26176.107 - 10.0.300-alpha.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 10.0.300-preview.26176.107 - 18.3.0-release-26176-107 - 18.3.0-release-26176-107 + 10.0.300-alpha.26176.111 + 10.0.300-alpha.26176.111 + 10.0.300-alpha.26176.111 + 10.0.300-alpha.26176.111 + 10.0.300-alpha.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 10.0.300-preview.26176.111 + 18.3.0-release-26176-111 + 18.3.0-release-26176-111 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 - 7.6.0-rc.17707 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 + 7.6.0-rc.17711 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e74bd5400390..33aee755526f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac - + https://github.com/dotnet/dotnet - eebcb99e5770c241d6b6f8a900fa11fa0c910e2d + 42d6a4c2c669419a1f10edac6999d02dc2c204ac https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 446215bd7fd4..ec391a7b8286 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.107", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.107", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.111", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.111", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From af7d6565953c6eb0f4e463ec7d7fdfd172e1456b Mon Sep 17 00:00:00 2001 From: Chet Husk Date: Thu, 26 Mar 2026 14:43:01 -0700 Subject: [PATCH 033/137] [backport to release/10.0.3xx]Add warnings for newer tool versions during dotnet tool restore (#52715) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: marcpopMSFT <12663534+marcpopMSFT@users.noreply.github.com> Co-authored-by: Noah Gilson Co-authored-by: nagilson <23152278+nagilson@users.noreply.github.com> --- .../dotnet/Commands/CliCommandStrings.resx | 3 + .../Tool/Restore/ToolPackageRestorer.cs | 44 ++++- .../Tool/Restore/ToolRestoreCommand.cs | 31 +++- .../Commands/xlf/CliCommandStrings.cs.xlf | 5 + .../Commands/xlf/CliCommandStrings.de.xlf | 5 + .../Commands/xlf/CliCommandStrings.es.xlf | 5 + .../Commands/xlf/CliCommandStrings.fr.xlf | 5 + .../Commands/xlf/CliCommandStrings.it.xlf | 5 + .../Commands/xlf/CliCommandStrings.ja.xlf | 5 + .../Commands/xlf/CliCommandStrings.ko.xlf | 5 + .../Commands/xlf/CliCommandStrings.pl.xlf | 5 + .../Commands/xlf/CliCommandStrings.pt-BR.xlf | 5 + .../Commands/xlf/CliCommandStrings.ru.xlf | 5 + .../Commands/xlf/CliCommandStrings.tr.xlf | 5 + .../xlf/CliCommandStrings.zh-Hans.xlf | 5 + .../xlf/CliCommandStrings.zh-Hant.xlf | 5 + .../Tool/Restore/ToolRestoreCommandTests.cs | 170 ++++++++++++++++++ 17 files changed, 306 insertions(+), 7 deletions(-) diff --git a/src/Cli/dotnet/Commands/CliCommandStrings.resx b/src/Cli/dotnet/Commands/CliCommandStrings.resx index 61630d8c6b27..cb37e3792b84 100644 --- a/src/Cli/dotnet/Commands/CliCommandStrings.resx +++ b/src/Cli/dotnet/Commands/CliCommandStrings.resx @@ -919,6 +919,9 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Tool '{0}' (version '{1}') was restored. Available commands: {2} + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + Invalid rollback definition. The manifest IDs in rollback definition {0} do not match installed manifest IDs {1}. diff --git a/src/Cli/dotnet/Commands/Tool/Restore/ToolPackageRestorer.cs b/src/Cli/dotnet/Commands/Tool/Restore/ToolPackageRestorer.cs index 1377a97cb006..9aecc47b4806 100644 --- a/src/Cli/dotnet/Commands/Tool/Restore/ToolPackageRestorer.cs +++ b/src/Cli/dotnet/Commands/Tool/Restore/ToolPackageRestorer.cs @@ -83,6 +83,9 @@ public ToolRestoreResult InstallPackage( toolPackage.Command.Name)); } + // Check for newer versions and prepare warning message + string warning = CheckForNewerVersion(package, configFile); + return ToolRestoreResult.Success( saveToCache: (new RestoredCommandIdentifier( @@ -96,7 +99,8 @@ public ToolRestoreResult InstallPackage( CliCommandStrings.RestoreSuccessful, package.PackageId, package.Version.ToNormalizedString(), - string.Join(" ", package.CommandNames))); + string.Join(" ", package.CommandNames)), + warning: warning); } catch (ToolPackageException e) { @@ -129,6 +133,44 @@ public bool PackageHasBeenRestored( && _fileSystem.File.Exists(toolCommand.Executable.Value); } + private string CheckForNewerVersion(ToolManifestPackage package, FilePath? configFile) + { + try + { + // Use wildcard version range to get the latest version + var latestVersionRange = VersionRange.Parse("*"); + + var (latestVersion, _) = _toolPackageDownloader.GetNuGetVersion( + new PackageLocation( + nugetConfig: configFile, + additionalFeeds: _additionalSources, + sourceFeedOverrides: _overrideSources, + rootConfigDirectory: package.FirstEffectDirectory), + package.PackageId, + _verbosity, + latestVersionRange, + _restoreActionConfig); + + // Compare versions - only warn if there's a newer stable version or if the manifest uses prerelease + if (latestVersion != null && latestVersion > package.Version) + { + // If the current version is prerelease, show warning for any newer version + // If the current version is stable, only show warning for newer stable versions + if (package.Version.IsPrerelease || !latestVersion.IsPrerelease) + { + return string.Format(CliCommandStrings.RestoreNewVersionAvailable, package.PackageId, latestVersion.ToNormalizedString()); + } + } + } + catch + { + // If we can't check for newer versions, don't show a warning + // This could happen due to network issues, package source problems, etc. + } + + return string.Empty; + } + private static string JoinBySpaceWithQuote(IEnumerable objects) { return string.Join(" ", objects.Select(o => $"\"{o.ToString()}\"")); diff --git a/src/Cli/dotnet/Commands/Tool/Restore/ToolRestoreCommand.cs b/src/Cli/dotnet/Commands/Tool/Restore/ToolRestoreCommand.cs index 3c00ebfb2dfd..1e180fcd9c5f 100644 --- a/src/Cli/dotnet/Commands/Tool/Restore/ToolRestoreCommand.cs +++ b/src/Cli/dotnet/Commands/Tool/Restore/ToolRestoreCommand.cs @@ -140,7 +140,14 @@ private int PrintConclusionAndReturn(ToolRestoreResult[] toolRestoreResults) { _reporter.WriteLine(); _reporter.WriteLine(string.Join(Environment.NewLine, successMessage)); - + + // Display warnings for successful restorations even in partial failure case + var warnings = toolRestoreResults.Where(r => r.IsSuccess && !string.IsNullOrEmpty(r.Warning)).Select(r => r.Warning); + if (warnings.Any()) + { + _reporter.WriteLine(); + _reporter.WriteLine(string.Join(Environment.NewLine, warnings).Yellow()); + } } _errorReporter.WriteLine(Environment.NewLine + @@ -154,6 +161,15 @@ private int PrintConclusionAndReturn(ToolRestoreResult[] toolRestoreResults) { _reporter.WriteLine(string.Join(Environment.NewLine, toolRestoreResults.Where(r => r.IsSuccess).Select(r => r.Message))); + + // Display warnings for newer versions available + var warnings = toolRestoreResults.Where(r => r.IsSuccess && !string.IsNullOrEmpty(r.Warning)).Select(r => r.Warning); + if (warnings.Any()) + { + _reporter.WriteLine(); + _reporter.WriteLine(string.Join(Environment.NewLine, warnings).Yellow()); + } + _reporter.WriteLine(); _reporter.WriteLine(CliCommandStrings.LocalToolsRestoreWasSuccessful.Green()); @@ -203,10 +219,11 @@ public struct ToolRestoreResult public (RestoredCommandIdentifier restoredCommandIdentifier, ToolCommand toolCommand)? SaveToCache { get; } public bool IsSuccess { get; } public string Message { get; } + public string Warning { get; } private ToolRestoreResult( (RestoredCommandIdentifier, ToolCommand)? saveToCache, - bool isSuccess, string message) + bool isSuccess, string message, string warning = null) { if (string.IsNullOrWhiteSpace(message)) { @@ -216,18 +233,20 @@ private ToolRestoreResult( SaveToCache = saveToCache; IsSuccess = isSuccess; Message = message; + Warning = warning; } public static ToolRestoreResult Success( (RestoredCommandIdentifier, ToolCommand)? saveToCache, - string message) + string message, + string warning = null) { - return new ToolRestoreResult(saveToCache, true, message); + return new ToolRestoreResult(saveToCache, true, message, warning); } public static ToolRestoreResult Failure(string message) { - return new ToolRestoreResult(null, false, message); + return new ToolRestoreResult(null, false, message, null); } public static ToolRestoreResult Failure( @@ -236,7 +255,7 @@ public static ToolRestoreResult Failure( { return new ToolRestoreResult(null, false, string.Format(CliCommandStrings.PackageFailedToRestore, - packageId.ToString(), toolPackageException.ToString())); + packageId.ToString(), toolPackageException.ToString()), null); } } } diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf index 3bb69f375577..949d8ff029b7 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf @@ -1337,6 +1337,11 @@ Nástroj {1} (verze {2}) se úspěšně nainstaloval. Do souboru manifestu {3} s Obnovení selhalo. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Obnovení bylo částečně neúspěšné. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf index 0ec39df110ce..6268859bf8c5 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf @@ -1337,6 +1337,11 @@ Das Tool "{1}" (Version {2}) wurde erfolgreich installiert. Der Eintrag wird der Fehler beim Wiederherstellen. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Die Wiederherstellung war nur teilweise möglich. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf index cd33ddb1cae8..323fa4f3e421 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf @@ -1337,6 +1337,11 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. Se ha agregado Error en la restauración. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Error parcial de restauración. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf index 8a0bd0573548..ad6fcc2de5ba 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf @@ -1337,6 +1337,11 @@ L'outil '{1}' (version '{2}') a été correctement installé. L'entrée est ajou Échec de la restauration. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Échec partiel de la restauration. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf index c78cd43a5dc0..aa395fb773c2 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf @@ -1337,6 +1337,11 @@ Lo strumento '{1}' versione '{2}' è stato installato. La voce è stata aggiunta Il ripristino non è riuscito. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Il ripristino non è riuscito parzialmente. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf index 207944301937..50e25379136a 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf @@ -1337,6 +1337,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 復元に失敗しました。 + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. 復元が部分的に失敗しました。 diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf index 4788a1e6c97f..8e11b85aec17 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf @@ -1337,6 +1337,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 복원하지 못했습니다. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. 부분적으로 복원하지 못했습니다. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf index 4d5b146ff4f4..91efd4721d19 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf @@ -1337,6 +1337,11 @@ Narzędzie „{1}” (wersja „{2}”) zostało pomyślnie zainstalowane. Wpis Przywracanie nie powiodło się. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Przywracanie częściowo nie powiodło się. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf index 0acb57aad166..6538926d0aed 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf @@ -1337,6 +1337,11 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. A entrada foi adici Falha na restauração. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Falha parcial na restauração. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf index 61550b7f9a60..94c78c2068bc 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf @@ -1337,6 +1337,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Сбой восстановления. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Восстановление частично не выполнено. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf index 450e91d741f3..9dc6ccad5ace 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf @@ -1337,6 +1337,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Geri yükleme başarısız oldu. + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. Geri yükleme kısmen başarısız oldu. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf index c3bdb44fa189..4f4a1765f804 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf @@ -1337,6 +1337,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 还原失败。 + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. 还原部分失败。 diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf index 30fa6a45f568..6b5c4b7a2392 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf @@ -1337,6 +1337,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 還原失敗。 + + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + + Restore partially failed. 還原部分失敗。 diff --git a/test/dotnet.Tests/CommandTests/Tool/Restore/ToolRestoreCommandTests.cs b/test/dotnet.Tests/CommandTests/Tool/Restore/ToolRestoreCommandTests.cs index c84b9c8ee372..d18f633601d3 100644 --- a/test/dotnet.Tests/CommandTests/Tool/Restore/ToolRestoreCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/Tool/Restore/ToolRestoreCommandTests.cs @@ -532,6 +532,176 @@ public void WhenRunWithoutManifestFileItShouldPrintSpecificRestoreErrorMessage() l.Contains(AnsiExtensions.Yellow(CliCommandStrings.NoToolsWereRestored))); } + [Fact] + public void WhenNewerVersionIsAvailableItShowsWarning() + { + // Use an explicit version to prevent test from breaking if _packageVersionA changes + var currentVersion = NuGetVersion.Parse("1.0.0"); + var newerPackageVersion = NuGetVersion.Parse("2.1.4"); + var manifestPackage = new ToolManifestPackage( + _packageIdA, + currentVersion, + new[] { _toolCommandNameA }, + new DirectoryPath(_temporaryDirectory), + rollForward: false); + + // Create a mock feed with both the current version and a newer version + var feeds = new List + { + new MockFeed + { + Type = MockFeedType.FeedFromGlobalNugetConfig, + Packages = new List + { + new MockFeedPackage + { + PackageId = _packageIdA.ToString(), + Version = currentVersion.ToNormalizedString(), + ToolCommandName = _toolCommandNameA.Value, + }, + new MockFeedPackage + { + PackageId = _packageIdA.ToString(), + Version = newerPackageVersion.ToNormalizedString(), + ToolCommandName = _toolCommandNameA.Value, + } + } + } + }; + + var toolPackageDownloaderMockWithFeeds = new ToolPackageDownloaderMock( + _toolPackageStore, _fileSystem, feeds: feeds); + + IToolManifestFinder fakeManifestFinder = + new MockManifestFinder(new[] { manifestPackage }); + + ToolRestoreCommand toolRestoreCommand = new(_parseResult, + toolPackageDownloaderMockWithFeeds, + fakeManifestFinder, + _localToolsResolverCache, + _fileSystem, + _reporter + ); + + toolRestoreCommand.Execute().Should().Be(0); + + _reporter.Lines.Should().Contain(l => + l.Contains(string.Format(CliCommandStrings.RestoreNewVersionAvailable, _packageIdA, newerPackageVersion.ToNormalizedString()))); + } + + [Fact] + public void WhenCurrentVersionIsPrereleaseAndNewerStableIsAvailableItShowsWarning() + { + var currentPrereleaseVersion = NuGetVersion.Parse("1.0.0-rc1"); + var newerStableVersion = NuGetVersion.Parse("1.0.0"); + var manifestPackage = new ToolManifestPackage( + _packageIdA, + currentPrereleaseVersion, + new[] { _toolCommandNameA }, + new DirectoryPath(_temporaryDirectory), + rollForward: false); + + // Create a mock feed with both the prerelease version and a newer stable version + var feeds = new List + { + new MockFeed + { + Type = MockFeedType.FeedFromGlobalNugetConfig, + Packages = new List + { + new MockFeedPackage + { + PackageId = _packageIdA.ToString(), + Version = currentPrereleaseVersion.ToNormalizedString(), + ToolCommandName = _toolCommandNameA.Value, + }, + new MockFeedPackage + { + PackageId = _packageIdA.ToString(), + Version = newerStableVersion.ToNormalizedString(), + ToolCommandName = _toolCommandNameA.Value, + } + } + } + }; + + var toolPackageDownloaderMockWithFeeds = new ToolPackageDownloaderMock( + _toolPackageStore, _fileSystem, feeds: feeds); + + IToolManifestFinder fakeManifestFinder = + new MockManifestFinder(new[] { manifestPackage }); + + ToolRestoreCommand toolRestoreCommand = new(_parseResult, + toolPackageDownloaderMockWithFeeds, + fakeManifestFinder, + _localToolsResolverCache, + _fileSystem, + _reporter + ); + + toolRestoreCommand.Execute().Should().Be(0); + + _reporter.Lines.Should().Contain(l => + l.Contains(string.Format(CliCommandStrings.RestoreNewVersionAvailable, _packageIdA, newerStableVersion.ToNormalizedString()))); + } + + [Fact] + public void WhenCurrentVersionIsStableAndNewerPrereleaseIsAvailableItDoesNotShowWarning() + { + var currentStableVersion = NuGetVersion.Parse("1.0.0"); + var newerPrereleaseVersion = NuGetVersion.Parse("1.1.0-rc1"); + var manifestPackage = new ToolManifestPackage( + _packageIdA, + currentStableVersion, + new[] { _toolCommandNameA }, + new DirectoryPath(_temporaryDirectory), + rollForward: false); + + // Create a mock feed with both the stable version and a newer prerelease version + var feeds = new List + { + new MockFeed + { + Type = MockFeedType.FeedFromGlobalNugetConfig, + Packages = new List + { + new MockFeedPackage + { + PackageId = _packageIdA.ToString(), + Version = currentStableVersion.ToNormalizedString(), + ToolCommandName = _toolCommandNameA.Value, + }, + new MockFeedPackage + { + PackageId = _packageIdA.ToString(), + Version = newerPrereleaseVersion.ToNormalizedString(), + ToolCommandName = _toolCommandNameA.Value, + } + } + } + }; + + var toolPackageDownloaderMockWithFeeds = new ToolPackageDownloaderMock( + _toolPackageStore, _fileSystem, feeds: feeds); + + IToolManifestFinder fakeManifestFinder = + new MockManifestFinder(new[] { manifestPackage }); + + ToolRestoreCommand toolRestoreCommand = new(_parseResult, + toolPackageDownloaderMockWithFeeds, + fakeManifestFinder, + _localToolsResolverCache, + _fileSystem, + _reporter + ); + + toolRestoreCommand.Execute().Should().Be(0); + + // Should NOT contain warning about the prerelease version + _reporter.Lines.Should().NotContain(l => + l.Contains(string.Format(CliCommandStrings.RestoreNewVersionAvailable, _packageIdA, newerPrereleaseVersion.ToNormalizedString()))); + } + private class MockManifestFinder : IToolManifestFinder { private readonly IReadOnlyCollection _toReturn; From 38dfbc8188808baf6326125ef74bb44dc2e84c9c Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 26 Mar 2026 21:48:37 +0000 Subject: [PATCH 034/137] Update dependencies from build 307981 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26174.114 -> 10.0.0-preview.26176.114) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26174-114 -> 18.3.3-servicing-26176-114) 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.3.0-rc.17514 -> 7.3.0-rc.17714) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26174.114 -> 5.3.0-2.26176.114) 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.26174.114 -> 10.0.0-beta.26176.114) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26174.114 -> 15.2.202-servicing.26176.114) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26174-114 -> 18.3.0-release-26176-114) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26174.114 -> 10.0.202-servicing.26176.114) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 161 insertions(+), 161 deletions(-) diff --git a/NuGet.config b/NuGet.config index 62cec2f1e957..ea88a8aa62a2 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index b23906261702..9af0d274fa20 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26174.114 + 10.0.0-preview.26176.114 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26174-114 - 7.3.0-rc.17514 + 18.3.3-servicing-26176-114 + 7.3.0-rc.17714 10.0.202 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 10.0.0-preview.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 + 10.0.0-preview.26176.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 + 10.0.0-beta.26176.114 + 10.0.0-beta.26176.114 + 10.0.0-beta.26176.114 + 10.0.0-beta.26176.114 + 10.0.0-beta.26176.114 + 10.0.0-beta.26176.114 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 + 10.0.0-beta.26176.114 + 10.0.0-beta.26176.114 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26174.114 + 15.2.202-servicing.26176.114 10.0.4 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 + 5.3.0-2.26176.114 + 5.3.0-2.26176.114 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.114 + 10.0.0-preview.26176.114 10.0.4-servicing.26119.110 - 18.3.0-release-26174-114 + 18.3.0-release-26176-114 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26174.114 + 10.0.202-servicing.26176.114 10.0.202 - 10.0.202-servicing.26174.114 + 10.0.202-servicing.26176.114 10.0.202 10.0.202 - 10.0.202-servicing.26174.114 - 18.3.0-release-26174-114 - 18.3.0-release-26174-114 + 10.0.202-servicing.26176.114 + 18.3.0-release-26176-114 + 18.3.0-release-26176-114 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 + 7.3.0-rc.17714 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 847dd2a16208..c8c8baf5d19e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 8205f49bb392..ffbb7f865b84 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.114", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.114", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 2fc0a97031783518b6ee34d3f7e78a958b1642af Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 23:16:35 +0000 Subject: [PATCH 035/137] [release/10.0.3xx] Fix `dotnet reference add/remove` failing when no `--project` is specified (#53601) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: baronfel <573979+baronfel@users.noreply.github.com> --- .../Reference/Add/ReferenceAddCommand.cs | 2 +- .../Reference/Remove/ReferenceRemoveCommand.cs | 2 +- .../Reference/Add/GivenDotnetAddReference.cs | 16 ++++++++++++++++ .../Reference/Remove/GivenDotnetRemoveP2P.cs | 17 +++++++++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/Cli/dotnet/Commands/Reference/Add/ReferenceAddCommand.cs b/src/Cli/dotnet/Commands/Reference/Add/ReferenceAddCommand.cs index deb1f31ae408..b1f84385e526 100644 --- a/src/Cli/dotnet/Commands/Reference/Add/ReferenceAddCommand.cs +++ b/src/Cli/dotnet/Commands/Reference/Add/ReferenceAddCommand.cs @@ -17,7 +17,7 @@ internal sealed class ReferenceAddCommand : CommandBase Date: Fri, 27 Mar 2026 02:01:51 +0000 Subject: [PATCH 036/137] Update dependencies from https://github.com/microsoft/testfx build 20260326.6 On relative base path root Microsoft.Testing.Platform From Version 2.2.0-preview.26174.1 -> To Version 2.2.0-preview.26176.6 MSTest From Version 4.2.0-preview.26174.1 -> To Version 4.2.0-preview.26176.6 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 17dd5067d527..34cd4f25902b 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 - 2.2.0-preview.26174.1 - 4.2.0-preview.26174.1 + 2.2.0-preview.26176.6 + 4.2.0-preview.26176.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 66edec17a66a..1f9a4a3da45c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -561,13 +561,13 @@ https://github.com/dotnet/dotnet 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/microsoft/testfx - 926d2f3fbfce8f04a1c05e743d28715d93baa5bb + a6a857248711507fe51224a90eaecef43f436f8c - + https://github.com/microsoft/testfx - 926d2f3fbfce8f04a1c05e743d28715d93baa5bb + a6a857248711507fe51224a90eaecef43f436f8c https://github.com/dotnet/dotnet From d30520590449a72c616d8cabcf4ef51e0dd47a47 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 27 Mar 2026 02:02:44 +0000 Subject: [PATCH 037/137] Update dependencies from https://github.com/microsoft/testfx build 20260326.6 On relative base path root Microsoft.Testing.Platform From Version 2.2.0-preview.26174.1 -> To Version 2.2.0-preview.26176.6 MSTest From Version 4.2.0-preview.26174.1 -> To Version 4.2.0-preview.26176.6 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index b23906261702..343d14f11a94 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.0-preview.26174.1 - 4.2.0-preview.26174.1 + 2.2.0-preview.26176.6 + 4.2.0-preview.26176.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 847dd2a16208..d8798b6776fd 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - 926d2f3fbfce8f04a1c05e743d28715d93baa5bb + a6a857248711507fe51224a90eaecef43f436f8c - + https://github.com/microsoft/testfx - 926d2f3fbfce8f04a1c05e743d28715d93baa5bb + a6a857248711507fe51224a90eaecef43f436f8c https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 27d0eb2627e89bb81d35df7e8ca493e909e67351 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 27 Mar 2026 04:52:46 +0000 Subject: [PATCH 038/137] Update dependencies from build 308038 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26174.113 -> 10.0.6-servicing.26176.117) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26174.113 -> 10.0.0-preview.26176.117) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26174-113 -> 18.0.11-servicing-26176-117) 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.0.2-rc.17513 -> 7.0.2-rc.17717) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26174.113 -> 5.0.0-2.26176.117) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26174.113 -> 2.0.0-preview.1.26176.117) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26174.113 -> 10.0.0-beta.26176.117) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26174.113 -> 14.0.106-servicing.26176.117) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26174-113 -> 18.0.2-release-26176-117) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26174.113 -> 10.0.106-servicing.26176.117) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 262 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index 4950d4c01bdc..f0871aea246b 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 17dd5067d527..ce327bd23989 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 + 10.0.6-servicing.26176.117 + 10.0.6-servicing.26176.117 + 10.0.6-servicing.26176.117 + 10.0.6-servicing.26176.117 10.0.6 - 10.0.6-servicing.26174.113 + 10.0.6-servicing.26176.117 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26174.113 + 10.0.6-servicing.26176.117 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26174.113 + 10.0.6-servicing.26176.117 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.0-preview.26174.113 + 10.0.6-servicing.26176.117 + 10.0.6-servicing.26176.117 + 10.0.0-preview.26176.117 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26174-113 - 7.0.2-rc.17513 + 18.0.11-servicing-26176-117 + 7.0.2-rc.17717 10.0.106 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 10.0.0-preview.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 2.0.0-preview.1.26174.113 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 10.0.0-preview.26176.117 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 2.0.0-preview.1.26176.117 2.2.6 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 + 10.0.0-beta.26176.117 + 10.0.0-beta.26176.117 + 10.0.0-beta.26176.117 + 10.0.0-beta.26176.117 + 10.0.0-beta.26176.117 + 10.0.0-beta.26176.117 10.0.6 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 + 10.0.6-servicing.26176.117 + 10.0.6-servicing.26176.117 + 10.0.0-beta.26176.117 + 10.0.0-beta.26176.117 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26174.113 + 14.0.106-servicing.26176.117 10.0.6 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 10.0.6-servicing.26174.113 + 5.0.0-2.26176.117 + 5.0.0-2.26176.117 + 10.0.6-servicing.26176.117 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.113 - 10.0.6-servicing.26174.113 - 18.0.2-release-26174-113 + 10.0.0-preview.26176.117 + 10.0.6-servicing.26176.117 + 18.0.2-release-26176-117 10.0.6 - 10.0.6-servicing.26174.113 + 10.0.6-servicing.26176.117 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26174.113 + 10.0.106-servicing.26176.117 10.0.106 - 10.0.106-servicing.26174.113 + 10.0.106-servicing.26176.117 10.0.106 10.0.106 - 10.0.106-servicing.26174.113 - 18.0.2-release-26174-113 - 18.0.2-release-26174-113 + 10.0.106-servicing.26176.117 + 18.0.2-release-26176-117 + 18.0.2-release-26176-117 3.2.6 10.0.6 - 10.0.6-servicing.26174.113 + 10.0.6-servicing.26176.117 10.0.6 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 + 7.0.2-rc.17717 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 66edec17a66a..8178e175e099 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 diff --git a/global.json b/global.json index 9e488dee1037..b78a234428e7 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.113", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.113", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.117", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.117", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From d4ba56f2ac28ac7511add25caef996ada4bdc66b Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Fri, 27 Mar 2026 09:35:06 +0100 Subject: [PATCH 039/137] Add skill for incremental building (#53479) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/copilot-instructions.md | 1 + .github/copilot/skills/incremental-test.md | 104 +++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 .github/copilot/skills/incremental-test.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index fba4fc668af4..5cb5d96045cd 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -21,6 +21,7 @@ Testing: - Examples: - `dotnet test test/dotnet.Tests/dotnet.Tests.csproj --filter "Name~ItShowsTheAppropriateMessageToTheUser"` - `dotnet exec artifacts/bin/redist/Debug/dotnet.Tests.dll -method "*ItShowsTheAppropriateMessageToTheUser*"` +- For incremental test runs of `dotnet.Tests` (avoids slow full `build.cmd`), see the skill at `.github/copilot/skills/incremental-test.md`. In short: build only the modified projects, copy their output DLLs into the redist SDK layout, then run the tests. - To test CLI command changes: - Build the redist SDK: `./build.sh` from repo root - Create a dogfood environment: `source eng/dogfood.sh` diff --git a/.github/copilot/skills/incremental-test.md b/.github/copilot/skills/incremental-test.md new file mode 100644 index 000000000000..a15c42f6cd28 --- /dev/null +++ b/.github/copilot/skills/incremental-test.md @@ -0,0 +1,104 @@ +# Incremental Test Runner for dotnet.Tests + +This skill enables fast incremental test runs of `dotnet.Tests` without a full `build.cmd` rebuild. +Use it after making source code changes to quickly build only the modified projects and deploy their outputs into the redist SDK layout so tests can run against them. + +## Prerequisites + +- A full build must have been completed at least once (via `build.cmd` or `build.sh`) so that the redist SDK layout exists at `artifacts\bin\redist\Debug\dotnet\sdk\\`. +- This workflow uses Windows/PowerShell commands and paths. On macOS/Linux, substitute forward slashes and use `cp` instead of `Copy-Item`. + +## When to use + +Use this skill when you need to run `dotnet.Tests` after modifying source code in one or more SDK projects. It avoids the slow full `build.cmd` by only rebuilding the changed projects and copying their output DLLs into the redist layout. + +## Workflow + +### Step 1: Identify modified projects + +Determine which projects have been modified. Use context from: +- The files you just edited in this session. +- Or `git status`/`git diff` to find changed `.cs` files and map them to their `.csproj` projects. + +### Step 2: Build modified projects + +Build each modified project individually using the repo-local dotnet: + +``` +.\.dotnet\dotnet build -c Debug +``` + +For example: +``` +.\.dotnet\dotnet build src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj -c Debug +``` + +If the `dotnet` CLI project itself was modified, build it: +``` +.\.dotnet\dotnet build src\Cli\dotnet\dotnet.csproj -c Debug +``` + +### Step 3: Copy output DLLs to the redist SDK layout + +Discover the SDK version directory name: +```powershell +$sdkVersion = (Get-ChildItem artifacts\bin\redist\Debug\dotnet\sdk -Directory | Sort-Object LastWriteTime -Descending | Select-Object -First 1).Name +``` + +For each modified project, copy its output DLL (and any satellite assemblies) from the project's build output to the redist SDK directory: + +``` +Source: artifacts\bin\\Debug\net10.0\.dll +Target: artifacts\bin\redist\Debug\dotnet\sdk\\ +``` + +For example: +```powershell +Copy-Item artifacts\bin\Microsoft.DotNet.ProjectTools\Debug\net10.0\Microsoft.DotNet.ProjectTools.dll artifacts\bin\redist\Debug\dotnet\sdk\$sdkVersion\ +Copy-Item artifacts\bin\Microsoft.DotNet.Cli.Utils\Debug\net10.0\Microsoft.DotNet.Cli.Utils.dll artifacts\bin\redist\Debug\dotnet\sdk\$sdkVersion\ +``` + +The `dotnet` project is special — it builds into `artifacts\bin\dotnet\Debug\net10.0\` and its `dotnet.dll` must be copied to the SDK directory: +```powershell +Copy-Item artifacts\bin\dotnet\Debug\net10.0\dotnet.dll artifacts\bin\redist\Debug\dotnet\sdk\$sdkVersion\ +``` + +**Important notes:** +- For typical incremental edits, only copy DLLs that are **already present** in the target directory. If your change introduces a new shipped assembly or moves assemblies, you will need a full `build.cmd`/`build.sh` to update the layout correctly. +- Some projects multi-target (e.g., `net10.0` and `net472`). Always use the `net10.0` output. +- If localization resource DLLs were changed (in subdirectories like `cs\`, `de\`, etc.), copy those too. + +### Step 4: Build the test project (if test code was modified) + +The test project `test\dotnet.Tests\dotnet.Tests.csproj` outputs directly to `artifacts\bin\redist\Debug\` (via `TestHostFolder`), so just build it: + +``` +.\.dotnet\dotnet build test\dotnet.Tests\dotnet.Tests.csproj +``` + +### Step 5: Run the tests + +Run specific tests: +``` +.\.dotnet\dotnet exec artifacts\bin\redist\Debug\dotnet.Tests.dll -method "*TestMethodName*" +``` + +Or run filtered tests via `dotnet test`: +``` +.\.dotnet\dotnet test test\dotnet.Tests\dotnet.Tests.csproj --no-build --filter "Name~TestMethodName" +``` + +## Common project paths + +| Assembly | Project Path | +|---|---| +| `dotnet.dll` | `src\Cli\dotnet\dotnet.csproj` | +| `Microsoft.DotNet.Cli.Utils.dll` | `src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj` | +| `Microsoft.DotNet.Cli.Definitions.dll` | `src\Cli\Microsoft.DotNet.Cli.Definitions\Microsoft.DotNet.Cli.Definitions.csproj` | +| `Microsoft.DotNet.Cli.CoreUtils.dll` | `src\Cli\Microsoft.DotNet.Cli.CoreUtils\Microsoft.DotNet.Cli.CoreUtils.csproj` | +| `Microsoft.DotNet.Configurer.dll` | `src\Cli\Microsoft.DotNet.Configurer\Microsoft.DotNet.Configurer.csproj` | +| `Microsoft.DotNet.ProjectTools.dll` | `src\Microsoft.DotNet.ProjectTools\Microsoft.DotNet.ProjectTools.csproj` | +| `Microsoft.DotNet.NativeWrapper.dll` | `src\Resolvers\Microsoft.DotNet.NativeWrapper\Microsoft.DotNet.NativeWrapper.csproj` | +| `Microsoft.DotNet.TemplateLocator.dll` | `src\Microsoft.DotNet.TemplateLocator\Microsoft.DotNet.TemplateLocator.csproj` | +| `Microsoft.DotNet.InternalAbstractions.dll` | `src\Cli\Microsoft.DotNet.InternalAbstractions\Microsoft.DotNet.InternalAbstractions.csproj` | +| `dotnet.Tests.dll` | `test\dotnet.Tests\dotnet.Tests.csproj` | From e76fe19460e65b6df1691db559140bb5cef46ad8 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 28 Mar 2026 02:03:18 +0000 Subject: [PATCH 040/137] Update dependencies from https://github.com/microsoft/testfx build 20260327.4 On relative base path root Microsoft.Testing.Platform From Version 2.2.0-preview.26174.1 -> To Version 2.2.1-preview.26177.4 MSTest From Version 4.2.0-preview.26174.1 -> To Version 4.2.1-preview.26177.4 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 34cd4f25902b..9cbad830b6ee 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 - 2.2.0-preview.26176.6 - 4.2.0-preview.26176.6 + 2.2.1-preview.26177.4 + 4.2.1-preview.26177.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1f9a4a3da45c..a1549244e65b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -561,13 +561,13 @@ https://github.com/dotnet/dotnet 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/microsoft/testfx - a6a857248711507fe51224a90eaecef43f436f8c + 4bc0cfcc420247cf6111fca7f8e914a9706634dd - + https://github.com/microsoft/testfx - a6a857248711507fe51224a90eaecef43f436f8c + 4bc0cfcc420247cf6111fca7f8e914a9706634dd https://github.com/dotnet/dotnet From d59c0811aa7503dfabccab14863a6a0e8375f08b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 28 Mar 2026 02:04:07 +0000 Subject: [PATCH 041/137] Update dependencies from https://github.com/microsoft/testfx build 20260327.4 On relative base path root Microsoft.Testing.Platform From Version 2.2.0-preview.26174.1 -> To Version 2.2.1-preview.26177.4 MSTest From Version 4.2.0-preview.26174.1 -> To Version 4.2.1-preview.26177.4 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 343d14f11a94..e1ed9e66f269 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.0-preview.26176.6 - 4.2.0-preview.26176.6 + 2.2.1-preview.26177.4 + 4.2.1-preview.26177.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d8798b6776fd..90401b2e8b5f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - a6a857248711507fe51224a90eaecef43f436f8c + 4bc0cfcc420247cf6111fca7f8e914a9706634dd - + https://github.com/microsoft/testfx - a6a857248711507fe51224a90eaecef43f436f8c + 4bc0cfcc420247cf6111fca7f8e914a9706634dd https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 24ddee2bc03d0db324d2ce0f9fe48d4cd1a6bf25 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 28 Mar 2026 03:09:42 +0000 Subject: [PATCH 042/137] Update dependencies from build 308170 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26176.117 -> 10.0.6-servicing.26177.110) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26176.117 -> 10.0.0-preview.26177.110) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26176-117 -> 18.0.11-servicing-26177-110) 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.0.2-rc.17717 -> 7.0.2-rc.17810) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26176.117 -> 5.0.0-2.26177.110) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26176.117 -> 2.0.0-preview.1.26177.110) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26176.117 -> 10.0.0-beta.26177.110) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26176.117 -> 14.0.106-servicing.26177.110) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26176-117 -> 18.0.2-release-26177-110) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26176.117 -> 10.0.106-servicing.26177.110) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 1 - eng/Version.Details.props | 126 ++++++------ eng/Version.Details.xml | 392 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 261 insertions(+), 262 deletions(-) diff --git a/NuGet.config b/NuGet.config index f0871aea246b..0c7505bf1ba0 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index ce327bd23989..67ae5cb611f0 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26176.117 - 10.0.6-servicing.26176.117 - 10.0.6-servicing.26176.117 - 10.0.6-servicing.26176.117 + 10.0.6-servicing.26177.110 + 10.0.6-servicing.26177.110 + 10.0.6-servicing.26177.110 + 10.0.6-servicing.26177.110 10.0.6 - 10.0.6-servicing.26176.117 + 10.0.6-servicing.26177.110 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26176.117 + 10.0.6-servicing.26177.110 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26176.117 + 10.0.6-servicing.26177.110 10.0.6 - 10.0.6-servicing.26176.117 - 10.0.6-servicing.26176.117 - 10.0.0-preview.26176.117 + 10.0.6-servicing.26177.110 + 10.0.6-servicing.26177.110 + 10.0.0-preview.26177.110 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26176-117 - 7.0.2-rc.17717 + 18.0.11-servicing-26177-110 + 7.0.2-rc.17810 10.0.106 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 10.0.0-preview.26176.117 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 2.0.0-preview.1.26176.117 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 10.0.0-preview.26177.110 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 2.0.0-preview.1.26177.110 2.2.6 - 10.0.0-beta.26176.117 - 10.0.0-beta.26176.117 - 10.0.0-beta.26176.117 - 10.0.0-beta.26176.117 - 10.0.0-beta.26176.117 - 10.0.0-beta.26176.117 + 10.0.0-beta.26177.110 + 10.0.0-beta.26177.110 + 10.0.0-beta.26177.110 + 10.0.0-beta.26177.110 + 10.0.0-beta.26177.110 + 10.0.0-beta.26177.110 10.0.6 10.0.6 - 10.0.6-servicing.26176.117 - 10.0.6-servicing.26176.117 - 10.0.0-beta.26176.117 - 10.0.0-beta.26176.117 + 10.0.6-servicing.26177.110 + 10.0.6-servicing.26177.110 + 10.0.0-beta.26177.110 + 10.0.0-beta.26177.110 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26176.117 + 14.0.106-servicing.26177.110 10.0.6 - 5.0.0-2.26176.117 - 5.0.0-2.26176.117 - 10.0.6-servicing.26176.117 + 5.0.0-2.26177.110 + 5.0.0-2.26177.110 + 10.0.6-servicing.26177.110 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26176.117 - 10.0.6-servicing.26176.117 - 18.0.2-release-26176-117 + 10.0.0-preview.26177.110 + 10.0.6-servicing.26177.110 + 18.0.2-release-26177-110 10.0.6 - 10.0.6-servicing.26176.117 + 10.0.6-servicing.26177.110 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26176.117 + 10.0.106-servicing.26177.110 10.0.106 - 10.0.106-servicing.26176.117 + 10.0.106-servicing.26177.110 10.0.106 10.0.106 - 10.0.106-servicing.26176.117 - 18.0.2-release-26176-117 - 18.0.2-release-26176-117 + 10.0.106-servicing.26177.110 + 18.0.2-release-26177-110 + 18.0.2-release-26177-110 3.2.6 10.0.6 - 10.0.6-servicing.26176.117 + 10.0.6-servicing.26177.110 10.0.6 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 - 7.0.2-rc.17717 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 + 7.0.2-rc.17810 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 8178e175e099..43eee7938d4a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - 8dc731afc09c5dca3dc7cee575f3bf0c61c2d919 + 6713f124fc53de19b420be2e0247d8f80868edb2 diff --git a/global.json b/global.json index b78a234428e7..97e18dab0241 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.117", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.117", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26177.110", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26177.110", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 1ae44458279d677e98439776d3dca7da331821a3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Sat, 28 Mar 2026 12:06:57 +0100 Subject: [PATCH 043/137] [release/10.0.3xx] Source code updates from dotnet/dotnet (#53618) Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index bc03bc8ecdb2..84866cc30e00 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26176.111 + 10.0.0-preview.26177.108 10.0.5 10.0.5 - 18.6.0-preview-26176-111 - 18.6.0-preview-26176-111 - 7.6.0-rc.17711 - 10.0.300-alpha.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 10.0.0-preview.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 + 18.6.0-preview-26177-108 + 18.6.0-preview-26177-108 + 7.6.0-rc.17808 + 10.0.300-alpha.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 10.0.0-preview.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26176.111 - 10.0.0-beta.26176.111 - 10.0.0-beta.26176.111 - 10.0.0-beta.26176.111 - 10.0.0-beta.26176.111 - 10.0.0-beta.26176.111 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26176.111 - 10.0.0-beta.26176.111 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26176.111 + 15.2.300-servicing.26177.108 10.0.5 - 5.6.0-2.26176.111 - 5.6.0-2.26176.111 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26176.111 + 10.0.0-preview.26177.108 10.0.5-servicing.26153.111 - 18.3.0-release-26176-111 + 18.3.0-release-26177-108 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26176.111 - 10.0.300-alpha.26176.111 - 10.0.300-alpha.26176.111 - 10.0.300-alpha.26176.111 - 10.0.300-alpha.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 10.0.300-preview.26176.111 - 18.3.0-release-26176-111 - 18.3.0-release-26176-111 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 18.3.0-release-26177-108 + 18.3.0-release-26177-108 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 - 7.6.0-rc.17711 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 33aee755526f..a86870b4ccf5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 42d6a4c2c669419a1f10edac6999d02dc2c204ac + cf1948f9c20bc33556719613def8cbbf05e9865f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index ec391a7b8286..be9a12a56f75 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.111", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.111", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26177.108", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26177.108", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 78b0f83de951c6b2a1661fc516bc4bf1f80477d2 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Sat, 28 Mar 2026 04:41:41 -0700 Subject: [PATCH 044/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2938097 --- src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf index 949d8ff029b7..0c3e1c231eb2 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf @@ -1339,7 +1339,7 @@ Nástroj {1} (verze {2}) se úspěšně nainstaloval. Do souboru manifestu {3} s A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + K dispozici je novější verze nástroje {0} (verze{1}). Zvažte aktualizaci souboru manifestu. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf index 6268859bf8c5..71c827109717 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf @@ -1339,7 +1339,7 @@ Das Tool "{1}" (Version {2}) wurde erfolgreich installiert. Der Eintrag wird der A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + Eine neuere Version des Tools „{0}“ ist verfügbar (Version „{1}“). Aktualisieren Sie bestenfalls Ihre Manifestdatei. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf index 323fa4f3e421..5d5198d5e4d7 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf @@ -1339,7 +1339,7 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. Se ha agregado A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + Hay disponible una versión más reciente de la herramienta ''{0}'' (versión ''{1}''). Considere la posibilidad de actualizar el archivo de manifiesto. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf index ad6fcc2de5ba..5cbb4801ae70 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf @@ -1339,7 +1339,7 @@ L'outil '{1}' (version '{2}') a été correctement installé. L'entrée est ajou A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + Une version plus récente de l’outil « {0} » est disponible (version « {1} »). Pensez à mettre à jour votre fichier manifeste. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf index aa395fb773c2..1517e846f0e5 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf @@ -1339,7 +1339,7 @@ Lo strumento '{1}' versione '{2}' è stato installato. La voce è stata aggiunta A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + È disponibile una versione più recente dello strumento "{0}" (versione "{1}"). Considerare di aggiornare il file manifesto. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf index 91efd4721d19..8919ef774606 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf @@ -1339,7 +1339,7 @@ Narzędzie „{1}” (wersja „{2}”) zostało pomyślnie zainstalowane. Wpis A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + Dostępna jest nowsza wersja narzędzia „{0}” (wersja „{1}”). Rozważ zaktualizowanie pliku manifestu. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf index 6538926d0aed..37cf2fda2adc 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf @@ -1339,7 +1339,7 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. A entrada foi adici A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + Uma versão mais recente da ferramenta "{0}" está disponível (versão "{1}"). Considere atualizar o arquivo de manifesto. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf index 6b5c4b7a2392..e795d89891e2 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf @@ -1339,7 +1339,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + 有較新版本的工具 '{0}' 可用 (版本 '{1}')。請考慮更新您的資訊清單檔。 From b8ff208352b69a604269e457d03804c0816f1dc6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2026 01:40:24 +0000 Subject: [PATCH 045/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 270 +++++++-------- eng/Version.Details.xml | 681 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 481 insertions(+), 480 deletions(-) diff --git a/NuGet.config b/NuGet.config index 4950d4c01bdc..62cec2f1e957 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 9cbad830b6ee..b23906261702 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,142 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.0-preview.26174.113 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26174-113 - 7.0.2-rc.17513 - 10.0.106 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 10.0.0-preview.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 2.0.0-preview.1.26174.113 - 2.2.6 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26174.113 - 10.0.6 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26174.114 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26174-114 + 7.3.0-rc.17514 + 10.0.202 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 10.0.0-preview.26174.114 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26174.114 + 10.0.0-beta.26174.114 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26174.114 + 10.0.4 + 5.3.0-2.26174.114 + 5.3.0-2.26174.114 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.113 - 10.0.6-servicing.26174.113 - 18.0.2-release-26174-113 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26174.113 - 10.0.106 - 10.0.106-servicing.26174.113 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26174.113 - 18.0.2-release-26174-113 - 18.0.2-release-26174-113 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26174.114 + 10.0.4-servicing.26119.110 + 18.3.0-release-26174-114 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26174.114 + 10.0.202 + 10.0.202-servicing.26174.114 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26174.114 + 18.3.0-release-26174-114 + 18.3.0-release-26174-114 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 7.3.0-rc.17514 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 - 2.2.1-preview.26177.4 - 4.2.1-preview.26177.4 + 2.2.0-preview.26174.1 + 4.2.0-preview.26174.1 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a1549244e65b..847dd2a16208 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 3f7694a10a5075ca61531ca4aa99082acdef048f - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + 926d2f3fbfce8f04a1c05e743d28715d93baa5bb - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + 926d2f3fbfce8f04a1c05e743d28715d93baa5bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 9e488dee1037..8205f49bb392 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.113", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.113", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From e8edd90810e634a6f6f8075b6277d0dbc0bd3e9f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2026 01:41:30 +0000 Subject: [PATCH 046/137] Reset files to release/10.0.3xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 1 - eng/Version.Details.props | 274 ++++++++++--------- eng/Version.Details.xml | 551 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 425 insertions(+), 407 deletions(-) diff --git a/NuGet.config b/NuGet.config index 62cec2f1e957..f3f728c95515 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index e1ed9e66f269..84866cc30e00 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,145 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.0-preview.26174.114 - 10.0.4 - 10.0.4 - 18.3.3 - 18.3.3-servicing-26174-114 - 7.3.0-rc.17514 - 10.0.202 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 10.0.0-preview.26174.114 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 2.0.0-preview.1.26119.110 - 2.2.4 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.0-beta.26174.114 - 10.0.0-beta.26174.114 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 15.2.202-servicing.26174.114 - 10.0.4 - 5.3.0-2.26174.114 - 5.3.0-2.26174.114 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-preview.26177.108 + 10.0.5 + 10.0.5 + 18.6.0-preview-26177-108 + 18.6.0-preview-26177-108 + 7.6.0-rc.17808 + 10.0.300-alpha.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 10.0.0-preview.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 2.0.0-preview.1.26153.111 + 2.2.5 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-beta.26177.108 + 10.0.0-beta.26177.108 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 15.2.300-servicing.26177.108 + 10.0.5 + 5.6.0-2.26177.108 + 5.6.0-2.26177.108 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.114 - 10.0.4-servicing.26119.110 - 18.3.0-release-26174-114 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26174.114 - 10.0.202 - 10.0.202-servicing.26174.114 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26174.114 - 18.3.0-release-26174-114 - 18.3.0-release-26174-114 - 3.2.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 7.3.0-rc.17514 - 10.0.4 - 2.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 + 10.0.0-preview.26177.108 + 10.0.5-servicing.26153.111 + 18.3.0-release-26177-108 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-alpha.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 10.0.300-preview.26177.108 + 18.3.0-release-26177-108 + 18.3.0-release-26177-108 + 3.2.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 7.6.0-rc.17808 + 10.0.5 + 2.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 - 2.2.1-preview.26177.4 - 4.2.1-preview.26177.4 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 @@ -190,6 +193,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -201,9 +205,11 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 90401b2e8b5f..a86870b4ccf5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 @@ -68,170 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f + + + https://github.com/dotnet/dotnet + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 + + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f + + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://github.com/dotnet/dotnet - 3f7694a10a5075ca61531ca4aa99082acdef048f + cf1948f9c20bc33556719613def8cbbf05e9865f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 diff --git a/global.json b/global.json index 8205f49bb392..be9a12a56f75 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.201", + "dotnet": "10.0.105", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.114", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.114", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26177.108", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26177.108", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 06d787f1d08036d6d645a28a253f5ed8a8a9f116 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Sun, 29 Mar 2026 19:27:45 -0700 Subject: [PATCH 047/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2938919 --- src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf index 50e25379136a..775a01a53db6 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf @@ -1339,7 +1339,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + ツール '{0}' の新しいバージョン (バージョン '{1}') が使用可能です。マニフェスト ファイルの更新を検討してください。 diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf index 8e11b85aec17..7a5f96cd6908 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf @@ -1339,7 +1339,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + 도구 '{0}'의 최신 버전을 사용할 수 있습니다(버전 '{1}'). 매니페스트 파일을 업데이트해 보세요. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf index 94c78c2068bc..69230de66319 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf @@ -1339,7 +1339,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + Доступна новая версия инструмента "{0}" (версия "{1}"). Рассмотрите возможность обновить файл манифеста. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf index 9dc6ccad5ace..d8e935cf8383 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf @@ -1339,7 +1339,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + '{0}' aracının daha yeni bir sürümü kullanılabilir ('{1}' sürümü). Bildirim dosyanızı güncelleştirmeyi göz önünde bulundurun. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf index 4f4a1765f804..832fdc332137 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf @@ -1339,7 +1339,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. - A newer version of tool '{0}' is available (version '{1}'). Consider updating your manifest file. + 工具“{0}”有新版本可用(版本“{1}”)。请考虑更新清单文件。 From 2d58d49008a0c21f8f1d369f8186d0f91f779b6e Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 30 Mar 2026 13:09:52 +0000 Subject: [PATCH 048/137] Update dependencies from build 308358 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26177.108 -> 10.0.0-preview.26180.104) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26177-108 -> 18.6.0-preview-26180-104) 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.6.0-rc.17808 -> 7.6.0-rc.18104) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26177.108 -> 10.0.300-alpha.26180.104) 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.6.0-2.26177.108 -> 5.6.0-2.26180.104) 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.26177.108 -> 10.0.0-beta.26180.104) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26177.108 -> 15.2.300-servicing.26180.104) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26177-108 -> 18.3.0-release-26180-104) 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.300-preview.26177.108 -> 10.0.300-preview.26180.104) [[ commit created by automation ]] --- eng/Version.Details.props | 124 ++++----- eng/Version.Details.xml | 250 +++++++++--------- eng/common/core-templates/job/onelocbuild.yml | 4 +- .../job/publish-build-assets.yml | 4 +- .../core-templates/post-build/post-build.yml | 16 +- .../variables/pool-providers.yml | 2 +- .../templates/variables/pool-providers.yml | 2 +- global.json | 4 +- 8 files changed, 203 insertions(+), 203 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 84866cc30e00..5597527a5d41 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26177.108 + 10.0.0-preview.26180.104 10.0.5 10.0.5 - 18.6.0-preview-26177-108 - 18.6.0-preview-26177-108 - 7.6.0-rc.17808 - 10.0.300-alpha.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 10.0.0-preview.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 + 18.6.0-preview-26180-104 + 18.6.0-preview-26180-104 + 7.6.0-rc.18104 + 10.0.300-alpha.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 10.0.0-preview.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26177.108 - 10.0.0-beta.26177.108 - 10.0.0-beta.26177.108 - 10.0.0-beta.26177.108 - 10.0.0-beta.26177.108 - 10.0.0-beta.26177.108 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26177.108 - 10.0.0-beta.26177.108 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26177.108 + 15.2.300-servicing.26180.104 10.0.5 - 5.6.0-2.26177.108 - 5.6.0-2.26177.108 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26177.108 + 10.0.0-preview.26180.104 10.0.5-servicing.26153.111 - 18.3.0-release-26177-108 + 18.3.0-release-26180-104 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26177.108 - 10.0.300-alpha.26177.108 - 10.0.300-alpha.26177.108 - 10.0.300-alpha.26177.108 - 10.0.300-alpha.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 10.0.300-preview.26177.108 - 18.3.0-release-26177-108 - 18.3.0-release-26177-108 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 18.3.0-release-26180-104 + 18.3.0-release-26180-104 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 - 7.6.0-rc.17808 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a86870b4ccf5..09d45bf23ba1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - cf1948f9c20bc33556719613def8cbbf05e9865f + 36b89c782bda10112c52396d9f0fe18171b60604 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index c5788829a872..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index b955fac6e13f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -74,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b942a79ef02d..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -120,7 +120,7 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng @@ -164,14 +164,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -225,14 +225,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -286,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/global.json b/global.json index be9a12a56f75..d998ac645145 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26177.108", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26177.108", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.104", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.104", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 7fc5e2f19a66ee58120bb3c2ba677766494f30d5 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 30 Mar 2026 21:41:24 +0000 Subject: [PATCH 049/137] Update dependencies from build 308437 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26176.114 -> 10.0.0-preview.26180.114) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26176-114 -> 18.3.3-servicing-26180-114) 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.3.0-rc.17714 -> 7.3.0-rc.18114) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26176.114 -> 5.3.0-2.26180.114) 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.26176.114 -> 10.0.0-beta.26180.114) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26176.114 -> 15.2.202-servicing.26180.114) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26176-114 -> 18.3.0-release-26180-114) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26176.114 -> 10.0.202-servicing.26180.114) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 161 insertions(+), 161 deletions(-) diff --git a/NuGet.config b/NuGet.config index ea88a8aa62a2..c8d51c022f14 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 350a426430c3..637812431e37 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26176.114 + 10.0.0-preview.26180.114 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26176-114 - 7.3.0-rc.17714 + 18.3.3-servicing-26180-114 + 7.3.0-rc.18114 10.0.202 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 - 10.0.0-preview.26176.114 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 10.0.0-preview.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26176.114 - 10.0.0-beta.26176.114 - 10.0.0-beta.26176.114 - 10.0.0-beta.26176.114 - 10.0.0-beta.26176.114 - 10.0.0-beta.26176.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26176.114 - 10.0.0-beta.26176.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26176.114 + 15.2.202-servicing.26180.114 10.0.4 - 5.3.0-2.26176.114 - 5.3.0-2.26176.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26176.114 + 10.0.0-preview.26180.114 10.0.4-servicing.26119.110 - 18.3.0-release-26176-114 + 18.3.0-release-26180-114 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26176.114 + 10.0.202-servicing.26180.114 10.0.202 - 10.0.202-servicing.26176.114 + 10.0.202-servicing.26180.114 10.0.202 10.0.202 - 10.0.202-servicing.26176.114 - 18.3.0-release-26176-114 - 18.3.0-release-26176-114 + 10.0.202-servicing.26180.114 + 18.3.0-release-26180-114 + 18.3.0-release-26180-114 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 - 7.3.0-rc.17714 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d1e82a2f6428..918d7947fc04 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - fe2ab887a1f927eecfd09ddfc4fb8e2ddf1607ee + 08b48122393c7197185c7d08212395087ce706bb https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index ffbb7f865b84..b57f2cd3f739 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26176.114", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26176.114", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 6c53e98084dbf53bb271d3ddf266d016ba34fb9e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2026 01:46:38 +0000 Subject: [PATCH 050/137] Reset files to release/10.0.3xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 1 - eng/Version.Details.props | 274 ++++----- eng/Version.Details.xml | 551 +++++++++--------- eng/common/core-templates/job/onelocbuild.yml | 4 +- .../job/publish-build-assets.yml | 4 +- .../core-templates/post-build/post-build.yml | 16 +- .../variables/pool-providers.yml | 2 +- .../templates/variables/pool-providers.yml | 2 +- global.json | 6 +- 9 files changed, 439 insertions(+), 421 deletions(-) diff --git a/NuGet.config b/NuGet.config index c8d51c022f14..f3f728c95515 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 637812431e37..5597527a5d41 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,145 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.0-preview.26180.114 - 10.0.4 - 10.0.4 - 18.3.3 - 18.3.3-servicing-26180-114 - 7.3.0-rc.18114 - 10.0.202 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 10.0.0-preview.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 2.0.0-preview.1.26119.110 - 2.2.4 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 15.2.202-servicing.26180.114 - 10.0.4 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-preview.26180.104 + 10.0.5 + 10.0.5 + 18.6.0-preview-26180-104 + 18.6.0-preview-26180-104 + 7.6.0-rc.18104 + 10.0.300-alpha.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 10.0.0-preview.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 2.0.0-preview.1.26153.111 + 2.2.5 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-beta.26180.104 + 10.0.0-beta.26180.104 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 15.2.300-servicing.26180.104 + 10.0.5 + 5.6.0-2.26180.104 + 5.6.0-2.26180.104 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26180.114 - 10.0.4-servicing.26119.110 - 18.3.0-release-26180-114 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26180.114 - 10.0.202 - 10.0.202-servicing.26180.114 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26180.114 - 18.3.0-release-26180-114 - 18.3.0-release-26180-114 - 3.2.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 10.0.4 - 2.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 + 10.0.0-preview.26180.104 + 10.0.5-servicing.26153.111 + 18.3.0-release-26180-104 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-alpha.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 10.0.300-preview.26180.104 + 18.3.0-release-26180-104 + 18.3.0-release-26180-104 + 3.2.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 7.6.0-rc.18104 + 10.0.5 + 2.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 - 2.2.1-preview.26177.4 - 4.2.1-preview.26177.4 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 @@ -190,6 +193,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -201,9 +205,11 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 918d7947fc04..09d45bf23ba1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 @@ -68,170 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 + + + https://github.com/dotnet/dotnet + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 + + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 + + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 36b89c782bda10112c52396d9f0fe18171b60604 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index c5788829a872..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index b955fac6e13f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -74,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b942a79ef02d..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -120,7 +120,7 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng @@ -164,14 +164,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -225,14 +225,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -286,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/global.json b/global.json index b57f2cd3f739..d998ac645145 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.201", + "dotnet": "10.0.105", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.114", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.114", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.104", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.104", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From f6f7b04928daf23b4619afc55a28eb113d93f2d3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 31 Mar 2026 02:03:33 +0000 Subject: [PATCH 051/137] Update dependencies from https://github.com/microsoft/testfx build 20260330.5 On relative base path root Microsoft.Testing.Platform From Version 2.2.1-preview.26177.4 -> To Version 2.2.1-preview.26180.5 MSTest From Version 4.2.1-preview.26177.4 -> To Version 4.2.1-preview.26180.5 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 9cbad830b6ee..38321fab2619 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 - 2.2.1-preview.26177.4 - 4.2.1-preview.26177.4 + 2.2.1-preview.26180.5 + 4.2.1-preview.26180.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a1549244e65b..552bb094a2cc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -561,13 +561,13 @@ https://github.com/dotnet/dotnet 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 https://github.com/dotnet/dotnet From edef559d3cc90296f347fdeb5a114a3ae4d30b18 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 31 Mar 2026 02:03:59 +0000 Subject: [PATCH 052/137] Update dependencies from https://github.com/microsoft/testfx build 20260330.5 On relative base path root Microsoft.Testing.Platform From Version 2.2.1-preview.26177.4 -> To Version 2.2.1-preview.26180.5 MSTest From Version 4.2.1-preview.26177.4 -> To Version 4.2.1-preview.26180.5 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 637812431e37..eb799f1ed009 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.1-preview.26177.4 - 4.2.1-preview.26177.4 + 2.2.1-preview.26180.5 + 4.2.1-preview.26180.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 918d7947fc04..3767e7cbed0d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 - + https://github.com/microsoft/testfx - 4bc0cfcc420247cf6111fca7f8e914a9706634dd + f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From f9c27821ebe37cd5f78511853693d972f521b970 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 31 Mar 2026 02:36:52 +0000 Subject: [PATCH 053/137] Update dependencies from build 308463 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26180.104 -> 10.0.0-preview.26180.119) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26180-104 -> 18.6.0-preview-26180-119) 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.6.0-rc.18104 -> 7.6.0-rc.18119) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26180.104 -> 10.0.300-alpha.26180.119) 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.6.0-2.26180.104 -> 5.6.0-2.26180.119) 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.26180.104 -> 10.0.0-beta.26180.119) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26180.104 -> 15.2.300-servicing.26180.119) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26180-104 -> 18.3.0-release-26180-119) 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.300-preview.26180.104 -> 10.0.300-preview.26180.119) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 5597527a5d41..8997ace284db 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26180.104 + 10.0.0-preview.26180.119 10.0.5 10.0.5 - 18.6.0-preview-26180-104 - 18.6.0-preview-26180-104 - 7.6.0-rc.18104 - 10.0.300-alpha.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 10.0.0-preview.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 + 18.6.0-preview-26180-119 + 18.6.0-preview-26180-119 + 7.6.0-rc.18119 + 10.0.300-alpha.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 10.0.0-preview.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26180.104 - 10.0.0-beta.26180.104 - 10.0.0-beta.26180.104 - 10.0.0-beta.26180.104 - 10.0.0-beta.26180.104 - 10.0.0-beta.26180.104 + 10.0.0-beta.26180.119 + 10.0.0-beta.26180.119 + 10.0.0-beta.26180.119 + 10.0.0-beta.26180.119 + 10.0.0-beta.26180.119 + 10.0.0-beta.26180.119 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26180.104 - 10.0.0-beta.26180.104 + 10.0.0-beta.26180.119 + 10.0.0-beta.26180.119 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26180.104 + 15.2.300-servicing.26180.119 10.0.5 - 5.6.0-2.26180.104 - 5.6.0-2.26180.104 + 5.6.0-2.26180.119 + 5.6.0-2.26180.119 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26180.104 + 10.0.0-preview.26180.119 10.0.5-servicing.26153.111 - 18.3.0-release-26180-104 + 18.3.0-release-26180-119 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26180.104 - 10.0.300-alpha.26180.104 - 10.0.300-alpha.26180.104 - 10.0.300-alpha.26180.104 - 10.0.300-alpha.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 10.0.300-preview.26180.104 - 18.3.0-release-26180-104 - 18.3.0-release-26180-104 + 10.0.300-alpha.26180.119 + 10.0.300-alpha.26180.119 + 10.0.300-alpha.26180.119 + 10.0.300-alpha.26180.119 + 10.0.300-alpha.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 10.0.300-preview.26180.119 + 18.3.0-release-26180-119 + 18.3.0-release-26180-119 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 - 7.6.0-rc.18104 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 + 7.6.0-rc.18119 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 09d45bf23ba1..2370d1885233 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 - + https://github.com/dotnet/dotnet - 36b89c782bda10112c52396d9f0fe18171b60604 + 8a5b648d38af07762128f9304e1e36fc819bcb57 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index d998ac645145..0d6de2a51448 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.104", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.104", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.119", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.119", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 4db0972d066ff52fd52a9bd8af3c9ebb2a346fb4 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 31 Mar 2026 02:58:01 +0000 Subject: [PATCH 054/137] Update dependencies from build 308465 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26180.114 -> 10.0.0-preview.26180.121) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26180-114 -> 18.3.3-servicing-26180-121) 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.3.0-rc.18114 -> 7.3.0-rc.18121) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26180.114 -> 5.3.0-2.26180.121) 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.26180.114 -> 10.0.0-beta.26180.121) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26180.114 -> 15.2.202-servicing.26180.121) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26180-114 -> 18.3.0-release-26180-121) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26180.114 -> 10.0.202-servicing.26180.121) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 161 insertions(+), 161 deletions(-) diff --git a/NuGet.config b/NuGet.config index c8d51c022f14..65b4b1763b0a 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 637812431e37..8dfbc720db39 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26180.114 + 10.0.0-preview.26180.121 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26180-114 - 7.3.0-rc.18114 + 18.3.3-servicing-26180-121 + 7.3.0-rc.18121 10.0.202 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 - 10.0.0-preview.26180.114 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 + 10.0.0-preview.26180.121 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 + 10.0.0-beta.26180.121 + 10.0.0-beta.26180.121 + 10.0.0-beta.26180.121 + 10.0.0-beta.26180.121 + 10.0.0-beta.26180.121 + 10.0.0-beta.26180.121 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26180.114 - 10.0.0-beta.26180.114 + 10.0.0-beta.26180.121 + 10.0.0-beta.26180.121 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26180.114 + 15.2.202-servicing.26180.121 10.0.4 - 5.3.0-2.26180.114 - 5.3.0-2.26180.114 + 5.3.0-2.26180.121 + 5.3.0-2.26180.121 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26180.114 + 10.0.0-preview.26180.121 10.0.4-servicing.26119.110 - 18.3.0-release-26180-114 + 18.3.0-release-26180-121 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26180.114 + 10.0.202-servicing.26180.121 10.0.202 - 10.0.202-servicing.26180.114 + 10.0.202-servicing.26180.121 10.0.202 10.0.202 - 10.0.202-servicing.26180.114 - 18.3.0-release-26180-114 - 18.3.0-release-26180-114 + 10.0.202-servicing.26180.121 + 18.3.0-release-26180-121 + 18.3.0-release-26180-121 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 - 7.3.0-rc.18114 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 + 7.3.0-rc.18121 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 918d7947fc04..a2a36ff1587f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a - + https://github.com/dotnet/dotnet - 08b48122393c7197185c7d08212395087ce706bb + 570bc3952d2503b378ad4be4387e0077dc360d7a https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index b57f2cd3f739..26279bb55a34 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.114", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.114", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.121", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.121", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 92264c351c87765798c16bf02af31ee3602ae9ae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2026 05:44:53 +0000 Subject: [PATCH 055/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 270 +++++++-------- eng/Version.Details.xml | 681 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 481 insertions(+), 480 deletions(-) diff --git a/NuGet.config b/NuGet.config index 4950d4c01bdc..c8d51c022f14 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 38321fab2619..637812431e37 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,142 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.0-preview.26174.113 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26174-113 - 7.0.2-rc.17513 - 10.0.106 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 10.0.0-preview.26174.113 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 2.0.0-preview.1.26174.113 - 2.2.6 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6-servicing.26174.113 - 10.0.0-beta.26174.113 - 10.0.0-beta.26174.113 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26174.113 - 10.0.6 - 5.0.0-2.26174.113 - 5.0.0-2.26174.113 - 10.0.6-servicing.26174.113 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26180.114 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26180-114 + 7.3.0-rc.18114 + 10.0.202 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 10.0.0-preview.26180.114 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26180.114 + 10.0.0-beta.26180.114 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26180.114 + 10.0.4 + 5.3.0-2.26180.114 + 5.3.0-2.26180.114 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26174.113 - 10.0.6-servicing.26174.113 - 18.0.2-release-26174-113 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26174.113 - 10.0.106 - 10.0.106-servicing.26174.113 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26174.113 - 18.0.2-release-26174-113 - 18.0.2-release-26174-113 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26174.113 - 10.0.6 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 7.0.2-rc.17513 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26180.114 + 10.0.4-servicing.26119.110 + 18.3.0-release-26180-114 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26180.114 + 10.0.202 + 10.0.202-servicing.26180.114 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26180.114 + 18.3.0-release-26180-114 + 18.3.0-release-26180-114 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 7.3.0-rc.18114 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 - 2.2.1-preview.26180.5 - 4.2.1-preview.26180.5 + 2.2.1-preview.26177.4 + 4.2.1-preview.26177.4 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 552bb094a2cc..918d7947fc04 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - + https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + 08b48122393c7197185c7d08212395087ce706bb - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4bc0cfcc420247cf6111fca7f8e914a9706634dd - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4bc0cfcc420247cf6111fca7f8e914a9706634dd - - https://github.com/dotnet/dotnet - 645374ace1c8bbeb07aac743552acc62bbb2c34b + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 9e488dee1037..b57f2cd3f739 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26174.113", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26174.113", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 9341350c27b777f366fa08d3c1b5d1094b3327ec Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:03:31 +0000 Subject: [PATCH 056/137] [release/10.0.3xx] Source code updates from dotnet/dotnet (#53646) [release/10.0.3xx] Source code updates from dotnet/dotnet --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 8997ace284db..9a96f6c22287 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26180.119 + 10.0.0-preview.26181.102 10.0.5 10.0.5 - 18.6.0-preview-26180-119 - 18.6.0-preview-26180-119 - 7.6.0-rc.18119 - 10.0.300-alpha.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 10.0.0-preview.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 + 18.6.0-preview-26181-102 + 18.6.0-preview-26181-102 + 7.6.0-rc.18202 + 10.0.300-alpha.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 10.0.0-preview.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26180.119 - 10.0.0-beta.26180.119 - 10.0.0-beta.26180.119 - 10.0.0-beta.26180.119 - 10.0.0-beta.26180.119 - 10.0.0-beta.26180.119 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26180.119 - 10.0.0-beta.26180.119 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26180.119 + 15.2.300-servicing.26181.102 10.0.5 - 5.6.0-2.26180.119 - 5.6.0-2.26180.119 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26180.119 + 10.0.0-preview.26181.102 10.0.5-servicing.26153.111 - 18.3.0-release-26180-119 + 18.3.0-release-26181-102 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26180.119 - 10.0.300-alpha.26180.119 - 10.0.300-alpha.26180.119 - 10.0.300-alpha.26180.119 - 10.0.300-alpha.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 10.0.300-preview.26180.119 - 18.3.0-release-26180-119 - 18.3.0-release-26180-119 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 18.3.0-release-26181-102 + 18.3.0-release-26181-102 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 - 7.6.0-rc.18119 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 2370d1885233..50f781fc3a4f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - 8a5b648d38af07762128f9304e1e36fc819bcb57 + 316ff509dbc8840485db58992554d05588dd606e https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 0d6de2a51448..8591b36d562e 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.119", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.119", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.102", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.102", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 132a6044a2af8a3fb03ebf1bb57c70b5e87f61bb Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 1 Apr 2026 00:57:31 +0000 Subject: [PATCH 057/137] Update dependencies from build 308657 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26181.102 -> 10.0.0-preview.26181.114) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26181-102 -> 18.6.0-preview-26181-114) 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.6.0-rc.18202 -> 7.6.0-rc.18214) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26181.102 -> 10.0.300-alpha.26181.114) 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.6.0-2.26181.102 -> 5.6.0-2.26181.114) 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.26181.102 -> 10.0.0-beta.26181.114) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26181.102 -> 15.2.300-servicing.26181.114) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26181-102 -> 18.3.0-release-26181-114) 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.300-preview.26181.102 -> 10.0.300-preview.26181.114) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 9a96f6c22287..b906b3246197 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26181.102 + 10.0.0-preview.26181.114 10.0.5 10.0.5 - 18.6.0-preview-26181-102 - 18.6.0-preview-26181-102 - 7.6.0-rc.18202 - 10.0.300-alpha.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 10.0.0-preview.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 + 18.6.0-preview-26181-114 + 18.6.0-preview-26181-114 + 7.6.0-rc.18214 + 10.0.300-alpha.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 10.0.0-preview.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26181.102 - 10.0.0-beta.26181.102 - 10.0.0-beta.26181.102 - 10.0.0-beta.26181.102 - 10.0.0-beta.26181.102 - 10.0.0-beta.26181.102 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26181.102 - 10.0.0-beta.26181.102 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26181.102 + 15.2.300-servicing.26181.114 10.0.5 - 5.6.0-2.26181.102 - 5.6.0-2.26181.102 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26181.102 + 10.0.0-preview.26181.114 10.0.5-servicing.26153.111 - 18.3.0-release-26181-102 + 18.3.0-release-26181-114 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26181.102 - 10.0.300-alpha.26181.102 - 10.0.300-alpha.26181.102 - 10.0.300-alpha.26181.102 - 10.0.300-alpha.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 10.0.300-preview.26181.102 - 18.3.0-release-26181-102 - 18.3.0-release-26181-102 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 18.3.0-release-26181-114 + 18.3.0-release-26181-114 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 - 7.6.0-rc.18202 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 50f781fc3a4f..7414e8a5ca1e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - 316ff509dbc8840485db58992554d05588dd606e + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 8591b36d562e..fb2fbc7b6528 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.102", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.102", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From fad4afb2349c7e49c9be78dc18f520d5ce176747 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 1 Apr 2026 01:07:06 +0000 Subject: [PATCH 058/137] Update dependencies from build 308659 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26180.121 -> 10.0.0-preview.26181.113) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26180-121 -> 18.3.3-servicing-26181-113) 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.3.0-rc.18121 -> 7.3.0-rc.18213) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26180.121 -> 5.3.0-2.26181.113) 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.26180.121 -> 10.0.0-beta.26181.113) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26180.121 -> 15.2.202-servicing.26181.113) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26180-121 -> 18.3.0-release-26181-113) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26180.121 -> 10.0.202-servicing.26181.113) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 161 insertions(+), 161 deletions(-) diff --git a/NuGet.config b/NuGet.config index 65b4b1763b0a..c1cfdbe848e6 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 28aa29f36c98..bcffdc1c7854 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26180.121 + 10.0.0-preview.26181.113 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26180-121 - 7.3.0-rc.18121 + 18.3.3-servicing-26181-113 + 7.3.0-rc.18213 10.0.202 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 - 10.0.0-preview.26180.121 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 + 10.0.0-preview.26181.113 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26180.121 - 10.0.0-beta.26180.121 - 10.0.0-beta.26180.121 - 10.0.0-beta.26180.121 - 10.0.0-beta.26180.121 - 10.0.0-beta.26180.121 + 10.0.0-beta.26181.113 + 10.0.0-beta.26181.113 + 10.0.0-beta.26181.113 + 10.0.0-beta.26181.113 + 10.0.0-beta.26181.113 + 10.0.0-beta.26181.113 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26180.121 - 10.0.0-beta.26180.121 + 10.0.0-beta.26181.113 + 10.0.0-beta.26181.113 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26180.121 + 15.2.202-servicing.26181.113 10.0.4 - 5.3.0-2.26180.121 - 5.3.0-2.26180.121 + 5.3.0-2.26181.113 + 5.3.0-2.26181.113 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26180.121 + 10.0.0-preview.26181.113 10.0.4-servicing.26119.110 - 18.3.0-release-26180-121 + 18.3.0-release-26181-113 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26180.121 + 10.0.202-servicing.26181.113 10.0.202 - 10.0.202-servicing.26180.121 + 10.0.202-servicing.26181.113 10.0.202 10.0.202 - 10.0.202-servicing.26180.121 - 18.3.0-release-26180-121 - 18.3.0-release-26180-121 + 10.0.202-servicing.26181.113 + 18.3.0-release-26181-113 + 18.3.0-release-26181-113 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 - 7.3.0-rc.18121 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 + 7.3.0-rc.18213 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a1ce30d8dad8..6a9fbed43b25 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 - + https://github.com/dotnet/dotnet - 570bc3952d2503b378ad4be4387e0077dc360d7a + fa63ad2d80458a4bfadade9bac84c8818bcb5f40 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 26279bb55a34..ada45c5decd7 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26180.121", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26180.121", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.113", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.113", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 0418e806c220bdc7c11b4997ba3476ed651b7ac5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 05:41:07 +0000 Subject: [PATCH 059/137] Reset files to release/10.0.3xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 1 - eng/Version.Details.props | 274 ++++----- eng/Version.Details.xml | 551 +++++++++--------- eng/common/core-templates/job/onelocbuild.yml | 4 +- .../job/publish-build-assets.yml | 4 +- .../core-templates/post-build/post-build.yml | 16 +- .../variables/pool-providers.yml | 2 +- .../templates/variables/pool-providers.yml | 2 +- global.json | 6 +- 9 files changed, 439 insertions(+), 421 deletions(-) diff --git a/NuGet.config b/NuGet.config index c1cfdbe848e6..f3f728c95515 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index bcffdc1c7854..9a96f6c22287 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,145 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.0-preview.26181.113 - 10.0.4 - 10.0.4 - 18.3.3 - 18.3.3-servicing-26181-113 - 7.3.0-rc.18213 - 10.0.202 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 10.0.0-preview.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 2.0.0-preview.1.26119.110 - 2.2.4 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 15.2.202-servicing.26181.113 - 10.0.4 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-preview.26181.102 + 10.0.5 + 10.0.5 + 18.6.0-preview-26181-102 + 18.6.0-preview-26181-102 + 7.6.0-rc.18202 + 10.0.300-alpha.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 10.0.0-preview.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 2.0.0-preview.1.26153.111 + 2.2.5 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-beta.26181.102 + 10.0.0-beta.26181.102 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 15.2.300-servicing.26181.102 + 10.0.5 + 5.6.0-2.26181.102 + 5.6.0-2.26181.102 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26181.113 - 10.0.4-servicing.26119.110 - 18.3.0-release-26181-113 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26181.113 - 10.0.202 - 10.0.202-servicing.26181.113 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26181.113 - 18.3.0-release-26181-113 - 18.3.0-release-26181-113 - 3.2.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 10.0.4 - 2.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 + 10.0.0-preview.26181.102 + 10.0.5-servicing.26153.111 + 18.3.0-release-26181-102 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-alpha.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 10.0.300-preview.26181.102 + 18.3.0-release-26181-102 + 18.3.0-release-26181-102 + 3.2.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 7.6.0-rc.18202 + 10.0.5 + 2.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 - 2.2.1-preview.26180.5 - 4.2.1-preview.26180.5 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 @@ -190,6 +193,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -201,9 +205,11 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6a9fbed43b25..50f781fc3a4f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 @@ -68,170 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e + + + https://github.com/dotnet/dotnet + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 + + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e + + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + 316ff509dbc8840485db58992554d05588dd606e - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index c5788829a872..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index b955fac6e13f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -74,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b942a79ef02d..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -120,7 +120,7 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng @@ -164,14 +164,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -225,14 +225,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -286,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/global.json b/global.json index ada45c5decd7..8591b36d562e 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.201", + "dotnet": "10.0.105", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.113", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.113", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.102", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.102", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 8de657c3d9fc99318a173d466f968f70a30de45d Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Wed, 1 Apr 2026 14:34:10 +0200 Subject: [PATCH 060/137] dotnet test MTP: Disable ANSI output in LLM environments (#53654) --- .../Commands/Test/MTP/MicrosoftTestingPlatformTestCommand.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Cli/dotnet/Commands/Test/MTP/MicrosoftTestingPlatformTestCommand.cs b/src/Cli/dotnet/Commands/Test/MTP/MicrosoftTestingPlatformTestCommand.cs index b12dc97e5a47..e92590025594 100644 --- a/src/Cli/dotnet/Commands/Test/MTP/MicrosoftTestingPlatformTestCommand.cs +++ b/src/Cli/dotnet/Commands/Test/MTP/MicrosoftTestingPlatformTestCommand.cs @@ -7,6 +7,7 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Commands.Test.Terminal; using Microsoft.DotNet.Cli.Extensions; +using Microsoft.DotNet.Cli.Telemetry; namespace Microsoft.DotNet.Cli.Commands.Test; @@ -106,7 +107,9 @@ private void InitializeOutput(int degreeOfParallelism, ParseResult parseResult, bool inCI = string.Equals(Environment.GetEnvironmentVariable("TF_BUILD"), "true", StringComparison.OrdinalIgnoreCase) || string.Equals(Environment.GetEnvironmentVariable("GITHUB_ACTIONS"), "true", StringComparison.OrdinalIgnoreCase); AnsiMode ansiMode = AnsiMode.AnsiIfPossible; - if (noAnsi) + // In LLM environments, prefer simple text output so that LLM can parse it easily. + // Note that NoAnsi also implies no progress. + if (noAnsi || new LLMEnvironmentDetectorForTelemetry().IsLLMEnvironment()) { // User explicitly specified --no-ansi. // We should respect that. From 0c32f0a712a49ff04b309c87b90410633dcafc59 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 1 Apr 2026 12:47:33 +0000 Subject: [PATCH 061/137] Update dependencies from build 308746 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26181.113 -> 10.0.0-preview.26201.103) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26181-113 -> 18.3.3-servicing-26201-103) 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.3.0-rc.18213 -> 7.3.0-rc.20203) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26181.113 -> 5.3.0-2.26201.103) 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.26181.113 -> 10.0.0-beta.26201.103) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26181.113 -> 15.2.202-servicing.26201.103) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26181-113 -> 18.3.0-release-26201-103) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26181.113 -> 10.0.202-servicing.26201.103) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 161 insertions(+), 161 deletions(-) diff --git a/NuGet.config b/NuGet.config index c1cfdbe848e6..9c862cf686ff 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index bcffdc1c7854..c21415fe4d95 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26181.113 + 10.0.0-preview.26201.103 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26181-113 - 7.3.0-rc.18213 + 18.3.3-servicing-26201-103 + 7.3.0-rc.20203 10.0.202 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 - 10.0.0-preview.26181.113 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 10.0.0-preview.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26181.113 - 10.0.0-beta.26181.113 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26181.113 + 15.2.202-servicing.26201.103 10.0.4 - 5.3.0-2.26181.113 - 5.3.0-2.26181.113 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26181.113 + 10.0.0-preview.26201.103 10.0.4-servicing.26119.110 - 18.3.0-release-26181-113 + 18.3.0-release-26201-103 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26181.113 + 10.0.202-servicing.26201.103 10.0.202 - 10.0.202-servicing.26181.113 + 10.0.202-servicing.26201.103 10.0.202 10.0.202 - 10.0.202-servicing.26181.113 - 18.3.0-release-26181-113 - 18.3.0-release-26181-113 + 10.0.202-servicing.26201.103 + 18.3.0-release-26201-103 + 18.3.0-release-26201-103 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 - 7.3.0-rc.18213 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6a9fbed43b25..04a422f4cd4f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - fa63ad2d80458a4bfadade9bac84c8818bcb5f40 + bedfad885dfe093ebb122a44e74133e192fa34d0 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index ada45c5decd7..9c08fe17131e 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.113", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.113", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 293be9964e8fb1ef4815192e10b2810fbe64d86f Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Wed, 1 Apr 2026 10:42:48 -0500 Subject: [PATCH 062/137] [dotnet-watch] Add device selection support (#53631) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds device selection to dotnet-watch for MAUI/mobile scenarios, mirroring the `dotnet-run` device selection flow from the spec (`documentation/specs/dotnet-run-for-maui.md`). Merged `TargetFrameworkSelectionPrompt` and the new device prompt into a single `WatchSelectionPrompt` (library) / `SpectreWatchSelectionPrompt` (console app), keeping Spectre.Console isolated to the console app project. After TFM selection, `HotReloadDotNetWatcher` calls the `ComputeAvailableDevices` MSBuild target via in-process MSBuild. A single device is auto-selected; multiple devices show an interactive Spectre prompt with search. The selected device and its `RuntimeIdentifier` are passed to `dotnet build` (`-p:Device`, `-p:RuntimeIdentifier`) and to the launched dotnet run subprocess (`--device`). A re-restore is performed when the device provides a `RuntimeIdentifier` not present in the original restore. Adds `--device` CLI option to `dotnet-watch` for pre-specifying a device. Tests: - Unit tests for prompt selection, search, caching, and `FormatDevice` - E2E tests using `DotnetRunDevices` test asset: interactive device selection, single-device auto-select Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Tomáš Matoušek --- .../Server/AspireWatcherLauncher.cs | 2 +- src/Dotnet.Watch/Watch/Build/BuildNames.cs | 1 + .../Watch/Build/EvaluationResult.cs | 14 +- .../Watch/Build/LoadedProjectGraph.cs | 5 +- .../Watch/Build/ProjectGraphFactory.cs | 8 +- .../Watch/Context/ProjectOptions.cs | 12 + .../Watch/HotReload/HotReloadDotNetWatcher.cs | 182 ++++++++++++--- .../Watch/Process/ProjectLauncher.cs | 12 + .../UI/BuildParametersSelectionPrompt.cs | 49 ++++ src/Dotnet.Watch/Watch/UI/DeviceInfo.cs | 9 + src/Dotnet.Watch/Watch/UI/IReporter.cs | 1 + .../UI/TargetFrameworkSelectionPrompt.cs | 28 --- .../CommandLine/CommandLineOptions.cs | 3 + .../DotnetWatchCommandDefinition.cs | 13 +- src/Dotnet.Watch/dotnet-watch/Program.cs | 6 +- src/Dotnet.Watch/dotnet-watch/Resources.resx | 9 + ... SpectreBuildParametersSelectionPrompt.cs} | 53 ++++- .../dotnet-watch/Watch/BuildEvaluator.cs | 7 + .../Watch/MsBuildFileSetFactory.cs | 5 +- .../dotnet-watch/xlf/Resources.cs.xlf | 15 ++ .../dotnet-watch/xlf/Resources.de.xlf | 15 ++ .../dotnet-watch/xlf/Resources.es.xlf | 15 ++ .../dotnet-watch/xlf/Resources.fr.xlf | 15 ++ .../dotnet-watch/xlf/Resources.it.xlf | 15 ++ .../dotnet-watch/xlf/Resources.ja.xlf | 15 ++ .../dotnet-watch/xlf/Resources.ko.xlf | 15 ++ .../dotnet-watch/xlf/Resources.pl.xlf | 15 ++ .../dotnet-watch/xlf/Resources.pt-BR.xlf | 15 ++ .../dotnet-watch/xlf/Resources.ru.xlf | 15 ++ .../dotnet-watch/xlf/Resources.tr.xlf | 15 ++ .../dotnet-watch/xlf/Resources.zh-Hans.xlf | 15 ++ .../dotnet-watch/xlf/Resources.zh-Hant.xlf | 15 ++ .../Build/EvaluationTests.cs | 6 +- .../Build/ProjectGraphFactoryTests.cs | 8 +- .../BuildParametersSelectionPromptTests.cs | 221 ++++++++++++++++++ .../HotReload/BuildProjectsTests.cs | 12 +- .../HotReload/CompilationHandlerTests.cs | 2 +- .../HotReload/MauiHotReloadTests.cs | 45 ++++ .../TargetFrameworkSelectionPromptTests.cs | 95 -------- .../TestUtilities/DotNetWatchTestBase.cs | 2 +- .../TestUtilities/MockFileSetFactory.cs | 1 + .../TestUtilities/TestOptions.cs | 1 + 42 files changed, 823 insertions(+), 184 deletions(-) create mode 100644 src/Dotnet.Watch/Watch/UI/BuildParametersSelectionPrompt.cs create mode 100644 src/Dotnet.Watch/Watch/UI/DeviceInfo.cs delete mode 100644 src/Dotnet.Watch/Watch/UI/TargetFrameworkSelectionPrompt.cs rename src/Dotnet.Watch/dotnet-watch/UI/{SpectreTargetFrameworkSelectionPrompt.cs => SpectreBuildParametersSelectionPrompt.cs} (64%) create mode 100644 test/dotnet-watch.Tests/HotReload/BuildParametersSelectionPromptTests.cs delete mode 100644 test/dotnet-watch.Tests/HotReload/TargetFrameworkSelectionPromptTests.cs diff --git a/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs b/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs index e95e07914929..ea8f75b1e53b 100644 --- a/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs +++ b/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs @@ -40,7 +40,7 @@ protected async Task LaunchWatcherAsync( try { - var watcher = new HotReloadDotNetWatcher(context, Console, processLauncherFactory, targetFrameworkSelectionPrompt: null); + var watcher = new HotReloadDotNetWatcher(context, Console, processLauncherFactory, selectionPrompt: null); await watcher.WatchAsync(cancellationSource.Token); } catch (OperationCanceledException) when (shutdownHandler.CancellationToken.IsCancellationRequested) diff --git a/src/Dotnet.Watch/Watch/Build/BuildNames.cs b/src/Dotnet.Watch/Watch/Build/BuildNames.cs index d7ad8b1acbbd..69eeff0a97be 100644 --- a/src/Dotnet.Watch/Watch/Build/BuildNames.cs +++ b/src/Dotnet.Watch/Watch/Build/BuildNames.cs @@ -55,6 +55,7 @@ internal static class TargetNames public const string ResolveReferencedProjectsStaticWebAssets = nameof(ResolveReferencedProjectsStaticWebAssets); public const string GenerateComputedBuildStaticWebAssets = nameof(GenerateComputedBuildStaticWebAssets); public const string ReferenceCopyLocalPathsOutputGroup = nameof(ReferenceCopyLocalPathsOutputGroup); + public const string ComputeAvailableDevices = nameof(ComputeAvailableDevices); } internal static class ProjectCapability diff --git a/src/Dotnet.Watch/Watch/Build/EvaluationResult.cs b/src/Dotnet.Watch/Watch/Build/EvaluationResult.cs index c429d5681b4b..ebf115ff3c02 100644 --- a/src/Dotnet.Watch/Watch/Build/EvaluationResult.cs +++ b/src/Dotnet.Watch/Watch/Build/EvaluationResult.cs @@ -14,12 +14,11 @@ internal sealed class EvaluationResult( LoadedProjectGraph projectGraph, IReadOnlyDictionary restoredProjectInstances, IReadOnlyDictionary files, - IReadOnlyDictionary staticWebAssetsManifests, - ProjectBuildManager buildManager) + IReadOnlyDictionary staticWebAssetsManifests) { public IReadOnlyDictionary Files => files; public LoadedProjectGraph ProjectGraph => projectGraph; - public ProjectBuildManager BuildManager => buildManager; + public ProjectBuildManager BuildManager => projectGraph.BuildManager; public readonly FilePathExclusions ItemExclusions = projectGraph != null ? FilePathExclusions.Create(projectGraph.Graph) : FilePathExclusions.Empty; @@ -70,14 +69,11 @@ public static ImmutableDictionary GetGlobalBuildProperties(IEnum var projectLoadingStopwatch = Stopwatch.StartNew(); var stopwatch = Stopwatch.StartNew(); - var buildReporter = new BuildReporter(projectGraph.Logger, globalOptions, environmentOptions); - var buildManager = new ProjectBuildManager(projectGraph.ProjectCollection, buildReporter); - if (restore) { var restoreRequests = projectGraph.Graph.GraphRoots.Select(node => BuildRequest.Create(node.ProjectInstance, [TargetNames.Restore])).ToArray(); - if (await buildManager.BuildAsync( + if (await projectGraph.BuildManager.BuildAsync( restoreRequests, onFailure: failedInstance => { @@ -108,7 +104,7 @@ public static ImmutableDictionary GetGlobalBuildProperties(IEnum var buildRequests = CreateDesignTimeBuildRequests(projectGraph.Graph, mainProjectTargetFramework, environmentOptions.SuppressHandlingStaticWebAssets).ToImmutableArray(); - var buildResults = await buildManager.BuildAsync( + var buildResults = await projectGraph.BuildManager.BuildAsync( buildRequests, onFailure: failedInstance => { @@ -132,7 +128,7 @@ public static ImmutableDictionary GetGlobalBuildProperties(IEnum BuildReporter.ReportWatchedFiles(logger, fileItems); - return new EvaluationResult(projectGraph, restoredProjectInstances, fileItems, staticWebAssetManifests, buildManager); + return new EvaluationResult(projectGraph, restoredProjectInstances, fileItems, staticWebAssetManifests); } // internal for testing diff --git a/src/Dotnet.Watch/Watch/Build/LoadedProjectGraph.cs b/src/Dotnet.Watch/Watch/Build/LoadedProjectGraph.cs index a05f0fa9873a..3378e758bb2b 100644 --- a/src/Dotnet.Watch/Watch/Build/LoadedProjectGraph.cs +++ b/src/Dotnet.Watch/Watch/Build/LoadedProjectGraph.cs @@ -7,7 +7,7 @@ namespace Microsoft.DotNet.Watch; -internal sealed class LoadedProjectGraph(ProjectGraph graph, ProjectCollection collection, ILogger logger) +internal sealed class LoadedProjectGraph(ProjectGraph graph, ProjectCollection collection, ILogger logger, GlobalOptions globalOptions, EnvironmentOptions environmentOptions) { // full path of proj file to list of nodes representing all target frameworks of the project (excluding outer build nodes): private readonly IReadOnlyDictionary> _innerBuildNodes = @@ -20,6 +20,9 @@ internal sealed class LoadedProjectGraph(ProjectGraph graph, ProjectCollection c .Concat(graph.ProjectNodes.Select(p => p.ProjectInstance.FullPath)) .ToHashSet(PathUtilities.OSSpecificPathComparer)); + public readonly ProjectBuildManager BuildManager = + new(collection, new BuildReporter(logger, globalOptions, environmentOptions)); + public ProjectGraph Graph => graph; public ILogger Logger => logger; public ProjectCollection ProjectCollection => collection; diff --git a/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs b/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs index ec6583add8f8..0e98272acd92 100644 --- a/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs +++ b/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs @@ -18,7 +18,9 @@ internal sealed class ProjectGraphFactory( ImmutableArray rootProjects, string? virtualProjectTargetFramework, ImmutableDictionary buildProperties, - ILogger logger) + ILogger logger, + GlobalOptions globalOptions, + EnvironmentOptions environmentOptions) { /// /// Reuse with XML element caching to improve performance. @@ -60,7 +62,9 @@ private static string GetProductTargetFramework() var graph = new LoadedProjectGraph( new ProjectGraph(entryPoints, _collection, (path, globalProperties, collection) => CreateProjectInstance(path, globalProperties, collection, logger), cancellationToken), _collection, - logger); + logger, + globalOptions, + environmentOptions); logger.LogDebug("Project graph loaded in {Time}s.", stopwatch.Elapsed.TotalSeconds.ToString("0.0")); return graph; diff --git a/src/Dotnet.Watch/Watch/Context/ProjectOptions.cs b/src/Dotnet.Watch/Watch/Context/ProjectOptions.cs index 24c868c05798..2d37673aa282 100644 --- a/src/Dotnet.Watch/Watch/Context/ProjectOptions.cs +++ b/src/Dotnet.Watch/Watch/Context/ProjectOptions.cs @@ -22,6 +22,18 @@ internal sealed record ProjectOptions /// public string? TargetFramework { get; init; } + /// + /// Device identifier to use when launching the project. + /// If the project supports device selection and is null + /// the user will be prompted for a device in interactive mode. + /// + public string? Device { get; init; } + + /// + /// RuntimeIdentifier provided by the selected device, if any. + /// + public string? DeviceRuntimeIdentifier { get; init; } + /// /// No value indicates that no launch profile should be used. /// Null value indicates that the default launch profile should be used. diff --git a/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs b/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs index 9ac8aacf40c7..301a7adea0f9 100644 --- a/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs +++ b/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs @@ -4,6 +4,7 @@ using System.Collections.Immutable; using System.Diagnostics; using System.Text.Encodings.Web; +using Microsoft.Build.Execution; using Microsoft.CodeAnalysis; using Microsoft.DotNet.HotReload; using Microsoft.Extensions.Logging; @@ -18,18 +19,23 @@ internal sealed class HotReloadDotNetWatcher private readonly IConsole _console; private readonly IRuntimeProcessLauncherFactory? _runtimeProcessLauncherFactory; private readonly RestartPrompt? _rudeEditRestartPrompt; - private readonly TargetFrameworkSelectionPrompt? _targetFrameworkSelectionPrompt; + private readonly BuildParametersSelectionPrompt? _selectionPrompt; private readonly DotNetWatchContext _context; private readonly ProjectGraphFactory _designTimeBuildGraphFactory; internal Task? Test_FileChangesCompletedTask { get; set; } - public HotReloadDotNetWatcher(DotNetWatchContext context, IConsole console, IRuntimeProcessLauncherFactory? runtimeProcessLauncherFactory, TargetFrameworkSelectionPrompt? targetFrameworkSelectionPrompt) + public HotReloadDotNetWatcher( + DotNetWatchContext context, + IConsole console, + IRuntimeProcessLauncherFactory? runtimeProcessLauncherFactory, + BuildParametersSelectionPrompt? selectionPrompt) { _context = context; _console = console; _runtimeProcessLauncherFactory = runtimeProcessLauncherFactory; + _selectionPrompt = selectionPrompt; if (!context.Options.NonInteractive) { var consoleInput = new ConsoleInputReader(_console, context.Options.LogLevel, context.EnvironmentOptions.SuppressEmojis); @@ -41,7 +47,6 @@ public HotReloadDotNetWatcher(DotNetWatchContext context, IConsole console, IRun } _rudeEditRestartPrompt = new RestartPrompt(context.Logger, consoleInput, noPrompt ? true : null); - _targetFrameworkSelectionPrompt = targetFrameworkSelectionPrompt; } _designTimeBuildGraphFactory = new ProjectGraphFactory( @@ -50,7 +55,9 @@ public HotReloadDotNetWatcher(DotNetWatchContext context, IConsole console, IRun buildProperties: EvaluationResult.GetGlobalBuildProperties( context.BuildArguments, context.EnvironmentOptions), - context.BuildLogger); + context.BuildLogger, + context.Options, + context.EnvironmentOptions); } public async Task WatchAsync(CancellationToken shutdownCancellationToken) @@ -95,7 +102,8 @@ public async Task WatchAsync(CancellationToken shutdownCancellationToken) _context.RootProjects, fileWatcher, _context.MainProjectOptions, - frameworkSelector: _targetFrameworkSelectionPrompt != null ? _targetFrameworkSelectionPrompt.SelectAsync : null, + frameworkSelector: _selectionPrompt != null ? _selectionPrompt.SelectTargetFrameworkAsync : null, + deviceSelector: _selectionPrompt != null ? _selectionPrompt.SelectDeviceAsync : null, iterationCancellationToken); // Try load project graph and perform design-time build even if the build failed. @@ -142,7 +150,12 @@ public async Task WatchAsync(CancellationToken shutdownCancellationToken) var mainProjectOptions = _context.MainProjectOptions; if (mainProjectOptions != null) { - mainProjectOptions = mainProjectOptions with { TargetFramework = rootProjectsBuildResult.MainProjectTargetFramework }; + mainProjectOptions = mainProjectOptions with + { + TargetFramework = rootProjectsBuildResult.MainProjectTargetFramework, + Device = rootProjectsBuildResult.SelectedDevice, + DeviceRuntimeIdentifier = rootProjectsBuildResult.SelectedDeviceRuntimeIdentifier, + }; if (projectGraph.Graph.GraphRoots.Single()?.GetCapabilities().Contains(AspireServiceFactory.AppHostProjectCapability) == true) { @@ -272,6 +285,7 @@ [.. updates.ProjectsToRebuild.Select(ProjectRepresentation.FromProjectOrEntryPoi fileWatcher, mainProjectOptions, frameworkSelector: null, + deviceSelector: null, iterationCancellationToken); if (result.Success) @@ -939,9 +953,11 @@ private enum BuildAction } // internal for testing - internal sealed class BuildProjectsResult(string? mainProjectTargetFramework, LoadedProjectGraph? projectGraph, bool success) + internal sealed class BuildProjectsResult(string? mainProjectTargetFramework, string? selectedDevice, string? selectedDeviceRuntimeIdentifier, LoadedProjectGraph? projectGraph, bool success) { public string? MainProjectTargetFramework { get; } = mainProjectTargetFramework; + public string? SelectedDevice { get; } = selectedDevice; + public string? SelectedDeviceRuntimeIdentifier { get; } = selectedDeviceRuntimeIdentifier; public LoadedProjectGraph? ProjectGraph { get; } = projectGraph; public bool Success { get; } = success; } @@ -952,12 +968,15 @@ internal async Task BuildProjectsAsync( FileWatcher fileWatcher, ProjectOptions? mainProjectOptions, Func, CancellationToken, ValueTask>? frameworkSelector, + Func, CancellationToken, ValueTask>? deviceSelector, CancellationToken cancellationToken) { Debug.Assert(projects.Any()); LoadedProjectGraph? projectGraph = null; var targetFramework = mainProjectOptions?.TargetFramework; + var selectedDevice = mainProjectOptions?.Device; + var selectedDeviceRuntimeIdentifier = mainProjectOptions?.DeviceRuntimeIdentifier; _context.Logger.Log(MessageDescriptor.BuildStartedNotification, projects); @@ -965,20 +984,22 @@ internal async Task BuildProjectsAsync( fileWatcher.SuppressEvents = true; try { - var success = await BuildWithFrameworkSelectionAsync(); + var success = await BuildWithFrameworkAndDeviceSelectionAsync(); _context.Logger.Log(MessageDescriptor.BuildCompletedNotification, (projects, success)); - return new BuildProjectsResult(targetFramework, projectGraph, success); + return new BuildProjectsResult(targetFramework, selectedDevice, selectedDeviceRuntimeIdentifier, projectGraph, success); } finally { fileWatcher.SuppressEvents = false; } - async ValueTask BuildWithFrameworkSelectionAsync() + async ValueTask BuildWithFrameworkAndDeviceSelectionAsync() { + var needsFrameworkSelection = targetFramework == null && frameworkSelector != null; + var needsDeviceSelection = selectedDevice == null && deviceSelector != null; + if (mainProjectOptions == null || - frameworkSelector == null || - targetFramework != null || + (!needsFrameworkSelection && !needsDeviceSelection) || !mainProjectOptions.Representation.IsProjectFile) { return await BuildAsync(BuildAction.RestoreAndBuild, targetFramework); @@ -997,28 +1018,62 @@ async ValueTask BuildWithFrameworkSelectionAsync() } var rootProject = projectGraph.Graph.GraphRoots.Single().ProjectInstance; - if (rootProject.GetTargetFramework() is var framework and not "") - { - targetFramework = framework; - } - else if (rootProject.GetTargetFrameworks() is var frameworks and not []) + + // Select target framework if needed: + if (needsFrameworkSelection) { - targetFramework = await frameworkSelector(frameworks, cancellationToken); + Debug.Assert(frameworkSelector is not null); + + if (rootProject.GetTargetFramework() is var framework and not "") + { + targetFramework = framework; + } + else if (rootProject.GetTargetFrameworks() is var frameworks and not []) + { + targetFramework = await frameworkSelector(frameworks, cancellationToken); + } + else + { + _context.BuildLogger.LogError("Project '{Path}' does not specify a target framework.", rootProject.FullPath); + return false; + } } - else + + // Select device if needed: + if (needsDeviceSelection + && rootProject.Targets.ContainsKey(TargetNames.ComputeAvailableDevices)) { - _context.BuildLogger.LogError("Project '{Path}' does not specify a target framework.", rootProject.FullPath); - return false; + Debug.Assert(deviceSelector is not null); + + var deviceInfo = await TrySelectDeviceAsync(projectGraph, rootProject, targetFramework, deviceSelector, cancellationToken); + if (deviceInfo == null) + { + return false; + } + + selectedDevice = deviceInfo.Id; + selectedDeviceRuntimeIdentifier = deviceInfo.RuntimeIdentifier; + _context.Logger.LogDebug("Selected device: {DeviceId}", selectedDevice); + + // If the device provides a RuntimeIdentifier, re-restore so the assets file + // includes the RID target. This mirrors the dotnet-run behavior. + if (!string.IsNullOrEmpty(selectedDeviceRuntimeIdentifier)) + { + if (!await BuildAsync(BuildAction.RestoreOnly, targetFramework, deviceInfo)) + { + return false; + } + } } - return await BuildAsync(BuildAction.BuildOnly, targetFramework); + return await BuildAsync(BuildAction.BuildOnly, targetFramework, selectedDevice != null ? new DeviceInfo(selectedDevice, null, null, null, selectedDeviceRuntimeIdentifier) : null); } - async Task BuildAsync(BuildAction action, string? targetFramework) + async Task BuildAsync(BuildAction action, string? targetFramework, DeviceInfo? device = null) { if (projects is [var singleProject]) { - return await BuildFileOrProjectOrSolutionAsync(singleProject.ProjectOrEntryPointFilePath, targetFramework, action, cancellationToken); + return await BuildFileOrProjectOrSolutionAsync(singleProject.ProjectOrEntryPointFilePath, targetFramework, device, action, cancellationToken); } // TODO: workaround for https://github.com/dotnet/sdk/issues/51311 @@ -1027,7 +1082,7 @@ async Task BuildAsync(BuildAction action, string? targetFramework) if (projectPaths is [var singleProjectPath]) { - if (!await BuildFileOrProjectOrSolutionAsync(singleProjectPath, targetFramework, action, cancellationToken)) + if (!await BuildFileOrProjectOrSolutionAsync(singleProjectPath, targetFramework, device, action, cancellationToken)) { return false; } @@ -1047,7 +1102,7 @@ async Task BuildAsync(BuildAction action, string? targetFramework) try { - if (!await BuildFileOrProjectOrSolutionAsync(solutionFile, targetFramework, action, cancellationToken)) + if (!await BuildFileOrProjectOrSolutionAsync(solutionFile, targetFramework, device, action, cancellationToken)) { return false; } @@ -1068,7 +1123,7 @@ async Task BuildAsync(BuildAction action, string? targetFramework) // To maximize parallelism of building dependencies, build file-based projects after all physical projects: foreach (var file in projects.Where(p => p.EntryPointFilePath != null).Select(p => p.EntryPointFilePath!)) { - if (!await BuildFileOrProjectOrSolutionAsync(file, targetFramework, action, cancellationToken)) + if (!await BuildFileOrProjectOrSolutionAsync(file, targetFramework, device, action, cancellationToken)) { return false; } @@ -1078,7 +1133,67 @@ async Task BuildAsync(BuildAction action, string? targetFramework) } } - private async Task BuildFileOrProjectOrSolutionAsync(string path, string? targetFramework, BuildAction action, CancellationToken cancellationToken) + /// + /// Computes available devices and selects one. + /// Auto-selects a single device when only one is available; otherwise uses the provided device selector. + /// Returns null if no devices are available (error). + /// + private async Task TrySelectDeviceAsync( + LoadedProjectGraph projectGraph, + ProjectInstance rootProject, + string? targetFramework, + Func, CancellationToken, ValueTask> deviceSelector, + CancellationToken cancellationToken) + { + // Get the project node for the selected TFM so device computation is correct. + var projectNode = projectGraph.TryGetProjectNode(rootProject.FullPath, targetFramework); + if (projectNode == null) + { + return null; + } + + var projectInstance = projectNode.ProjectInstance.DeepCopy(); + + var results = await projectGraph.BuildManager.BuildAsync( + [BuildRequest.Create(projectInstance, [TargetNames.ComputeAvailableDevices])], + onFailure: _ => true, + operationName: TargetNames.ComputeAvailableDevices, + cancellationToken); + + if (results is not [var result] || !result.IsSuccess + || !result.TargetResults.TryGetValue(TargetNames.ComputeAvailableDevices, out var targetResult)) + { + _context.Logger.LogDebug("ComputeAvailableDevices target failed or returned no output."); + return null; + } + + var devices = new List(targetResult.Items.Length); + foreach (var item in targetResult.Items) + { + devices.Add(new DeviceInfo( + item.ItemSpec, + item.GetMetadata("Description"), + item.GetMetadata("Type"), + item.GetMetadata("Status"), + item.GetMetadata("RuntimeIdentifier"))); + } + + if (devices.Count == 0) + { + _context.Logger.Log(MessageDescriptor.NoDevicesAvailable); + return null; + } + + // Auto-select if only one device is available. + if (devices.Count == 1) + { + return devices[0]; + } + + return await deviceSelector(devices, cancellationToken); + } + + private async Task BuildFileOrProjectOrSolutionAsync(string path, string? targetFramework, DeviceInfo? device, BuildAction action, CancellationToken cancellationToken) { var arguments = new List { @@ -1094,6 +1209,17 @@ private async Task BuildFileOrProjectOrSolutionAsync(string path, string? arguments.Add(targetFramework); } + if (device != null) + { + arguments.Add($"-p:Device={device.Id}"); + + if (!string.IsNullOrEmpty(device.RuntimeIdentifier)) + { + arguments.Add("--runtime"); + arguments.Add(device.RuntimeIdentifier); + } + } + if (action == BuildAction.BuildOnly) { arguments.Add("--no-restore"); diff --git a/src/Dotnet.Watch/Watch/Process/ProjectLauncher.cs b/src/Dotnet.Watch/Watch/Process/ProjectLauncher.cs index 8b4b1707fefc..b905506370e9 100644 --- a/src/Dotnet.Watch/Watch/Process/ProjectLauncher.cs +++ b/src/Dotnet.Watch/Watch/Process/ProjectLauncher.cs @@ -111,6 +111,18 @@ private static IReadOnlyList GetProcessArguments(ProjectOptions projectO arguments.Add(projectOptions.TargetFramework); } + if (projectOptions.Device != null) + { + arguments.Add("--device"); + arguments.Add(projectOptions.Device); + + if (projectOptions.DeviceRuntimeIdentifier != null) + { + arguments.Add("--runtime"); + arguments.Add(projectOptions.DeviceRuntimeIdentifier); + } + } + foreach (var (name, value) in environmentBuilder) { arguments.Add("-e"); diff --git a/src/Dotnet.Watch/Watch/UI/BuildParametersSelectionPrompt.cs b/src/Dotnet.Watch/Watch/UI/BuildParametersSelectionPrompt.cs new file mode 100644 index 000000000000..68373e512213 --- /dev/null +++ b/src/Dotnet.Watch/Watch/UI/BuildParametersSelectionPrompt.cs @@ -0,0 +1,49 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +namespace Microsoft.DotNet.Watch; + +/// +/// Abstract base for interactive selection prompts in dotnet-watch. +/// Provides target framework and device selection with caching across watch restarts. +/// +internal abstract class BuildParametersSelectionPrompt : IDisposable +{ + public IReadOnlyList? PreviousTargetFrameworks { get; set; } + public string? PreviousFrameworkSelection { get; set; } + + public IReadOnlyList? PreviousDevices { get; set; } + public DeviceInfo? PreviousDeviceSelection { get; set; } + + public async ValueTask SelectTargetFrameworkAsync(IReadOnlyList targetFrameworks, CancellationToken cancellationToken) + { + var orderedTargetFrameworks = targetFrameworks.Order(StringComparer.OrdinalIgnoreCase).ToArray(); + + if (PreviousFrameworkSelection != null && PreviousTargetFrameworks?.SequenceEqual(orderedTargetFrameworks, StringComparer.OrdinalIgnoreCase) == true) + { + return PreviousFrameworkSelection; + } + + PreviousTargetFrameworks = orderedTargetFrameworks; + PreviousFrameworkSelection = await PromptForTargetFrameworkAsync(targetFrameworks, cancellationToken); + return PreviousFrameworkSelection; + } + + public async ValueTask SelectDeviceAsync(IReadOnlyList devices, CancellationToken cancellationToken) + { + if (PreviousDeviceSelection != null && PreviousDevices?.SequenceEqual(devices) == true) + { + return PreviousDeviceSelection; + } + + PreviousDevices = devices; + PreviousDeviceSelection = await PromptForDeviceAsync(devices, cancellationToken); + return PreviousDeviceSelection; + } + + protected abstract Task PromptForTargetFrameworkAsync(IReadOnlyList targetFrameworks, CancellationToken cancellationToken); + + protected abstract Task PromptForDeviceAsync(IReadOnlyList devices, CancellationToken cancellationToken); + + public virtual void Dispose() { } +} diff --git a/src/Dotnet.Watch/Watch/UI/DeviceInfo.cs b/src/Dotnet.Watch/Watch/UI/DeviceInfo.cs new file mode 100644 index 000000000000..623e3cd25b76 --- /dev/null +++ b/src/Dotnet.Watch/Watch/UI/DeviceInfo.cs @@ -0,0 +1,9 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +namespace Microsoft.DotNet.Watch; + +/// +/// Represents a device item returned from the ComputeAvailableDevices MSBuild target. +/// +internal sealed record DeviceInfo(string Id, string? Description, string? Type, string? Status, string? RuntimeIdentifier); diff --git a/src/Dotnet.Watch/Watch/UI/IReporter.cs b/src/Dotnet.Watch/Watch/UI/IReporter.cs index bf72afd13e11..000ca3015327 100644 --- a/src/Dotnet.Watch/Watch/UI/IReporter.cs +++ b/src/Dotnet.Watch/Watch/UI/IReporter.cs @@ -282,6 +282,7 @@ public static MessageDescriptor GetDescriptor(EventId id) public static readonly MessageDescriptor> BuildStartedNotification = CreateNotification>(); public static readonly MessageDescriptor<(IEnumerable projects, bool success)> BuildCompletedNotification = CreateNotification<(IEnumerable projects, bool success)>(); public static readonly MessageDescriptor ManifestFileNotFound = Create(LogEvents.ManifestFileNotFound, Emoji.Default); + public static readonly MessageDescriptor NoDevicesAvailable = Create("No devices are available for this project.", Emoji.Error, LogLevel.Error); } internal sealed class MessageDescriptor(string? format, Emoji emoji, LogLevel level, EventId id) diff --git a/src/Dotnet.Watch/Watch/UI/TargetFrameworkSelectionPrompt.cs b/src/Dotnet.Watch/Watch/UI/TargetFrameworkSelectionPrompt.cs deleted file mode 100644 index 1d7a801ce347..000000000000 --- a/src/Dotnet.Watch/Watch/UI/TargetFrameworkSelectionPrompt.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.DotNet.Watch; - -internal abstract class TargetFrameworkSelectionPrompt : IDisposable -{ - public IReadOnlyList? PreviousTargetFrameworks { get; set; } - public string? PreviousSelection { get; set; } - - public async ValueTask SelectAsync(IReadOnlyList targetFrameworks, CancellationToken cancellationToken) - { - var orderedTargetFrameworks = targetFrameworks.Order(StringComparer.OrdinalIgnoreCase).ToArray(); - - if (PreviousSelection != null && PreviousTargetFrameworks?.SequenceEqual(orderedTargetFrameworks, StringComparer.OrdinalIgnoreCase) == true) - { - return PreviousSelection; - } - - PreviousTargetFrameworks = orderedTargetFrameworks; - PreviousSelection = await PromptAsync(targetFrameworks, cancellationToken); - return PreviousSelection; - } - - protected abstract Task PromptAsync(IReadOnlyList targetFrameworks, CancellationToken cancellationToken); - - public virtual void Dispose() { } -} diff --git a/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs b/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs index 9d25af712486..6662b89fa9a1 100644 --- a/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs +++ b/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs @@ -26,6 +26,7 @@ internal sealed class CommandLineOptions public string? FilePath { get; init; } public string? ProjectPath { get; init; } public string? TargetFramework { get; init; } + public string? Device { get; init; } public Optional LaunchProfileName { get; init; } /// @@ -162,6 +163,7 @@ internal sealed class CommandLineOptions LaunchProfileName = launchProfile, BuildArguments = buildArguments, TargetFramework = parseResult.GetValue(definition.FrameworkOption), + Device = parseResult.GetValue(definition.DeviceOption), }; } @@ -360,6 +362,7 @@ public ProjectOptions GetMainProjectOptions(ProjectRepresentation project, strin Representation = project, WorkingDirectory = workingDirectory, TargetFramework = TargetFramework, + Device = Device, Command = Command, CommandArguments = CommandArguments, LaunchEnvironmentVariables = [], diff --git a/src/Dotnet.Watch/dotnet-watch/CommandLine/DotnetWatchCommandDefinition.cs b/src/Dotnet.Watch/dotnet-watch/CommandLine/DotnetWatchCommandDefinition.cs index 71bbfa3bd255..41480589da5b 100644 --- a/src/Dotnet.Watch/dotnet-watch/CommandLine/DotnetWatchCommandDefinition.cs +++ b/src/Dotnet.Watch/dotnet-watch/CommandLine/DotnetWatchCommandDefinition.cs @@ -25,6 +25,15 @@ internal sealed class DotnetWatchCommandDefinition : RootCommand HelpName = CommandDefinitionStrings.FrameworkArgumentName, }; + /// + /// Specifies the device to run on. The watcher passes the value explicitly instead of forwarding the subcommand's --device option. + /// + public readonly Option DeviceOption = new("--device") + { + Description = Resources.Help_Device, + HelpName = "DEVICE_ID", + }; + // Options we need to know about. They are passed through to the subcommand if the subcommand supports them. public readonly Option ShortProjectOption = new("-p") @@ -80,6 +89,7 @@ public DotnetWatchCommandDefinition() Options.Add(NoHotReloadOption); Options.Add(NonInteractiveOption); Options.Add(FrameworkOption); + Options.Add(DeviceOption); Options.Add(LongProjectOption); Options.Add(ShortProjectOption); @@ -118,5 +128,6 @@ public bool IsWatchOption(Option option) option == ListOption || option == NoHotReloadOption || option == NonInteractiveOption || - option == FrameworkOption; + option == FrameworkOption || + option == DeviceOption; } diff --git a/src/Dotnet.Watch/dotnet-watch/Program.cs b/src/Dotnet.Watch/dotnet-watch/Program.cs index 9dc9b9c41d84..c4cd7ab0600c 100644 --- a/src/Dotnet.Watch/dotnet-watch/Program.cs +++ b/src/Dotnet.Watch/dotnet-watch/Program.cs @@ -265,9 +265,8 @@ internal async Task RunAsync() if (IsHotReloadEnabled()) { - using var tfmPrompt = context.Options.NonInteractive ? null - : new SpectreTargetFrameworkSelectionPrompt(console); - var watcher = new HotReloadDotNetWatcher(context, console, runtimeProcessLauncherFactory: null, tfmPrompt); + using var selectionPrompt = context.Options.NonInteractive ? null : new SpectreBuildParametersSelectionPrompt(console); + var watcher = new HotReloadDotNetWatcher(context, console, runtimeProcessLauncherFactory: null, selectionPrompt); await watcher.WatchAsync(shutdownHandler.CancellationToken); } else if (mainProjectOptions.Representation.EntryPointFilePath != null) @@ -347,6 +346,7 @@ private async Task ListFilesAsync(ProcessRunner processRunner, Cancellation options.BuildArguments, processRunner, buildLogger, + options.GlobalOptions, environmentOptions); if (await fileSetFactory.TryCreateAsync(requireProjectGraph: null, cancellationToken) is not { } evaluationResult) diff --git a/src/Dotnet.Watch/dotnet-watch/Resources.resx b/src/Dotnet.Watch/dotnet-watch/Resources.resx index 9892790f4556..9ae47329057a 100644 --- a/src/Dotnet.Watch/dotnet-watch/Resources.resx +++ b/src/Dotnet.Watch/dotnet-watch/Resources.resx @@ -147,12 +147,21 @@ Type to search + + Select a device to run on: + + + Move up and down to reveal more devices + Runs dotnet-watch in non-interactive mode. This option is only supported when running with Hot Reload enabled. Use this option to prevent console input from being captured. + + The device identifier to run on (e.g. emulator, simulator, or physical device). + Suppress hot reload for supported apps. diff --git a/src/Dotnet.Watch/dotnet-watch/UI/SpectreTargetFrameworkSelectionPrompt.cs b/src/Dotnet.Watch/dotnet-watch/UI/SpectreBuildParametersSelectionPrompt.cs similarity index 64% rename from src/Dotnet.Watch/dotnet-watch/UI/SpectreTargetFrameworkSelectionPrompt.cs rename to src/Dotnet.Watch/dotnet-watch/UI/SpectreBuildParametersSelectionPrompt.cs index 6d68048d8413..7119266ef65b 100644 --- a/src/Dotnet.Watch/dotnet-watch/UI/SpectreTargetFrameworkSelectionPrompt.cs +++ b/src/Dotnet.Watch/dotnet-watch/UI/SpectreBuildParametersSelectionPrompt.cs @@ -6,9 +6,13 @@ namespace Microsoft.DotNet.Watch; -internal sealed class SpectreTargetFrameworkSelectionPrompt(IAnsiConsole console) : TargetFrameworkSelectionPrompt +internal sealed class SpectreBuildParametersSelectionPrompt(IAnsiConsole console) : BuildParametersSelectionPrompt { - public SpectreTargetFrameworkSelectionPrompt(IConsole watchConsole) + private const string CyanMarkup = "[cyan]"; + private const string GrayMarkup = "[gray]"; + private const string EndMarkup = "[/]"; + + public SpectreBuildParametersSelectionPrompt(IConsole watchConsole) : this(CreateConsole(watchConsole)) { } @@ -16,12 +20,12 @@ public SpectreTargetFrameworkSelectionPrompt(IConsole watchConsole) public override void Dispose() => (console as IDisposable)?.Dispose(); - protected override Task PromptAsync(IReadOnlyList targetFrameworks, CancellationToken cancellationToken) + protected override Task PromptForTargetFrameworkAsync(IReadOnlyList targetFrameworks, CancellationToken cancellationToken) { var prompt = new SelectionPrompt() - .Title($"[cyan]{Markup.Escape(Resources.SelectTargetFrameworkPrompt)}[/]") + .Title($"{CyanMarkup}{Markup.Escape(Resources.SelectTargetFrameworkPrompt)}{EndMarkup}") .PageSize(10) - .MoreChoicesText($"[gray]({Markup.Escape(Resources.MoreFrameworksText)})[/]") + .MoreChoicesText($"{GrayMarkup}({Markup.Escape(Resources.MoreFrameworksText)}){EndMarkup}") .AddChoices(targetFrameworks) .EnableSearch() .SearchPlaceholderText(Resources.SearchPlaceholderText); @@ -29,6 +33,45 @@ protected override Task PromptAsync(IReadOnlyList targetFramewor return prompt.ShowAsync(console, cancellationToken); } + protected override Task PromptForDeviceAsync(IReadOnlyList devices, CancellationToken cancellationToken) + { + var prompt = new SelectionPrompt() + .Title($"{CyanMarkup}{Markup.Escape(Resources.SelectDevicePrompt)}{EndMarkup}") + .PageSize(10) + .MoreChoicesText($"{GrayMarkup}({Markup.Escape(Resources.MoreDevicesText)}){EndMarkup}") + .AddChoices(devices) + .UseConverter(FormatDevice) + .EnableSearch() + .SearchPlaceholderText(Resources.SearchPlaceholderText); + + return prompt.ShowAsync(console, cancellationToken); + } + + internal static string FormatDevice(DeviceInfo device) + { + var display = device.Id; + if (!string.IsNullOrWhiteSpace(device.Description)) + { + display += $" - {device.Description}"; + } + + if (!string.IsNullOrWhiteSpace(device.Type)) + { + display += $" ({device.Type}"; + if (!string.IsNullOrWhiteSpace(device.Status)) + { + display += $", {device.Status}"; + } + display += ")"; + } + else if (!string.IsNullOrWhiteSpace(device.Status)) + { + display += $" ({device.Status})"; + } + + return display; + } + private static IAnsiConsole CreateConsole(IConsole watchConsole) { if (!Console.IsInputRedirected) diff --git a/src/Dotnet.Watch/dotnet-watch/Watch/BuildEvaluator.cs b/src/Dotnet.Watch/dotnet-watch/Watch/BuildEvaluator.cs index eb76068b0812..4b0576dd3461 100644 --- a/src/Dotnet.Watch/dotnet-watch/Watch/BuildEvaluator.cs +++ b/src/Dotnet.Watch/dotnet-watch/Watch/BuildEvaluator.cs @@ -51,6 +51,7 @@ protected virtual MSBuildFileSetFactory CreateMSBuildFileSetFactory() _context.BuildArguments, _context.ProcessRunner, _context.BuildLogger, + _context.Options, _context.EnvironmentOptions); } @@ -88,6 +89,12 @@ public IReadOnlyList GetProcessArguments(int iteration) arguments.Add(MainProjectOptions.TargetFramework); } + if (MainProjectOptions.Device != null) + { + arguments.Add("--device"); + arguments.Add(MainProjectOptions.Device); + } + arguments.AddRange(MainProjectOptions.CommandArguments); return arguments; diff --git a/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs b/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs index 4f94e8535980..aa61f05d95e7 100644 --- a/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs +++ b/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs @@ -22,6 +22,7 @@ internal class MSBuildFileSetFactory( IEnumerable buildArguments, ProcessRunner processRunner, ILogger logger, + GlobalOptions globalOptions, EnvironmentOptions environmentOptions) { private const string TargetName = "GenerateWatchList"; @@ -33,7 +34,9 @@ internal class MSBuildFileSetFactory( [new ProjectRepresentation(rootProjectFile, entryPointFilePath: null)], targetFramework, buildProperties: BuildUtilities.ParseBuildProperties(buildArguments).ToImmutableDictionary(keySelector: arg => arg.key, elementSelector: arg => arg.value), - logger); + logger, + globalOptions, + environmentOptions); internal sealed class EvaluationResult(IReadOnlyDictionary files, LoadedProjectGraph? projectGraph) { diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf index d44e81ef9897..f06aeb552b1d 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf @@ -95,6 +95,11 @@ Examples: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Examples: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Posunutím nahoru a dolů zobrazíte další architektury. @@ -152,6 +162,11 @@ Examples: Zadejte hledaný text + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Vyberte cílovou architekturu, která se má spustit: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf index 1dd6e1c6c3ab..643eacbe4bf0 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf @@ -95,6 +95,11 @@ Beispiele: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Beispiele: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Nach oben und unten bewegen, um weitere Frameworks anzuzeigen @@ -152,6 +162,11 @@ Beispiele: Suchtext eingeben + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Wählen Sie das auszuführende Zielframework aus: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf index 8cd88128ff69..c1c2adc95b72 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf @@ -95,6 +95,11 @@ Ejemplos: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Ejemplos: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Subir y bajar para mostrar más marcos @@ -152,6 +162,11 @@ Ejemplos: Escriba para buscar + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Seleccione la plataforma de destino que se va a ejecutar: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf index 1e6fb5271f98..c379df1f5d20 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf @@ -95,6 +95,11 @@ Exemples : + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Exemples : + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Montez et descendez pour afficher plus de frameworks @@ -152,6 +162,11 @@ Exemples : Entrer le texte à rechercher + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Sélectionner le framework cible pour exécuter : diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf index 6d6d78443c19..4510f1cb2753 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf @@ -95,6 +95,11 @@ Esempi: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Esempi: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Spostarsi verso l'alto o verso il basso per visualizzare altri framework @@ -152,6 +162,11 @@ Esempi: Digita per cercare + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Selezionare il framework di destinazione da eseguire: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf index 3b70dc72fdd9..b2f96c858610 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf @@ -95,6 +95,11 @@ Examples: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Examples: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks 上下に移動して、さらに多くのフレームワークを表示 @@ -152,6 +162,11 @@ Examples: 入力して検索します + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: 実行するターゲット フレームワークを選択してください: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf index c18faac8548f..3c3a704d8771 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf @@ -95,6 +95,11 @@ Examples: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Examples: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks 더 많은 프레임워크를 보려면 위아래로 이동하세요. @@ -152,6 +162,11 @@ Examples: 검색할 형식 + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: 실행할 대상 프레임워크 선택: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf index 11e12cce9089..9485c3e73f08 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf @@ -95,6 +95,11 @@ Przykłady: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Przykłady: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Przesuń w górę lub w dół, aby zobaczyć więcej struktur @@ -152,6 +162,11 @@ Przykłady: Wpisz, aby wyszukać + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Wybierz docelową strukturę do uruchomienia: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf index c2cf90dbc1f4..23b7b384d57d 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf @@ -95,6 +95,11 @@ Exemplos: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Exemplos: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Mover para cima e para baixo para ver mais estruturas @@ -152,6 +162,11 @@ Exemplos: Digitar para pesquisar + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Selecione a estrutura de destino para executar: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf index 16b322cb7c73..db2a5678d77f 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf @@ -95,6 +95,11 @@ Examples: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Examples: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Прокрутите вверх и вниз, чтобы увидеть больше платформ @@ -152,6 +162,11 @@ Examples: Введите текст для поиска + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Выберите целевую платформу для запуска: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf index 54425fd1bf8d..62d1c81aa127 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf @@ -95,6 +95,11 @@ Açıklamalar: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Açıklamalar: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks Yukarı ve aşağı hareket ederek daha fazla çerçeve görüntüleyin @@ -152,6 +162,11 @@ Açıklamalar: Aramak için yazın + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: Çalıştırmak için hedef çerçeveyi seçin: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf index fd7b9fd06974..6f0a97b938bb 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf @@ -96,6 +96,11 @@ Examples: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -143,6 +148,11 @@ Examples: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks 上移或下移以显示更多框架 @@ -153,6 +163,11 @@ Examples: 键入以搜索 + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: 选择要运行的目标框架: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf index 7a132b3aaf28..f31ba66d99d2 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf @@ -95,6 +95,11 @@ Examples: + + The device identifier to run on (e.g. emulator, simulator, or physical device). + The device identifier to run on (e.g. emulator, simulator, or physical device). + + Lists all discovered files without starting the watcher. @@ -142,6 +147,11 @@ Examples: + + Move up and down to reveal more devices + Move up and down to reveal more devices + + Move up and down to reveal more frameworks 上下移動以顯示更多的架構 @@ -152,6 +162,11 @@ Examples: 要搜尋的類型 + + Select a device to run on: + Select a device to run on: + + Select the target framework to run: 選取要執行的目標架構: diff --git a/test/dotnet-watch.Tests/Build/EvaluationTests.cs b/test/dotnet-watch.Tests/Build/EvaluationTests.cs index 3ca413fa1842..4b8f5c6f0652 100644 --- a/test/dotnet-watch.Tests/Build/EvaluationTests.cs +++ b/test/dotnet-watch.Tests/Build/EvaluationTests.cs @@ -442,7 +442,7 @@ public async Task ProjectReferences_Graph() var options = TestOptions.GetEnvironmentOptions(workingDirectory: testDirectory); var processRunner = new ProcessRunner(processCleanupTimeout: TimeSpan.Zero); - var filesetFactory = new MSBuildFileSetFactory(projectA, targetFramework: null, buildArguments: ["/p:_DotNetWatchTraceOutput=true"], processRunner, _logger, options); + var filesetFactory = new MSBuildFileSetFactory(projectA, targetFramework: null, buildArguments: ["/p:_DotNetWatchTraceOutput=true"], processRunner, _logger, TestOptions.GlobalOptions, options); var result = await filesetFactory.TryCreateAsync(requireProjectGraph: null, CancellationToken.None); Assert.NotNull(result); @@ -506,7 +506,7 @@ public async Task MsbuildOutput() var options = TestOptions.GetEnvironmentOptions(workingDirectory: Path.GetDirectoryName(project1Path)!); var processRunner = new ProcessRunner(processCleanupTimeout: TimeSpan.Zero); - var factory = new MSBuildFileSetFactory(project1Path, targetFramework: null, buildArguments: [], processRunner, _logger, options); + var factory = new MSBuildFileSetFactory(project1Path, targetFramework: null, buildArguments: [], processRunner, _logger, TestOptions.GlobalOptions, options); var result = await factory.TryCreateAsync(requireProjectGraph: null, CancellationToken.None); Assert.Null(result); @@ -543,7 +543,7 @@ async Task VerifyTargetsEvaluation() var options = TestOptions.GetEnvironmentOptions(workingDirectory: testDir) with { TestOutput = testDir }; var processRunner = new ProcessRunner(processCleanupTimeout: TimeSpan.Zero); var buildArguments = targetFramework != null ? new[] { "/p:TargetFramework=" + targetFramework } : []; - var factory = new MSBuildFileSetFactory(rootProjectPath, targetFramework: null, buildArguments, processRunner, _logger, options); + var factory = new MSBuildFileSetFactory(rootProjectPath, targetFramework: null, buildArguments, processRunner, _logger, TestOptions.GlobalOptions, options); var targetsResult = await factory.TryCreateAsync(requireProjectGraph: null, CancellationToken.None); Assert.NotNull(targetsResult); diff --git a/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs b/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs index fbcbb8404f8a..3f0322c2c0bb 100644 --- a/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs +++ b/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs @@ -20,7 +20,7 @@ public void RegularProject() var projectPath = Path.Combine(testAsset.Path, "WatchNoDepsApp.csproj"); var projectRepr = new ProjectRepresentation(projectPath, entryPointFilePath: null); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger); + var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions(asset: testAsset)); var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); Assert.NotNull(graph); @@ -40,7 +40,7 @@ public void VirtualProject() """); var projectRepr = new ProjectRepresentation(projectPath: null, entryPointFilePath); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger); + var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions()); var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); Assert.NotNull(graph); @@ -60,7 +60,7 @@ public void VirtualProject_Error() """); var projectRepr = new ProjectRepresentation(projectPath: null, entryPointFilePath); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger); + var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions()); var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); Assert.Null(graph); @@ -92,7 +92,7 @@ public void VirtualProject_ProjectDirective() """); var projectRepr = new ProjectRepresentation(projectPath: null, entryPointFilePath); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger); + var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions(asset: testAsset)); var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); Assert.NotNull(graph); diff --git a/test/dotnet-watch.Tests/HotReload/BuildParametersSelectionPromptTests.cs b/test/dotnet-watch.Tests/HotReload/BuildParametersSelectionPromptTests.cs new file mode 100644 index 000000000000..091146408807 --- /dev/null +++ b/test/dotnet-watch.Tests/HotReload/BuildParametersSelectionPromptTests.cs @@ -0,0 +1,221 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using SpectreTestConsole = Spectre.Console.Testing.TestConsole; + +namespace Microsoft.DotNet.Watch.UnitTests; + +public class BuildParametersSelectionPromptTests +{ + private static DeviceInfo[] CreateTestDevices() => + [ + new("emulator-5554", "Pixel 7 - API 35", "Emulator", "Online", "android-x64"), + new("emulator-5555", "Pixel 7 - API 36", "Emulator", "Online", "android-x64"), + new("0A041FDD400327", "Pixel 7 Pro", "Device", "Online", "android-arm64"), + ]; + + [Theory] + [CombinatorialData] + public async Task SelectsFrameworkByArrowKeysAndEnter([CombinatorialRange(0, count: 3)] int index) + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + for (var i = 0; i < index; i++) + { + console.Input.PushKey(ConsoleKey.DownArrow); + } + console.Input.PushKey(ConsoleKey.Enter); + + var frameworks = new[] { "net7.0", "net8.0", "net9.0" }; + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var result = await prompt.SelectTargetFrameworkAsync(frameworks, CancellationToken.None); + Assert.Equal(frameworks[index], result); + Assert.Equal(frameworks[index], prompt.PreviousFrameworkSelection); + } + + [Theory] + [CombinatorialData] + public async Task PreviousFrameworkSelectionIsReusedWhenUnchanged([CombinatorialRange(0, count: 3)] int index) + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + for (var i = 0; i < index; i++) + { + console.Input.PushKey(ConsoleKey.DownArrow); + } + console.Input.PushKey(ConsoleKey.Enter); + + var frameworks = new[] { "net7.0", "net8.0", "net9.0" }; + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var first = await prompt.SelectTargetFrameworkAsync(frameworks, CancellationToken.None); + Assert.Equal(frameworks[index], first); + + // Same frameworks (reordered, different casing) should reuse previous selection without prompting + var second = await prompt.SelectTargetFrameworkAsync(["NET9.0", "net7.0", "net8.0"], CancellationToken.None); + Assert.Equal(first, second); + } + + [Fact] + public async Task PromptsAgainWhenFrameworksChange() + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + console.Input.PushKey(ConsoleKey.Enter); + console.Input.PushKey(ConsoleKey.DownArrow); + console.Input.PushKey(ConsoleKey.Enter); + + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var first = await prompt.SelectTargetFrameworkAsync(["net7.0", "net8.0", "net9.0"], CancellationToken.None); + Assert.Equal("net7.0", first); + + var second = await prompt.SelectTargetFrameworkAsync(["net9.0", "net10.0"], CancellationToken.None); + Assert.Equal("net10.0", second); + } + + [Fact] + public async Task SelectsFrameworkBySearchText() + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + console.Input.PushText("net9.0"); + console.Input.PushKey(ConsoleKey.Enter); + + var frameworks = new[] { "net7.0", "net8.0", "net9.0", "net10.0" }; + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var result = await prompt.SelectTargetFrameworkAsync(frameworks, CancellationToken.None); + Assert.Equal("net9.0", result); + } + + [Fact] + public async Task SelectsFirstDeviceByEnter() + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + console.Input.PushKey(ConsoleKey.Enter); + + var devices = CreateTestDevices(); + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var result = await prompt.SelectDeviceAsync(devices, CancellationToken.None); + Assert.Equal(devices[0], result); + Assert.Equal(devices[0], prompt.PreviousDeviceSelection); + } + + [Fact] + public async Task SelectsDeviceBySearchText() + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + console.Input.PushText("Pixel 7 Pro"); + console.Input.PushKey(ConsoleKey.Enter); + + var devices = CreateTestDevices(); + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var result = await prompt.SelectDeviceAsync(devices, CancellationToken.None); + Assert.Equal("0A041FDD400327", result.Id); + Assert.Equal("android-arm64", result.RuntimeIdentifier); + } + + [Fact] + public async Task PreviousDeviceSelectionIsReusedWhenUnchanged() + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + console.Input.PushKey(ConsoleKey.Enter); + + var devices = CreateTestDevices(); + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var first = await prompt.SelectDeviceAsync(devices, CancellationToken.None); + Assert.Equal(devices[0], first); + + // Same devices should reuse previous selection without prompting + var second = await prompt.SelectDeviceAsync(devices, CancellationToken.None); + Assert.Equal(first, second); + } + + [Fact] + public async Task PromptsAgainWhenDevicesChange() + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + console.Input.PushKey(ConsoleKey.Enter); + console.Input.PushText("iPhone 15"); + console.Input.PushKey(ConsoleKey.Enter); + + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var first = await prompt.SelectDeviceAsync(CreateTestDevices(), CancellationToken.None); + Assert.Equal("emulator-5554", first.Id); + + DeviceInfo[] newDevices = + [ + new("sim-1", "iPhone 14 - iOS 18.6", "Simulator", "Booted", "iossimulator-arm64"), + new("sim-2", "iPhone 15 - iOS 26.0", "Simulator", "Shutdown", "iossimulator-arm64"), + ]; + var second = await prompt.SelectDeviceAsync(newDevices, CancellationToken.None); + Assert.Equal("sim-2", second.Id); + } + + [Fact] + public async Task SelectsDeviceBySearchingId() + { + var console = new SpectreTestConsole(); + console.Profile.Capabilities.Interactive = true; + + console.Input.PushText("emulator-5555"); + console.Input.PushKey(ConsoleKey.Enter); + + var devices = CreateTestDevices(); + var prompt = new SpectreBuildParametersSelectionPrompt(console); + + var result = await prompt.SelectDeviceAsync(devices, CancellationToken.None); + Assert.Equal("emulator-5555", result.Id); + Assert.Equal("android-x64", result.RuntimeIdentifier); + } + + [Fact] + public void FormatDevice_WithAllMetadata() + { + var device = new DeviceInfo("emulator-5554", "Pixel 7 - API 35", "Emulator", "Online", "android-x64"); + var formatted = SpectreBuildParametersSelectionPrompt.FormatDevice(device); + Assert.Equal("emulator-5554 - Pixel 7 - API 35 (Emulator, Online)", formatted); + } + + [Fact] + public void FormatDevice_WithoutType() + { + var device = new DeviceInfo("device-1", "My Phone", null, "Connected", null); + var formatted = SpectreBuildParametersSelectionPrompt.FormatDevice(device); + Assert.Equal("device-1 - My Phone (Connected)", formatted); + } + + [Fact] + public void FormatDevice_WithoutStatus() + { + var device = new DeviceInfo("device-1", "My Phone", "Device", null, null); + var formatted = SpectreBuildParametersSelectionPrompt.FormatDevice(device); + Assert.Equal("device-1 - My Phone (Device)", formatted); + } + + [Fact] + public void FormatDevice_IdOnly() + { + var device = new DeviceInfo("device-1", null, null, null, null); + var formatted = SpectreBuildParametersSelectionPrompt.FormatDevice(device); + Assert.Equal("device-1", formatted); + } +} diff --git a/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs b/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs index 3f73a014018a..15b0bcb6c3b6 100644 --- a/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs +++ b/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs @@ -50,7 +50,7 @@ public TestContext(ITestOutputHelper output, ImmutableArray + /// Tests device selection in dotnet-watch using the DotnetRunDevices test asset, + /// which provides ComputeAvailableDevices and DeployToDevice MSBuild targets. + /// + [Fact] + public async Task SelectsDevice() + { + var testAsset = TestAssets.CopyTestAsset("DotnetRunDevices") + .WithSource(); + + var tfm = ToolsetInfo.CurrentTargetFramework; + + // Start watch with ReadKeyFromStdin so we can interact with Spectre prompts. + // Pass --framework to skip TFM selection and focus on device selection. + App.Start(testAsset, ["-f", tfm], testFlags: TestFlags.ReadKeyFromStdin); + + // Wait for the device selection prompt + await App.WaitUntilOutputContains(Resources.SelectDevicePrompt); + + // Type to search for "test-device-1" and select it + foreach (var c in "test-device-1") + { + App.SendKey(c); + } + App.SendKey('\r'); + + // The app should launch and print the selected device + await App.WaitUntilOutputContains("Device: test-device-1"); + } + + [Fact] + public async Task AutoSelectsSingleDevice() + { + var testAsset = TestAssets.CopyTestAsset("DotnetRunDevices") + .WithSource(); + + var tfm = ToolsetInfo.CurrentTargetFramework; + + // SingleDevice=true makes ComputeAvailableDevices return only one device. + App.Start(testAsset, ["-f", tfm, "--property", "SingleDevice=true"], testFlags: TestFlags.ReadKeyFromStdin); + + // Should auto-select without prompting and launch the app + await App.WaitUntilOutputContains("Device: single-device"); + } } diff --git a/test/dotnet-watch.Tests/HotReload/TargetFrameworkSelectionPromptTests.cs b/test/dotnet-watch.Tests/HotReload/TargetFrameworkSelectionPromptTests.cs deleted file mode 100644 index a25cd6bc4a6b..000000000000 --- a/test/dotnet-watch.Tests/HotReload/TargetFrameworkSelectionPromptTests.cs +++ /dev/null @@ -1,95 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using SpectreTestConsole = Spectre.Console.Testing.TestConsole; - -namespace Microsoft.DotNet.Watch.UnitTests; - -public class TargetFrameworkSelectionPromptTests -{ - [Theory] - [CombinatorialData] - public async Task SelectsFrameworkByArrowKeysAndEnter([CombinatorialRange(0, count: 3)] int index) - { - var console = new SpectreTestConsole(); - console.Profile.Capabilities.Interactive = true; - - // Press DownArrow 'index' times to move to the desired item, then Enter to select - for (var i = 0; i < index; i++) - { - console.Input.PushKey(ConsoleKey.DownArrow); - } - console.Input.PushKey(ConsoleKey.Enter); - - var frameworks = new[] { "net7.0", "net8.0", "net9.0" }; - var prompt = new SpectreTargetFrameworkSelectionPrompt(console); - - var result = await prompt.SelectAsync(frameworks, CancellationToken.None); - Assert.Equal(frameworks[index], result); - Assert.Equal(frameworks[index], prompt.PreviousSelection); - } - - [Theory] - [CombinatorialData] - public async Task PreviousSelectionIsReusedWhenFrameworksUnchanged([CombinatorialRange(0, count: 3)] int index) - { - var console = new SpectreTestConsole(); - console.Profile.Capabilities.Interactive = true; - - // First selection via key presses - for (var i = 0; i < index; i++) - { - console.Input.PushKey(ConsoleKey.DownArrow); - } - console.Input.PushKey(ConsoleKey.Enter); - - var frameworks = new[] { "net7.0", "net8.0", "net9.0" }; - var prompt = new SpectreTargetFrameworkSelectionPrompt(console); - - var first = await prompt.SelectAsync(frameworks, CancellationToken.None); - Assert.Equal(frameworks[index], first); - - // Same frameworks (reordered, different casing) should reuse previous selection without prompting - var second = await prompt.SelectAsync(["NET9.0", "net7.0", "net8.0"], CancellationToken.None); - Assert.Equal(first, second); - } - - [Fact] - public async Task PromptsAgainWhenFrameworksChange() - { - var console = new SpectreTestConsole(); - console.Profile.Capabilities.Interactive = true; - - // First selection: pick first item - console.Input.PushKey(ConsoleKey.Enter); - // Second selection (after frameworks change): pick second item - console.Input.PushKey(ConsoleKey.DownArrow); - console.Input.PushKey(ConsoleKey.Enter); - - var prompt = new SpectreTargetFrameworkSelectionPrompt(console); - - var first = await prompt.SelectAsync(["net7.0", "net8.0", "net9.0"], CancellationToken.None); - Assert.Equal("net7.0", first); - - // Different set of frameworks — should prompt again - var second = await prompt.SelectAsync(["net9.0", "net10.0"], CancellationToken.None); - Assert.Equal("net10.0", second); - } - - [Fact] - public async Task SelectsFrameworkBySearchText() - { - var console = new SpectreTestConsole(); - console.Profile.Capabilities.Interactive = true; - - // Type "net9.0" to filter, then Enter to select the match - console.Input.PushText("net9.0"); - console.Input.PushKey(ConsoleKey.Enter); - - var frameworks = new[] { "net7.0", "net8.0", "net9.0", "net10.0" }; - var prompt = new SpectreTargetFrameworkSelectionPrompt(console); - - var result = await prompt.SelectAsync(frameworks, CancellationToken.None); - Assert.Equal("net9.0", result); - } -} diff --git a/test/dotnet-watch.Tests/TestUtilities/DotNetWatchTestBase.cs b/test/dotnet-watch.Tests/TestUtilities/DotNetWatchTestBase.cs index 3bbbeddb34d3..4e95ae6e6fc3 100644 --- a/test/dotnet-watch.Tests/TestUtilities/DotNetWatchTestBase.cs +++ b/test/dotnet-watch.Tests/TestUtilities/DotNetWatchTestBase.cs @@ -98,7 +98,7 @@ internal InProcTestWatcher CreateInProcWatcher(TestAsset testAsset, string[] arg }); var context = program.CreateContext(processRunner); - var watcher = new HotReloadDotNetWatcher(context, console, runtimeProcessLauncherFactory: factory, targetFrameworkSelectionPrompt: null); + var watcher = new HotReloadDotNetWatcher(context, console, runtimeProcessLauncherFactory: factory, selectionPrompt: null); var shutdownSource = new CancellationTokenSource(); return new InProcTestWatcher(Logger, watcher, context, eventObserver, reporter, console, serviceHolder, shutdownSource); diff --git a/test/dotnet-watch.Tests/TestUtilities/MockFileSetFactory.cs b/test/dotnet-watch.Tests/TestUtilities/MockFileSetFactory.cs index f5065d47dfb6..c057afa3829b 100644 --- a/test/dotnet-watch.Tests/TestUtilities/MockFileSetFactory.cs +++ b/test/dotnet-watch.Tests/TestUtilities/MockFileSetFactory.cs @@ -11,6 +11,7 @@ internal class MockFileSetFactory() : MSBuildFileSetFactory( buildArguments: [], new ProcessRunner(processCleanupTimeout: TimeSpan.Zero), NullLogger.Instance, + TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions(Environment.CurrentDirectory) is var options ? options : options) { public Func? TryCreateImpl; diff --git a/test/dotnet-watch.Tests/TestUtilities/TestOptions.cs b/test/dotnet-watch.Tests/TestUtilities/TestOptions.cs index 3744a59299b2..9e4d691b2975 100644 --- a/test/dotnet-watch.Tests/TestUtilities/TestOptions.cs +++ b/test/dotnet-watch.Tests/TestUtilities/TestOptions.cs @@ -12,6 +12,7 @@ internal static class TestOptions public static int GetTestPort() => Interlocked.Increment(ref s_testPort); + public static readonly GlobalOptions GlobalOptions = new() { BinaryLogPath = "msbuild.binlog" }; public static readonly ProjectOptions ProjectOptions = GetProjectOptions(GetCommandLineOptions([])); public static EnvironmentOptions GetEnvironmentOptions(string workingDirectory = "", TestAsset? asset = null) From 20867643ee23f1fe7f4ad440e69e3567da7c8350 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Wed, 1 Apr 2026 12:53:59 -0500 Subject: [PATCH 063/137] [dotnet-watch] Fix WebSocket transport crash on Ctrl+R restart (#53648) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: https://github.com/dotnet/sdk/issues/53634 When a mobile/WebSocket app is shut down (Ctrl+C) or restarted (Ctrl+R), the child process is killed which closes the TCP connection. Kestrel tears down the HTTP context, and then `RunningProject.DisposeAsync` tries to dispose the WebSocket — hitting an `ObjectDisposedException` on the already-disposed `IFeatureCollection`. The `ListenForResponsesAsync` loop also logs a spurious `WebSocketException` error. **Fixes:** - `RequestHandler.Dispose`: catch `ObjectDisposedException` when the underlying Kestrel HTTP context is already torn down - `IsExpectedConnectionTermination`: treat `WebSocketException` as expected when the socket state is `Aborted` (remote disconnected) **Tests:** - `CtrlC_ShutsDownCleanly`: verifies clean shutdown with WebSocket transport - `CtrlR_RestartsCleanly`: verifies restart without `WebSocketException` or `ObjectDisposedException` errors Both tests fail without the fix. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../WebSocketClientTransport.cs | 19 ++++++- .../HotReload/MobileHotReloadTests.cs | 51 +++++++++++++++++++ 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/src/Dotnet.Watch/HotReloadClient/WebSocketClientTransport.cs b/src/Dotnet.Watch/HotReloadClient/WebSocketClientTransport.cs index 6bcc49d6e7fe..6bc21e5b9451 100644 --- a/src/Dotnet.Watch/HotReloadClient/WebSocketClientTransport.cs +++ b/src/Dotnet.Watch/HotReloadClient/WebSocketClientTransport.cs @@ -44,7 +44,9 @@ public override void Dispose() } public override bool IsExpectedConnectionTermination(Exception exception, CancellationToken cancellationToken) - => cancellationToken.IsCancellationRequested; + => cancellationToken.IsCancellationRequested + || exception is ObjectDisposedException + || (exception is System.Net.WebSockets.WebSocketException && _handler.IsClientSocketAborted); /// /// Creates and starts a new instance. @@ -86,6 +88,9 @@ private sealed class RequestHandler(ILogger logger) : IDisposable private WebSocket? _clientSocket; + public bool IsClientSocketAborted + => _clientSocket?.State is System.Net.WebSockets.WebSocketState.Aborted; + // Reused across WriteAsync calls to avoid allocations. // WriteAsync is invoked under a semaphore in DefaultHotReloadClient. private MemoryStream? _sendBuffer; @@ -95,7 +100,17 @@ public void Dispose() logger.LogDebug("Disposing agent websocket transport"); _sendBuffer?.Dispose(); - _clientSocket?.Dispose(); + + try + { + _clientSocket?.Dispose(); + } + catch (ObjectDisposedException) + { + // The underlying HTTP context may already be disposed when the + // child process was terminated (e.g. Ctrl+R restart). + } + SharedSecretProvider.Dispose(); } diff --git a/test/dotnet-watch.Tests/HotReload/MobileHotReloadTests.cs b/test/dotnet-watch.Tests/HotReload/MobileHotReloadTests.cs index 6a99baab6982..87c369d77d69 100644 --- a/test/dotnet-watch.Tests/HotReload/MobileHotReloadTests.cs +++ b/test/dotnet-watch.Tests/HotReload/MobileHotReloadTests.cs @@ -38,4 +38,55 @@ public async Task HotReload_WithWebSocketCapability() await App.AssertOutputLineStartsWith("Changed!"); } + + [Fact] + public async Task CtrlC_ShutsDownCleanly() + { + var testAsset = TestAssets.CopyTestAsset("WatchMobileApp") + .WithSource(); + + App.Start(testAsset, [], testFlags: TestFlags.ReadKeyFromStdin); + + await App.WaitUntilOutputContains("Started"); + await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); + await App.WaitUntilOutputContains(WebSocketServerStartedPattern); + await App.WaitUntilOutputContains("WebSocket client connected"); + + App.Process.ClearOutput(); + App.SendControlC(); + + await App.WaitUntilOutputContains(MessageDescriptor.ShutdownRequested); + await App.WaitUntilOutputContains("exited with exit code"); + + App.AssertOutputDoesNotContain("ObjectDisposedException"); + App.AssertOutputDoesNotContain("WebSocketException"); + App.AssertOutputDoesNotContain("An unexpected error occurred"); + } + + [Fact] + public async Task CtrlR_RestartsCleanly() + { + var testAsset = TestAssets.CopyTestAsset("WatchMobileApp") + .WithSource(); + + App.Start(testAsset, [], testFlags: TestFlags.ReadKeyFromStdin); + + await App.WaitUntilOutputContains("Started"); + await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); + await App.WaitUntilOutputContains(WebSocketServerStartedPattern); + await App.WaitUntilOutputContains("WebSocket client connected"); + + App.Process.ClearOutput(); + App.SendControlR(); + + await App.WaitUntilOutputContains(MessageDescriptor.RestartRequested); + + // App should restart and output "Started" again (iteration 2) + await App.WaitUntilOutputContains("DOTNET_WATCH_ITERATION = 2"); + await App.WaitUntilOutputContains("Started"); + + App.AssertOutputDoesNotContain("ObjectDisposedException"); + App.AssertOutputDoesNotContain("WebSocketException"); + App.AssertOutputDoesNotContain("An unexpected error occurred"); + } } From a38aeea27e006b790f38236648c5620f4bc4c7ef Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 2 Apr 2026 00:59:01 +0000 Subject: [PATCH 064/137] Update dependencies from build 308845 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26181.114 -> 10.0.0-preview.26201.115) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26181-114 -> 18.6.0-preview-26201-115) 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.6.0-rc.18214 -> 7.6.0-rc.20215) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26181.114 -> 10.0.300-alpha.26201.115) 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.6.0-2.26181.114 -> 5.7.0-1.26201.115) 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.26181.114 -> 10.0.0-beta.26201.115) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26181.114 -> 15.2.300-servicing.26201.115) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26181-114 -> 18.3.0-release-26201-115) 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.300-preview.26181.114 -> 10.0.300-preview.26201.115) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index b906b3246197..1cae23ee41c3 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26181.114 + 10.0.0-preview.26201.115 10.0.5 10.0.5 - 18.6.0-preview-26181-114 - 18.6.0-preview-26181-114 - 7.6.0-rc.18214 - 10.0.300-alpha.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 10.0.0-preview.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 + 18.6.0-preview-26201-115 + 18.6.0-preview-26201-115 + 7.6.0-rc.20215 + 10.0.300-alpha.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 10.0.0-preview.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26181.114 - 10.0.0-beta.26181.114 - 10.0.0-beta.26181.114 - 10.0.0-beta.26181.114 - 10.0.0-beta.26181.114 - 10.0.0-beta.26181.114 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26181.114 - 10.0.0-beta.26181.114 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26181.114 + 15.2.300-servicing.26201.115 10.0.5 - 5.6.0-2.26181.114 - 5.6.0-2.26181.114 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26181.114 + 10.0.0-preview.26201.115 10.0.5-servicing.26153.111 - 18.3.0-release-26181-114 + 18.3.0-release-26201-115 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26181.114 - 10.0.300-alpha.26181.114 - 10.0.300-alpha.26181.114 - 10.0.300-alpha.26181.114 - 10.0.300-alpha.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 10.0.300-preview.26181.114 - 18.3.0-release-26181-114 - 18.3.0-release-26181-114 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 18.3.0-release-26201-115 + 18.3.0-release-26201-115 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 - 7.6.0-rc.18214 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7414e8a5ca1e..56e7b7fa356a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index fb2fbc7b6528..be9322509d64 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.114", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.114", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.115", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.115", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From a0c56e35cbdb7e52f5d6f8630af3e9c1e42a4f05 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 2 Apr 2026 02:04:00 +0000 Subject: [PATCH 065/137] Update dependencies from https://github.com/microsoft/testfx build 20260401.3 On relative base path root Microsoft.Testing.Platform From Version 2.2.1-preview.26180.5 -> To Version 2.2.1-preview.26201.3 MSTest From Version 4.2.1-preview.26180.5 -> To Version 4.2.1-preview.26201.3 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 38321fab2619..f1cc0da76bc4 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 - 2.2.1-preview.26180.5 - 4.2.1-preview.26180.5 + 2.2.1-preview.26201.3 + 4.2.1-preview.26201.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 552bb094a2cc..e4e66d308d43 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -561,13 +561,13 @@ https://github.com/dotnet/dotnet 645374ace1c8bbeb07aac743552acc62bbb2c34b - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4b12ce96553c32c1038bf81176b98a79994d6967 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4b12ce96553c32c1038bf81176b98a79994d6967 https://github.com/dotnet/dotnet From 19a1789f6b2641b6f7439e97447db866aedcf38b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 2 Apr 2026 02:05:03 +0000 Subject: [PATCH 066/137] Update dependencies from https://github.com/microsoft/testfx build 20260401.3 On relative base path root Microsoft.Testing.Platform From Version 2.2.1-preview.26180.5 -> To Version 2.2.1-preview.26201.3 MSTest From Version 4.2.1-preview.26180.5 -> To Version 4.2.1-preview.26201.3 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index bcffdc1c7854..a29cc1275c97 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.1-preview.26180.5 - 4.2.1-preview.26180.5 + 2.2.1-preview.26201.3 + 4.2.1-preview.26201.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6a9fbed43b25..1f812db7307d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4b12ce96553c32c1038bf81176b98a79994d6967 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4b12ce96553c32c1038bf81176b98a79994d6967 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 267608f3b5c39fc73b457e3629c2ff204929987d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2026 04:25:30 +0000 Subject: [PATCH 067/137] Reset files to release/10.0.3xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 1 - eng/Version.Details.props | 274 ++++----- eng/Version.Details.xml | 551 +++++++++--------- eng/common/core-templates/job/onelocbuild.yml | 4 +- .../job/publish-build-assets.yml | 4 +- .../core-templates/post-build/post-build.yml | 16 +- .../variables/pool-providers.yml | 2 +- .../templates/variables/pool-providers.yml | 2 +- global.json | 6 +- 9 files changed, 439 insertions(+), 421 deletions(-) diff --git a/NuGet.config b/NuGet.config index 9c862cf686ff..f3f728c95515 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index c21415fe4d95..b906b3246197 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,145 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.0-preview.26201.103 - 10.0.4 - 10.0.4 - 18.3.3 - 18.3.3-servicing-26201-103 - 7.3.0-rc.20203 - 10.0.202 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 10.0.0-preview.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 2.0.0-preview.1.26119.110 - 2.2.4 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 15.2.202-servicing.26201.103 - 10.0.4 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-preview.26181.114 + 10.0.5 + 10.0.5 + 18.6.0-preview-26181-114 + 18.6.0-preview-26181-114 + 7.6.0-rc.18214 + 10.0.300-alpha.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 10.0.0-preview.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 2.0.0-preview.1.26153.111 + 2.2.5 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-beta.26181.114 + 10.0.0-beta.26181.114 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 15.2.300-servicing.26181.114 + 10.0.5 + 5.6.0-2.26181.114 + 5.6.0-2.26181.114 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26201.103 - 10.0.4-servicing.26119.110 - 18.3.0-release-26201-103 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26201.103 - 10.0.202 - 10.0.202-servicing.26201.103 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26201.103 - 18.3.0-release-26201-103 - 18.3.0-release-26201-103 - 3.2.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 10.0.4 - 2.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 + 10.0.0-preview.26181.114 + 10.0.5-servicing.26153.111 + 18.3.0-release-26181-114 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-alpha.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 10.0.300-preview.26181.114 + 18.3.0-release-26181-114 + 18.3.0-release-26181-114 + 3.2.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 7.6.0-rc.18214 + 10.0.5 + 2.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 - 2.2.1-preview.26180.5 - 4.2.1-preview.26180.5 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 @@ -190,6 +193,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -201,9 +205,11 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 04a422f4cd4f..7414e8a5ca1e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 @@ -68,170 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + + + https://github.com/dotnet/dotnet + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 + + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 + + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 9e81c6a776124fa0edef3e69dfd96bf9775a8231 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index c5788829a872..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index b955fac6e13f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -74,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b942a79ef02d..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -120,7 +120,7 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng @@ -164,14 +164,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -225,14 +225,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -286,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/global.json b/global.json index 9c08fe17131e..fb2fbc7b6528 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.201", + "dotnet": "10.0.105", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.103", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.103", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26181.114", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26181.114", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 6a69913bbf308d26eb2c1c634d1460fe6bc16456 Mon Sep 17 00:00:00 2001 From: "Donna Chen (BEYONDSOFT CONSULTING INC)" Date: Thu, 2 Apr 2026 14:36:02 +0800 Subject: [PATCH 068/137] Update MTP help snapshot to include stdout/stderr options --- .../MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt b/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt index 9e788f97f5c9..7245366a7906 100644 --- a/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt +++ b/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt @@ -63,4 +63,8 @@ Platform Options: Extension Options: --report-trx Enable generating TRX report - --report-trx-filename The name of the generated TRX report \ No newline at end of file + --report-trx-filename The name of the generated TRX report + --show-stderr Determines when to show captured error output of a test. + Valid values are 'All', 'Failed', 'None'. Default is 'All'. + --show-stdout Determines when to show captured standard output of a test. + Valid values are 'All', 'Failed', 'None'. Default is 'All'. \ No newline at end of file From 817ff5af02b0abd5c91520a20be95fe357eb2138 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 2 Apr 2026 02:04:00 +0000 Subject: [PATCH 069/137] Update dependencies from https://github.com/microsoft/testfx build 20260401.3 On relative base path root Microsoft.Testing.Platform From Version 2.2.1-preview.26180.5 -> To Version 2.2.1-preview.26201.3 MSTest From Version 4.2.1-preview.26180.5 -> To Version 4.2.1-preview.26201.3 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index c21415fe4d95..9b819db01096 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.1-preview.26180.5 - 4.2.1-preview.26180.5 + 2.2.1-preview.26201.3 + 4.2.1-preview.26201.3 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 04a422f4cd4f..a419825ec2fa 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4b12ce96553c32c1038bf81176b98a79994d6967 - + https://github.com/microsoft/testfx - f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 + 4b12ce96553c32c1038bf81176b98a79994d6967 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From d4ad376a39cff96c16049b8c23af342f7578495f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2026 06:31:08 +0000 Subject: [PATCH 070/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 9b819db01096..c21415fe4d95 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.1-preview.26201.3 - 4.2.1-preview.26201.3 + 2.2.1-preview.26180.5 + 4.2.1-preview.26180.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a419825ec2fa..04a422f4cd4f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + f8dc21bde0c93918c9847361eb3bf41a9ed3d5f2 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 7a2dde8d2363530a294e48a1ef33202144f916ea Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 2 Apr 2026 16:10:29 +0000 Subject: [PATCH 071/137] Update dependencies from build 308997 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26201.103 -> 10.0.0-preview.26202.103) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26201-103 -> 18.3.3-servicing-26202-103) 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.3.0-rc.20203 -> 7.3.0-rc.20303) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26201.103 -> 5.3.0-2.26202.103) 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.26201.103 -> 10.0.0-beta.26202.103) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26201.103 -> 15.2.202-servicing.26202.103) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26201-103 -> 18.3.0-release-26202-103) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26201.103 -> 10.0.202-servicing.26202.103) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++---- eng/Version.Details.xml | 220 +++++++++--------- eng/common/core-templates/job/onelocbuild.yml | 4 +- .../job/publish-build-assets.yml | 4 +- .../core-templates/post-build/post-build.yml | 16 +- .../variables/pool-providers.yml | 2 +- .../templates/variables/pool-providers.yml | 2 +- global.json | 4 +- 9 files changed, 175 insertions(+), 175 deletions(-) diff --git a/NuGet.config b/NuGet.config index 9c862cf686ff..903609549285 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index c21415fe4d95..2c894263688d 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26201.103 + 10.0.0-preview.26202.103 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26201-103 - 7.3.0-rc.20203 + 18.3.3-servicing-26202-103 + 7.3.0-rc.20303 10.0.202 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 10.0.0-preview.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.0-preview.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26201.103 + 15.2.202-servicing.26202.103 10.0.4 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26201.103 + 10.0.0-preview.26202.103 10.0.4-servicing.26119.110 - 18.3.0-release-26201-103 + 18.3.0-release-26202-103 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26201.103 + 10.0.202-servicing.26202.103 10.0.202 - 10.0.202-servicing.26201.103 + 10.0.202-servicing.26202.103 10.0.202 10.0.202 - 10.0.202-servicing.26201.103 - 18.3.0-release-26201-103 - 18.3.0-release-26201-103 + 10.0.202-servicing.26202.103 + 18.3.0-release-26202-103 + 18.3.0-release-26202-103 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 04a422f4cd4f..cf281438cf1e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 0c538445912b51b36242aac75dd5e81265bbe37f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index c5788829a872..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index b955fac6e13f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -74,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b942a79ef02d..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -120,7 +120,7 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng @@ -164,14 +164,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -225,14 +225,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -286,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/global.json b/global.json index 9c08fe17131e..0552121a41ea 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.103", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.103", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 8d3f653826d7ca0cf75d3b5781f4930d7c21fbaa Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Thu, 2 Apr 2026 13:16:02 -0500 Subject: [PATCH 072/137] [dotnet watch] Fix target framework selector being stuck (#53675) Testing `dotnet-watch` end-to end on a `dotnet new maui` project... I found the Spectre.Console input was just "stuck", neither up/down arrows or typing to search did anything! `PhysicalConsole` runs `Console.ReadKey()` in a tight background loop, consuming all key presses and dispatching them via the `KeyPressed` event. When `SpectreBuildParametersSelectionPrompt` returned `AnsiConsole.Console` for non-redirected stdin, Spectre.Console would also call `Console.ReadKey()` internally, creating a race where `PhysicalConsole` steals every key press and the selection prompt appears completely stuck (arrow keys, typing, and search all do nothing). Fix by always using `KeyPressedAnsiConsole`, which reads keys from `PhysicalConsole.KeyPressed` events instead of competing for `Console.ReadKey()`. This ensures a single key reader (`PhysicalConsole`) distributes keys to all consumers including Spectre.Console. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../UI/SpectreBuildParametersSelectionPrompt.cs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Dotnet.Watch/dotnet-watch/UI/SpectreBuildParametersSelectionPrompt.cs b/src/Dotnet.Watch/dotnet-watch/UI/SpectreBuildParametersSelectionPrompt.cs index 7119266ef65b..6ad7c6e35c86 100644 --- a/src/Dotnet.Watch/dotnet-watch/UI/SpectreBuildParametersSelectionPrompt.cs +++ b/src/Dotnet.Watch/dotnet-watch/UI/SpectreBuildParametersSelectionPrompt.cs @@ -74,15 +74,10 @@ internal static string FormatDevice(DeviceInfo device) private static IAnsiConsole CreateConsole(IConsole watchConsole) { - if (!Console.IsInputRedirected) - { - return AnsiConsole.Console; - } - - // When stdin is redirected (e.g. in integration tests), Spectre.Console detects - // non-interactive mode and refuses to prompt. Create a console with forced - // interactivity that reads keys from IConsole.KeyPressed (fed by - // PhysicalConsole.ListenToStandardInputAsync). + // Always read keys from IConsole.KeyPressed (fed by PhysicalConsole) instead of + // letting Spectre.Console call Console.ReadKey() directly. PhysicalConsole already + // owns the Console.ReadKey() loop, so a second reader would race with it and never + // receive any key presses, making the selection prompt appear stuck. var ansiConsole = AnsiConsole.Create(new AnsiConsoleSettings { Ansi = AnsiSupport.Yes, From 0e77baecb8805431648a1a2033846ce40eca61f4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2026 18:50:20 +0000 Subject: [PATCH 073/137] Reset files to release/10.0.3xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 1 - eng/Version.Details.props | 274 ++++----- eng/Version.Details.xml | 551 +++++++++--------- eng/common/core-templates/job/onelocbuild.yml | 4 +- .../job/publish-build-assets.yml | 4 +- .../core-templates/post-build/post-build.yml | 16 +- .../variables/pool-providers.yml | 2 +- .../templates/variables/pool-providers.yml | 2 +- global.json | 6 +- 9 files changed, 439 insertions(+), 421 deletions(-) diff --git a/NuGet.config b/NuGet.config index 9c862cf686ff..f3f728c95515 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 9b819db01096..1cae23ee41c3 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,145 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.0-preview.26201.103 - 10.0.4 - 10.0.4 - 18.3.3 - 18.3.3-servicing-26201-103 - 7.3.0-rc.20203 - 10.0.202 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 10.0.0-preview.26201.103 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 2.0.0-preview.1.26119.110 - 2.2.4 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.0-beta.26201.103 - 10.0.0-beta.26201.103 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 15.2.202-servicing.26201.103 - 10.0.4 - 5.3.0-2.26201.103 - 5.3.0-2.26201.103 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-preview.26201.115 + 10.0.5 + 10.0.5 + 18.6.0-preview-26201-115 + 18.6.0-preview-26201-115 + 7.6.0-rc.20215 + 10.0.300-alpha.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 10.0.0-preview.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 2.0.0-preview.1.26153.111 + 2.2.5 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-beta.26201.115 + 10.0.0-beta.26201.115 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 15.2.300-servicing.26201.115 + 10.0.5 + 5.7.0-1.26201.115 + 5.7.0-1.26201.115 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26201.103 - 10.0.4-servicing.26119.110 - 18.3.0-release-26201-103 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26201.103 - 10.0.202 - 10.0.202-servicing.26201.103 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26201.103 - 18.3.0-release-26201-103 - 18.3.0-release-26201-103 - 3.2.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 7.3.0-rc.20203 - 10.0.4 - 2.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 + 10.0.0-preview.26201.115 + 10.0.5-servicing.26153.111 + 18.3.0-release-26201-115 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-alpha.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 10.0.300-preview.26201.115 + 18.3.0-release-26201-115 + 18.3.0-release-26201-115 + 3.2.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 7.6.0-rc.20215 + 10.0.5 + 2.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 - 2.2.1-preview.26201.3 - 4.2.1-preview.26201.3 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 @@ -190,6 +193,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -201,9 +205,11 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a419825ec2fa..56e7b7fa356a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 @@ -68,170 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + + + https://github.com/dotnet/dotnet + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 + + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://github.com/dotnet/dotnet - bedfad885dfe093ebb122a44e74133e192fa34d0 + 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index c5788829a872..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index b955fac6e13f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -74,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b942a79ef02d..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -120,7 +120,7 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng @@ -164,14 +164,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -225,14 +225,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -286,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/global.json b/global.json index 9c08fe17131e..be9322509d64 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.201", + "dotnet": "10.0.105", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.103", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.103", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.115", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.115", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From f3b759a5ab58422d09ab64b147e1baa69318ffd4 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Thu, 2 Apr 2026 16:02:02 -0700 Subject: [PATCH 074/137] Add new package source for dotnet-dotnet --- NuGet.config | 1 + 1 file changed, 1 insertion(+) diff --git a/NuGet.config b/NuGet.config index 0c7505bf1ba0..4950d4c01bdc 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,6 +4,7 @@ + From 5a4ab0d76da7c5bbb43fd893b44d5ff8f58f5275 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2026 00:47:50 +0000 Subject: [PATCH 075/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 266 +++++++-------- eng/Version.Details.xml | 673 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 475 insertions(+), 474 deletions(-) diff --git a/NuGet.config b/NuGet.config index 4950d4c01bdc..9c862cf686ff 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 0fe4aaebb82f..9b819db01096 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,139 +8,139 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.0-preview.26177.110 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26177-110 - 7.0.2-rc.17810 - 10.0.106 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 10.0.0-preview.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 2.0.0-preview.1.26177.110 - 2.2.6 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26177.110 - 10.0.6 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 10.0.6-servicing.26177.110 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26201.103 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26201-103 + 7.3.0-rc.20203 + 10.0.202 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 10.0.0-preview.26201.103 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26201.103 + 10.0.0-beta.26201.103 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26201.103 + 10.0.4 + 5.3.0-2.26201.103 + 5.3.0-2.26201.103 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26177.110 - 10.0.6-servicing.26177.110 - 18.0.2-release-26177-110 - 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26177.110 - 10.0.106 - 10.0.106-servicing.26177.110 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26177.110 - 18.0.2-release-26177-110 - 18.0.2-release-26177-110 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26201.103 + 10.0.4-servicing.26119.110 + 18.3.0-release-26201-103 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26201.103 + 10.0.202 + 10.0.202-servicing.26201.103 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26201.103 + 18.3.0-release-26201-103 + 18.3.0-release-26201-103 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 7.3.0-rc.20203 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 2.2.1-preview.26201.3 4.2.1-preview.26201.3 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 778daf5c201f..a419825ec2fa 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + bedfad885dfe093ebb122a44e74133e192fa34d0 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 https://github.com/microsoft/testfx @@ -569,9 +568,9 @@ https://github.com/microsoft/testfx 4b12ce96553c32c1038bf81176b98a79994d6967 - - https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 97e18dab0241..9c08fe17131e 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26177.110", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26177.110", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 8be57555cd38a209e64e86d57da14b6b151ad864 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 3 Apr 2026 02:04:06 +0000 Subject: [PATCH 076/137] Update dependencies from https://github.com/microsoft/testfx build 20260402.5 On relative base path root Microsoft.Testing.Platform From Version 2.2.1-preview.26201.3 -> To Version 2.3.0-preview.26202.5 MSTest From Version 4.2.1-preview.26201.3 -> To Version 4.3.0-preview.26202.5 --- NuGet.config | 2 +- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/NuGet.config b/NuGet.config index 4950d4c01bdc..345e68b146c5 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 0fe4aaebb82f..5696f7b49e9c 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 - 2.2.1-preview.26201.3 - 4.2.1-preview.26201.3 + 2.3.0-preview.26202.5 + 4.3.0-preview.26202.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 778daf5c201f..e30d6335ee61 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -561,13 +561,13 @@ https://github.com/dotnet/dotnet 6713f124fc53de19b420be2e0247d8f80868edb2 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 https://github.com/dotnet/dotnet From f228ec1fadbe95b61f5deea3a8e8d81785f5c472 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 3 Apr 2026 02:04:20 +0000 Subject: [PATCH 077/137] Update dependencies from https://github.com/microsoft/testfx build 20260402.5 On relative base path root Microsoft.Testing.Platform From Version 2.2.1-preview.26201.3 -> To Version 2.3.0-preview.26202.5 MSTest From Version 4.2.1-preview.26201.3 -> To Version 4.3.0-preview.26202.5 --- eng/Version.Details.props | 4 ++-- eng/Version.Details.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 9b819db01096..b659ff349c63 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -142,8 +142,8 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 - 2.2.1-preview.26201.3 - 4.2.1-preview.26201.3 + 2.3.0-preview.26202.5 + 4.3.0-preview.26202.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a419825ec2fa..98c4d2484670 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -560,13 +560,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 82b410f121b23ad972e8d32f9553021925299794 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 3 Apr 2026 10:06:33 +0000 Subject: [PATCH 078/137] Update dependencies from build 309086 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26201.115 -> 10.0.0-preview.26202.115) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26201-115 -> 18.6.0-preview-26202-115) 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.6.0-rc.20215 -> 7.6.0-rc.20315) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26201.115 -> 10.0.300-alpha.26202.115) 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.7.0-1.26201.115 -> 5.6.0-2.26202.115) 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.26201.115 -> 10.0.0-beta.26202.115) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26201.115 -> 15.2.300-servicing.26202.115) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26201-115 -> 18.3.0-release-26202-115) 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.300-preview.26201.115 -> 10.0.300-preview.26202.115) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 1cae23ee41c3..a2206a79f514 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26201.115 + 10.0.0-preview.26202.115 10.0.5 10.0.5 - 18.6.0-preview-26201-115 - 18.6.0-preview-26201-115 - 7.6.0-rc.20215 - 10.0.300-alpha.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 10.0.0-preview.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 + 18.6.0-preview-26202-115 + 18.6.0-preview-26202-115 + 7.6.0-rc.20315 + 10.0.300-alpha.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 10.0.0-preview.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 + 10.0.0-beta.26202.115 + 10.0.0-beta.26202.115 + 10.0.0-beta.26202.115 + 10.0.0-beta.26202.115 + 10.0.0-beta.26202.115 + 10.0.0-beta.26202.115 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 + 10.0.0-beta.26202.115 + 10.0.0-beta.26202.115 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26201.115 + 15.2.300-servicing.26202.115 10.0.5 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 + 5.6.0-2.26202.115 + 5.6.0-2.26202.115 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26201.115 + 10.0.0-preview.26202.115 10.0.5-servicing.26153.111 - 18.3.0-release-26201-115 + 18.3.0-release-26202-115 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 18.3.0-release-26201-115 - 18.3.0-release-26201-115 + 10.0.300-alpha.26202.115 + 10.0.300-alpha.26202.115 + 10.0.300-alpha.26202.115 + 10.0.300-alpha.26202.115 + 10.0.300-alpha.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 10.0.300-preview.26202.115 + 18.3.0-release-26202-115 + 18.3.0-release-26202-115 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 + 7.6.0-rc.20315 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 56e7b7fa356a..e547f6a9862e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + ebb056e47019472309f80ec9f344aa8844ddd186 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index be9322509d64..5f70a0f12404 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26201.115", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26201.115", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.115", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.115", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From c44ea579cd3f0dd932f2186b8fb75b8c755e2843 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 3 Apr 2026 10:08:27 -0700 Subject: [PATCH 079/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2943136 --- src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf | 6 +++--- src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf | 6 +++--- 13 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf index f06aeb552b1d..f10d70160ee3 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.cs.xlf @@ -97,7 +97,7 @@ Examples: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Identifikátor zařízení pro spuštění (například emulátor, simulátor nebo fyzické zařízení) @@ -149,7 +149,7 @@ Examples: Move up and down to reveal more devices - Move up and down to reveal more devices + Posunutím nahoru a dolů zobrazíte další zařízení. @@ -164,7 +164,7 @@ Examples: Select a device to run on: - Select a device to run on: + Vyberte zařízení pro spuštění: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf index 643eacbe4bf0..0da4f1d4ae74 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.de.xlf @@ -97,7 +97,7 @@ Beispiele: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Der Gerätebezeichner, auf dem ausgeführt werden soll (z. B. Emulator, Simulator oder physisches Gerät). @@ -149,7 +149,7 @@ Beispiele: Move up and down to reveal more devices - Move up and down to reveal more devices + Nach oben und unten bewegen, um weitere Geräte anzuzeigen @@ -164,7 +164,7 @@ Beispiele: Select a device to run on: - Select a device to run on: + Wählen Sie ein Gerät aus, auf dem ausgeführt werden soll: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf index c1c2adc95b72..951dad323b0d 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.es.xlf @@ -97,7 +97,7 @@ Ejemplos: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Identificador de dispositivo en el que se va a ejecutar (por ejemplo, emulador, simulador o dispositivo físico). @@ -149,7 +149,7 @@ Ejemplos: Move up and down to reveal more devices - Move up and down to reveal more devices + Subir y bajar para mostrar más dispositivos @@ -164,7 +164,7 @@ Ejemplos: Select a device to run on: - Select a device to run on: + Seleccione un dispositivo en el que se ejecutará: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf index c379df1f5d20..43191ac6d6ac 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.fr.xlf @@ -97,7 +97,7 @@ Exemples : The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Identificateur de l’appareil sur lequel effectuer une exécution (par exemple, émulateur, simulateur ou appareil physique) @@ -149,7 +149,7 @@ Exemples : Move up and down to reveal more devices - Move up and down to reveal more devices + Montez et descendez pour afficher plus d’appareils @@ -164,7 +164,7 @@ Exemples : Select a device to run on: - Select a device to run on: + Sélectionnez un appareil sur lequel exécuter : diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf index 4510f1cb2753..23f2c34d4240 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.it.xlf @@ -97,7 +97,7 @@ Esempi: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Identificatore del dispositivo su cui eseguire l'operazione (ad es. emulatore, simulatore o dispositivo fisico). @@ -149,7 +149,7 @@ Esempi: Move up and down to reveal more devices - Move up and down to reveal more devices + Scorri verso l'alto o verso il basso per visualizzare altri dispositivi @@ -164,7 +164,7 @@ Esempi: Select a device to run on: - Select a device to run on: + Selezionare un dispositivo in cui eseguire: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf index b2f96c858610..5474128bd40d 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ja.xlf @@ -97,7 +97,7 @@ Examples: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + 実行するデバイス識別子 (エミュレーター、シミュレーター、物理デバイスなど)。 @@ -149,7 +149,7 @@ Examples: Move up and down to reveal more devices - Move up and down to reveal more devices + 上下に移動すると、さらに多くのデバイスを表示できます @@ -164,7 +164,7 @@ Examples: Select a device to run on: - Select a device to run on: + 実行するデバイスを選択します。 diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf index 3c3a704d8771..a76cc7864e9e 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ko.xlf @@ -97,7 +97,7 @@ Examples: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + 실행할 디바이스 식별자(예: 에뮬레이터, 시뮬레이터 또는 물리적 디바이스)입니다. @@ -149,7 +149,7 @@ Examples: Move up and down to reveal more devices - Move up and down to reveal more devices + 위아래로 이동하여 더 많은 장치 보기 @@ -164,7 +164,7 @@ Examples: Select a device to run on: - Select a device to run on: + 실행할 장치 선택: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf index 9485c3e73f08..b51db4ff6528 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pl.xlf @@ -97,7 +97,7 @@ Przykłady: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Identyfikator urządzenia do uruchomienia (np. emulator, symulator lub urządzenie fizyczne). @@ -149,7 +149,7 @@ Przykłady: Move up and down to reveal more devices - Move up and down to reveal more devices + Przesuń w górę i w dół, aby odkryć więcej urządzeń @@ -164,7 +164,7 @@ Przykłady: Select a device to run on: - Select a device to run on: + Wybierz urządzenie do uruchomienia: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf index 23b7b384d57d..cc40ef9740d3 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.pt-BR.xlf @@ -97,7 +97,7 @@ Exemplos: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + O identificador de dispositivo no qual executar (por exemplo, emulador, simulador ou dispositivo físico). @@ -149,7 +149,7 @@ Exemplos: Move up and down to reveal more devices - Move up and down to reveal more devices + Mover para cima e para baixo para revelar mais dispositivos @@ -164,7 +164,7 @@ Exemplos: Select a device to run on: - Select a device to run on: + Selecione um dispositivo no qual executar: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf index db2a5678d77f..998b18468708 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.ru.xlf @@ -97,7 +97,7 @@ Examples: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Идентификатор устройства (например, эмулятора, симулятора или физического устройства), на котором будет выполнен запуск. @@ -149,7 +149,7 @@ Examples: Move up and down to reveal more devices - Move up and down to reveal more devices + Прокрутите вверх и вниз, чтобы увидеть большее количество устройств @@ -164,7 +164,7 @@ Examples: Select a device to run on: - Select a device to run on: + Выберите устройство, на котором следует произвести запуск: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf index 62d1c81aa127..fc441b9e6d3e 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.tr.xlf @@ -97,7 +97,7 @@ Açıklamalar: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + Çalıştırılacak cihaz tanımlayıcısı (örneğin emülatör, simülatör veya fiziksel cihaz). @@ -149,7 +149,7 @@ Açıklamalar: Move up and down to reveal more devices - Move up and down to reveal more devices + Yukarı ve aşağı hareket ederek daha fazla cihaz görüntüleyin @@ -164,7 +164,7 @@ Açıklamalar: Select a device to run on: - Select a device to run on: + Çalıştırılacak cihazı seçin: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf index 6f0a97b938bb..d6e0e639cbc9 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hans.xlf @@ -98,7 +98,7 @@ Examples: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + 要在其上运行的设备标识符(例如仿真器、模拟器或物理设备)。 @@ -150,7 +150,7 @@ Examples: Move up and down to reveal more devices - Move up and down to reveal more devices + 上下移动以显示更多设备 @@ -165,7 +165,7 @@ Examples: Select a device to run on: - Select a device to run on: + 选择运行设备: diff --git a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf index f31ba66d99d2..ae4b67e8d1cd 100644 --- a/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf +++ b/src/Dotnet.Watch/dotnet-watch/xlf/Resources.zh-Hant.xlf @@ -97,7 +97,7 @@ Examples: The device identifier to run on (e.g. emulator, simulator, or physical device). - The device identifier to run on (e.g. emulator, simulator, or physical device). + 要執行的裝置識別碼 (例如仿真器、模擬器或實體裝置)。 @@ -149,7 +149,7 @@ Examples: Move up and down to reveal more devices - Move up and down to reveal more devices + 上下移動以顯示更多的裝置 @@ -164,7 +164,7 @@ Examples: Select a device to run on: - Select a device to run on: + 選取要在下列位置執行的裝置: From 0a70ab2bcdc57eb3734adde030c9faf2e76bc90f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 3 Apr 2026 21:15:35 +0000 Subject: [PATCH 080/137] Update dependencies from build 309163 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26202.115 -> 10.0.0-preview.26203.103) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26202-115 -> 18.6.0-preview-26203-103) 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.6.0-rc.20315 -> 7.6.0-rc.20403) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26202.115 -> 10.0.300-alpha.26203.103) 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.6.0-2.26202.115 -> 5.6.0-2.26203.103) 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.26202.115 -> 10.0.0-beta.26203.103) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26202.115 -> 15.2.300-servicing.26203.103) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26202-115 -> 18.3.0-release-26203-103) 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.300-preview.26202.115 -> 10.0.300-preview.26203.103) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index a2206a79f514..491dc26a99e9 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26202.115 + 10.0.0-preview.26203.103 10.0.5 10.0.5 - 18.6.0-preview-26202-115 - 18.6.0-preview-26202-115 - 7.6.0-rc.20315 - 10.0.300-alpha.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 10.0.0-preview.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 + 18.6.0-preview-26203-103 + 18.6.0-preview-26203-103 + 7.6.0-rc.20403 + 10.0.300-alpha.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 10.0.0-preview.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26202.115 - 10.0.0-beta.26202.115 - 10.0.0-beta.26202.115 - 10.0.0-beta.26202.115 - 10.0.0-beta.26202.115 - 10.0.0-beta.26202.115 + 10.0.0-beta.26203.103 + 10.0.0-beta.26203.103 + 10.0.0-beta.26203.103 + 10.0.0-beta.26203.103 + 10.0.0-beta.26203.103 + 10.0.0-beta.26203.103 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26202.115 - 10.0.0-beta.26202.115 + 10.0.0-beta.26203.103 + 10.0.0-beta.26203.103 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26202.115 + 15.2.300-servicing.26203.103 10.0.5 - 5.6.0-2.26202.115 - 5.6.0-2.26202.115 + 5.6.0-2.26203.103 + 5.6.0-2.26203.103 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26202.115 + 10.0.0-preview.26203.103 10.0.5-servicing.26153.111 - 18.3.0-release-26202-115 + 18.3.0-release-26203-103 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26202.115 - 10.0.300-alpha.26202.115 - 10.0.300-alpha.26202.115 - 10.0.300-alpha.26202.115 - 10.0.300-alpha.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 10.0.300-preview.26202.115 - 18.3.0-release-26202-115 - 18.3.0-release-26202-115 + 10.0.300-alpha.26203.103 + 10.0.300-alpha.26203.103 + 10.0.300-alpha.26203.103 + 10.0.300-alpha.26203.103 + 10.0.300-alpha.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 10.0.300-preview.26203.103 + 18.3.0-release-26203-103 + 18.3.0-release-26203-103 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 - 7.6.0-rc.20315 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 + 7.6.0-rc.20403 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e547f6a9862e..2c121a919b78 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd - + https://github.com/dotnet/dotnet - ebb056e47019472309f80ec9f344aa8844ddd186 + 82cc23e8bf849c3b4dfbe21d337d22929903f6fd https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 5f70a0f12404..d904258e86c7 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.115", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.115", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From e47d48bb219a2a5fa47354f8ce920b44711e14f7 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 4 Apr 2026 00:25:41 +0000 Subject: [PATCH 081/137] Update dependencies from build 309184 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26203.103 -> 10.0.0-preview.26203.106) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26203-103 -> 18.6.0-preview-26203-106) 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.6.0-rc.20403 -> 7.6.0-rc.20406) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26203.103 -> 10.0.300-alpha.26203.106) 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.6.0-2.26203.103 -> 5.6.0-2.26203.106) 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.26203.103 -> 10.0.0-beta.26203.106) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26203.103 -> 15.2.300-servicing.26203.106) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26203-103 -> 18.3.0-release-26203-106) 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.300-preview.26203.103 -> 10.0.300-preview.26203.106) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 491dc26a99e9..40b8f31a30ed 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26203.103 + 10.0.0-preview.26203.106 10.0.5 10.0.5 - 18.6.0-preview-26203-103 - 18.6.0-preview-26203-103 - 7.6.0-rc.20403 - 10.0.300-alpha.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 10.0.0-preview.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 + 18.6.0-preview-26203-106 + 18.6.0-preview-26203-106 + 7.6.0-rc.20406 + 10.0.300-alpha.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 10.0.0-preview.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26203.103 - 10.0.0-beta.26203.103 - 10.0.0-beta.26203.103 - 10.0.0-beta.26203.103 - 10.0.0-beta.26203.103 - 10.0.0-beta.26203.103 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26203.103 - 10.0.0-beta.26203.103 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26203.103 + 15.2.300-servicing.26203.106 10.0.5 - 5.6.0-2.26203.103 - 5.6.0-2.26203.103 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26203.103 + 10.0.0-preview.26203.106 10.0.5-servicing.26153.111 - 18.3.0-release-26203-103 + 18.3.0-release-26203-106 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26203.103 - 10.0.300-alpha.26203.103 - 10.0.300-alpha.26203.103 - 10.0.300-alpha.26203.103 - 10.0.300-alpha.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 10.0.300-preview.26203.103 - 18.3.0-release-26203-103 - 18.3.0-release-26203-103 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 18.3.0-release-26203-106 + 18.3.0-release-26203-106 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 - 7.6.0-rc.20403 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 2c121a919b78..d144b971620b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 82cc23e8bf849c3b4dfbe21d337d22929903f6fd + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index d904258e86c7..8fafeae1ec8a 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.103", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.103", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.106", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.106", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From a33d85e119608e7236e827345ba9d90fc11c3720 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 4 Apr 2026 06:35:47 +0000 Subject: [PATCH 082/137] Update dependencies from build 309217 Updated Dependencies: dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.App.Ref.Internal, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.HostModel, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.NETCore.Platforms, Microsoft.WindowsDesktop.App.Internal (Version 10.0.6-servicing.26177.110 -> 10.0.6-servicing.26203.109) Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.Web, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.AspNetCore.TestHost, Microsoft.Bcl.AsyncInterfaces, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Configuration.Ini, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Extensions.FileProviders.Embedded, Microsoft.Extensions.FileSystemGlobbing, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.ObjectPool, Microsoft.JSInterop, Microsoft.NET.ILLink.Tasks, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NETCore.App.Ref, Microsoft.Win32.SystemEvents, Microsoft.WindowsDesktop.App.Ref, System.CodeDom, System.ComponentModel.Composition, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Formats.Asn1, System.IO.Hashing, System.Reflection.MetadataLoadContext, System.Resources.Extensions, System.Security.Cryptography.Pkcs, System.Security.Cryptography.ProtectedData, System.Security.Cryptography.Xml, System.Security.Permissions, System.ServiceProcess.ServiceController, System.Text.Encoding.CodePages, System.Text.Json, System.Windows.Extensions (Version 10.0.6 -> 10.0.6) Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26177.110 -> 10.0.0-preview.26203.109) Microsoft.Build (Version 18.0.11 -> 18.0.11) Microsoft.Build.Localization (Version 18.0.11-servicing-26177-110 -> 18.0.11-servicing-26203-109) 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.0.2-rc.17810 -> 7.0.2-rc.20409) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.106 -> 10.0.106) Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.BuildClient, Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.CodeStyle, Microsoft.CodeAnalysis.CSharp.Features, Microsoft.CodeAnalysis.CSharp.Workspaces, Microsoft.CodeAnalysis.PublicApiAnalyzers, Microsoft.CodeAnalysis.Workspaces.Common, Microsoft.CodeAnalysis.Workspaces.MSBuild, Microsoft.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.0.0-2.26177.110 -> 5.0.0-2.26203.109) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26177.110 -> 2.0.0-preview.1.26203.109) Microsoft.DiaSymReader (Version 2.2.6 -> 2.2.6) 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.26177.110 -> 10.0.0-beta.26203.109) Microsoft.FSharp.Compiler (Version 14.0.106-servicing.26177.110 -> 14.0.106-servicing.26203.109) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.0.2-release-26177-110 -> 18.0.2-release-26203-109) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.106-servicing.26177.110 -> 10.0.106-servicing.26203.109) Microsoft.Web.Xdt (Version 3.2.6 -> 3.2.6) System.CommandLine (Version 2.0.6 -> 2.0.6) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 126 +++--- eng/Version.Details.xml | 392 +++++++++--------- eng/common/core-templates/job/onelocbuild.yml | 4 +- .../job/publish-build-assets.yml | 4 +- .../core-templates/post-build/post-build.yml | 16 +- .../variables/pool-providers.yml | 2 +- .../templates/variables/pool-providers.yml | 2 +- global.json | 4 +- 9 files changed, 276 insertions(+), 276 deletions(-) diff --git a/NuGet.config b/NuGet.config index 345e68b146c5..e226baf9b0b6 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 5696f7b49e9c..94492476bae6 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,12 +8,12 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 10.0.6 - 10.0.6-servicing.26177.110 + 10.0.6-servicing.26203.109 10.0.6 10.0.6 10.0.6 @@ -21,46 +21,46 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26177.110 + 10.0.6-servicing.26203.109 10.0.6 10.0.6 10.0.6 10.0.6 - 10.0.6-servicing.26177.110 + 10.0.6-servicing.26203.109 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.0-preview.26177.110 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-preview.26203.109 10.0.6 10.0.6 18.0.11 - 18.0.11-servicing-26177-110 - 7.0.2-rc.17810 + 18.0.11-servicing-26203-109 + 7.0.2-rc.20409 10.0.106 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 10.0.0-preview.26177.110 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 2.0.0-preview.1.26177.110 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.0-preview.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 2.0.0-preview.1.26203.109 2.2.6 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 10.0.6 10.0.6 - 10.0.6-servicing.26177.110 - 10.0.6-servicing.26177.110 - 10.0.0-beta.26177.110 - 10.0.0-beta.26177.110 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 10.0.6 10.0.6 10.0.6 @@ -70,19 +70,19 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 14.0.106-servicing.26177.110 + 14.0.106-servicing.26203.109 10.0.6 - 5.0.0-2.26177.110 - 5.0.0-2.26177.110 - 10.0.6-servicing.26177.110 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.6-servicing.26203.109 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26177.110 - 10.0.6-servicing.26177.110 - 18.0.2-release-26177-110 + 10.0.0-preview.26203.109 + 10.0.6-servicing.26203.109 + 18.0.2-release-26203-109 10.0.6 - 10.0.6-servicing.26177.110 + 10.0.6-servicing.26203.109 10.0.106 10.0.106 10.0.106 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.106 10.0.106 10.0.106 - 10.0.106-servicing.26177.110 + 10.0.106-servicing.26203.109 10.0.106 - 10.0.106-servicing.26177.110 + 10.0.106-servicing.26203.109 10.0.106 10.0.106 - 10.0.106-servicing.26177.110 - 18.0.2-release-26177-110 - 18.0.2-release-26177-110 + 10.0.106-servicing.26203.109 + 18.0.2-release-26203-109 + 18.0.2-release-26203-109 3.2.6 10.0.6 - 10.0.6-servicing.26177.110 + 10.0.6-servicing.26203.109 10.0.6 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 - 7.0.2-rc.17810 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e30d6335ee61..3a7cdb3a56c8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a @@ -70,168 +70,168 @@ https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - + https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a https://github.com/microsoft/testfx @@ -571,7 +571,7 @@ https://github.com/dotnet/dotnet - 6713f124fc53de19b420be2e0247d8f80868edb2 + 6165bd7ac3499cb712ca489f2ce44bb665174a1a diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index c5788829a872..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index b955fac6e13f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -74,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index b942a79ef02d..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -120,7 +120,7 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng @@ -164,14 +164,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -225,14 +225,14 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) @@ -286,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/global.json b/global.json index 97e18dab0241..6f9207378ac4 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26177.110", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26177.110", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.109", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.109", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 625894fcb7d818c8f42a7433803b74c4c89eb625 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Tue, 7 Apr 2026 16:37:07 +0200 Subject: [PATCH 083/137] Update Version.Details.props --- eng/Version.Details.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 1cae23ee41c3..0e586b495ffc 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -145,8 +145,8 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 - 2.1.0-preview.25571.1 - 4.1.0-preview.25571.1 + 2.1.0-preview.26201.3 + 4.1.0-preview.26201.3 From 054c2b5172bd9ef469864b571ec6b7f5aaa726cb Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Tue, 7 Apr 2026 16:37:54 +0200 Subject: [PATCH 084/137] Update Version.Details.xml --- eng/Version.Details.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 56e7b7fa356a..84930a45e4cf 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -573,13 +573,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - 43e592148ac1c7916908477bdffcf2a345affa6d + 4b12ce96553c32c1038bf81176b98a79994d6967 - + https://github.com/microsoft/testfx - 43e592148ac1c7916908477bdffcf2a345affa6d + 4b12ce96553c32c1038bf81176b98a79994d6967 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 454bc1c26d237a499d07aa64f2cec8b9e3820afd Mon Sep 17 00:00:00 2001 From: vseanreesermsft <78103370+vseanreesermsft@users.noreply.github.com> Date: Tue, 7 Apr 2026 13:28:45 -0700 Subject: [PATCH 085/137] Update branding on release/9.0.3xx --- eng/Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Versions.props b/eng/Versions.props index 0ed9bb77bdb0..01368d5dccdf 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -6,7 +6,7 @@ 9 0 3 - 13 + 14 From 87ba49e522ea7e1db5748fe69ed7d1d6d5af4162 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 03:11:48 +0000 Subject: [PATCH 086/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 266 +++++++-------- eng/Version.Details.xml | 673 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 475 insertions(+), 474 deletions(-) diff --git a/NuGet.config b/NuGet.config index e226baf9b0b6..903609549285 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 94492476bae6..1a73d58a3c79 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,139 +8,139 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-preview.26203.109 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26203-109 - 7.0.2-rc.20409 - 10.0.106 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.0-preview.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 2.0.0-preview.1.26203.109 - 2.2.6 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26203.109 - 10.0.6 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26202.103 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26202-103 + 7.3.0-rc.20303 + 10.0.202 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.0-preview.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26202.103 + 10.0.4 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26203.109 - 10.0.6-servicing.26203.109 - 18.0.2-release-26203-109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 18.0.2-release-26203-109 - 18.0.2-release-26203-109 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26202.103 + 10.0.4-servicing.26119.110 + 18.3.0-release-26202-103 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 18.3.0-release-26202-103 + 18.3.0-release-26202-103 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 2.3.0-preview.26202.5 4.3.0-preview.26202.5 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3a7cdb3a56c8..a1ff22313714 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 https://github.com/microsoft/testfx @@ -569,9 +568,9 @@ https://github.com/microsoft/testfx cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 6f9207378ac4..0552121a41ea 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.109", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.109", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From ac5ec799af2fdcf5531b7f303b18f72eb3fd10f7 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 8 Apr 2026 16:23:05 +0000 Subject: [PATCH 087/137] Update dependencies from build 309470 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26202.103 -> 10.0.0-preview.26208.102) Microsoft.Build (Version 18.3.3 -> 18.3.3) Microsoft.Build.Localization (Version 18.3.3-servicing-26202-103 -> 18.3.3-servicing-26208-102) 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.3.0-rc.20303 -> 7.3.0-rc.20902) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab, Microsoft.TemplateEngine.Abstractions, Microsoft.TemplateEngine.Authoring.TemplateVerifier, Microsoft.TemplateEngine.Edge, Microsoft.TemplateEngine.Orchestrator.RunnableProjects, Microsoft.TemplateEngine.Utils, Microsoft.TemplateSearch.Common (Version 10.0.202 -> 10.0.202) 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.Net.Compilers.Toolset, Microsoft.Net.Compilers.Toolset.Framework (Version 5.3.0-2.26202.103 -> 5.3.0-2.26208.102) 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.26202.103 -> 10.0.0-beta.26208.102) Microsoft.FSharp.Compiler (Version 15.2.202-servicing.26202.103 -> 15.2.202-servicing.26208.102) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26202-103 -> 18.3.0-release-26208-102) Microsoft.TemplateEngine.Mocks, Microsoft.TemplateEngine.TestHelper, Microsoft.TemplateSearch.TemplateDiscovery (Version 10.0.202-servicing.26202.103 -> 10.0.202-servicing.26208.102) [[ commit created by automation ]] --- NuGet.config | 2 +- eng/Version.Details.props | 96 ++++++++--------- eng/Version.Details.xml | 220 +++++++++++++++++++------------------- global.json | 4 +- 4 files changed, 161 insertions(+), 161 deletions(-) diff --git a/NuGet.config b/NuGet.config index 903609549285..612e59b10559 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 1a73d58a3c79..74e42fd4114f 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,37 +30,37 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4-servicing.26119.110 10.0.4-servicing.26119.110 - 10.0.0-preview.26202.103 + 10.0.0-preview.26208.102 10.0.4 10.0.4 18.3.3 - 18.3.3-servicing-26202-103 - 7.3.0-rc.20303 + 18.3.3-servicing-26208-102 + 7.3.0-rc.20902 10.0.202 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 - 10.0.0-preview.26202.103 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 + 10.0.0-preview.26208.102 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 2.0.0-preview.1.26119.110 2.2.4 - 10.0.0-beta.26202.103 - 10.0.0-beta.26202.103 - 10.0.0-beta.26202.103 - 10.0.0-beta.26202.103 - 10.0.0-beta.26202.103 - 10.0.0-beta.26202.103 + 10.0.0-beta.26208.102 + 10.0.0-beta.26208.102 + 10.0.0-beta.26208.102 + 10.0.0-beta.26208.102 + 10.0.0-beta.26208.102 + 10.0.0-beta.26208.102 10.0.4 10.0.4 10.0.4-servicing.26119.110 - 10.0.0-beta.26202.103 - 10.0.0-beta.26202.103 + 10.0.0-beta.26208.102 + 10.0.0-beta.26208.102 10.0.4 10.0.4 10.0.4 @@ -70,17 +70,17 @@ This file should be imported by eng/Versions.props 10.0.4 10.0.4 10.0.4 - 15.2.202-servicing.26202.103 + 15.2.202-servicing.26208.102 10.0.4 - 5.3.0-2.26202.103 - 5.3.0-2.26202.103 + 5.3.0-2.26208.102 + 5.3.0-2.26208.102 10.0.4-servicing.26119.110 10.0.4 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26202.103 + 10.0.0-preview.26208.102 10.0.4-servicing.26119.110 - 18.3.0-release-26202-103 + 18.3.0-release-26208-102 10.0.4 10.0.4-servicing.26119.110 10.0.202 @@ -91,34 +91,34 @@ This file should be imported by eng/Versions.props 10.0.202 10.0.202 10.0.202 - 10.0.202-servicing.26202.103 + 10.0.202-servicing.26208.102 10.0.202 - 10.0.202-servicing.26202.103 + 10.0.202-servicing.26208.102 10.0.202 10.0.202 - 10.0.202-servicing.26202.103 - 18.3.0-release-26202-103 - 18.3.0-release-26202-103 + 10.0.202-servicing.26208.102 + 18.3.0-release-26208-102 + 18.3.0-release-26208-102 3.2.4 10.0.4 10.0.4-servicing.26119.110 10.0.4 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 - 7.3.0-rc.20303 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 + 7.3.0-rc.20902 10.0.4 2.0.4 10.0.4 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a1ff22313714..ae26dac1d072 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -74,136 +74,136 @@ https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -370,25 +370,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -407,27 +407,27 @@ https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 @@ -514,9 +514,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -524,37 +524,37 @@ - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 - + https://github.com/dotnet/dotnet - 0c538445912b51b36242aac75dd5e81265bbe37f + ca08b17aa41cb6c2cf159f3bb7925210147a9510 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 0552121a41ea..80afb86eeaec 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.103", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.103", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26208.102", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26208.102", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From d7cac53966f5263c7c82b3f38cc1d140179aa004 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Wed, 8 Apr 2026 11:20:06 -0700 Subject: [PATCH 088/137] =?UTF-8?q?Update=20Helix=20queue=20names:=20vs202?= =?UTF-8?q?2.pre=20=E2=86=92=20vs2022?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The windows.amd64.vs2022.pre.open and windows.amd64.vs2022.pre queues have been renamed to windows.amd64.vs2022.open and windows.amd64.vs2022 respectively. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .vsts-ci.yml | 2 +- .vsts-pr.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.vsts-ci.yml b/.vsts-ci.yml index b4c1eb53de50..10e64d3ae170 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -107,7 +107,7 @@ extends: name: $(DncEngInternalBuildPool) image: windows.vs2022.amd64 os: windows - helixTargetQueue: windows.amd64.vs2022.pre + helixTargetQueue: windows.amd64.vs2022 oneESCompat: templateFolderName: templates-official publishTaskPrefix: 1ES. diff --git a/.vsts-pr.yml b/.vsts-pr.yml index 5cd62e9de328..c47f854922f5 100644 --- a/.vsts-pr.yml +++ b/.vsts-pr.yml @@ -45,7 +45,7 @@ stages: name: $(DncEngPublicBuildPool) demands: ImageOverride -equals windows.vs2022.amd64.open os: windows - helixTargetQueue: windows.amd64.vs2022.pre.open + helixTargetQueue: windows.amd64.vs2022.open ############### LINUX ############### - template: /eng/pipelines/templates/jobs/sdk-job-matrix.yml From e94b91d653bab653b982afea9e7d9e1f03b9a280 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 18 Mar 2026 21:53:38 +0000 Subject: [PATCH 089/137] Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20260318.1 On relative base path root Microsoft.SourceBuild.Intermediate.roslyn-analyzers , Microsoft.CodeAnalysis.NetAnalyzers From Version 9.0.0-preview.26055.3 -> To Version 9.0.0-preview.26168.1 --- NuGet.config | 7 ------- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/NuGet.config b/NuGet.config index e4b7dcd1b1e0..4460caf81a88 100644 --- a/NuGet.config +++ b/NuGet.config @@ -24,10 +24,8 @@ - - @@ -37,13 +35,11 @@ - - @@ -72,13 +68,10 @@ - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 62fe950cdf54..764a4b0e87c5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -374,18 +374,18 @@ 63ae81154c50a1cf9287cc47d8351d55b4289e6d - + https://github.com/dotnet/roslyn-analyzers - 742cc53ecfc7e7245f950e5ba58268ed2829913c + 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 https://github.com/dotnet/roslyn 450493a9b4ec6337bced0120e97cb76f4ed783db - + https://github.com/dotnet/roslyn-analyzers - 742cc53ecfc7e7245f950e5ba58268ed2829913c + 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 diff --git a/eng/Versions.props b/eng/Versions.props index 01368d5dccdf..b0b89a9ff312 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -160,7 +160,7 @@ - 9.0.0-preview.26055.3 + 9.0.0-preview.26168.1 3.12.0-beta1.26064.1 From 30d3c4e28fce2c5b88d1f77dbe4b358a364f1a1b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 22 Mar 2026 08:56:49 +0000 Subject: [PATCH 090/137] Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20260322.3 On relative base path root Microsoft.SourceBuild.Intermediate.roslyn-analyzers , Microsoft.CodeAnalysis.NetAnalyzers From Version 9.0.0-preview.26055.3 -> To Version 9.0.0-preview.26172.3 --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 764a4b0e87c5..6da48ee06579 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -374,7 +374,7 @@ 63ae81154c50a1cf9287cc47d8351d55b4289e6d - + https://github.com/dotnet/roslyn-analyzers 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 @@ -383,7 +383,7 @@ 450493a9b4ec6337bced0120e97cb76f4ed783db - + https://github.com/dotnet/roslyn-analyzers 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 diff --git a/eng/Versions.props b/eng/Versions.props index b0b89a9ff312..929c8cfcad07 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -160,7 +160,7 @@ - 9.0.0-preview.26168.1 + 9.0.0-preview.26172.3 3.12.0-beta1.26064.1 From 6bcfed02166a3f9e236f11392235ad0813f77e69 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 07:07:50 +0000 Subject: [PATCH 091/137] Reset files to release/10.0.1xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 59 +- eng/Version.Details.props | 290 +++++ eng/Version.Details.xml | 1081 ++++++++--------- eng/common/CIBuild.cmd | 2 +- eng/common/SetupNugetSources.ps1 | 90 +- eng/common/SetupNugetSources.sh | 192 +-- eng/common/build.ps1 | 11 +- eng/common/build.sh | 33 +- eng/common/cibuild.sh | 2 +- eng/common/core-templates/job/job.yml | 48 +- eng/common/core-templates/job/onelocbuild.yml | 39 +- .../job/publish-build-assets.yml | 83 +- .../core-templates/job/source-build.yml | 15 +- .../job/source-index-stage1.yml | 47 +- .../core-templates/jobs/codeql-build.yml | 1 - eng/common/core-templates/jobs/jobs.yml | 15 +- .../core-templates/jobs/source-build.yml | 23 +- .../core-templates/post-build/post-build.yml | 42 +- .../steps/cleanup-microbuild.yml | 28 + .../core-templates/steps/generate-sbom.yml | 2 +- .../steps/get-delegation-sas.yml | 11 +- .../steps/install-microbuild.yml | 110 ++ .../core-templates/steps/publish-logs.yml | 8 +- .../core-templates/steps/source-build.yml | 88 +- .../steps/source-index-stage1-publish.yml | 35 + eng/common/cross/arm64/tizen/tizen.patch | 2 +- eng/common/cross/build-android-rootfs.sh | 49 +- eng/common/cross/build-rootfs.sh | 237 ++-- eng/common/cross/install-debs.py | 334 +++++ eng/common/cross/tizen-build-rootfs.sh | 0 eng/common/cross/tizen-fetch.sh | 9 +- eng/common/cross/toolchain.cmake | 82 +- eng/common/darc-init.sh | 2 +- eng/common/dotnet.cmd | 7 + eng/common/dotnet.ps1 | 11 + eng/common/dotnet.sh | 26 + eng/common/generate-locproject.ps1 | 49 +- eng/common/generate-sbom-prep.sh | 0 eng/common/native/install-dependencies.sh | 62 + eng/common/post-build/publish-using-darc.ps1 | 9 +- eng/common/post-build/redact-logs.ps1 | 5 +- eng/common/sdk-task.ps1 | 14 +- eng/common/sdk-task.sh | 121 ++ eng/common/sdl/packages.config | 2 +- eng/common/templates-official/job/job.yml | 4 +- .../steps/publish-build-artifacts.yml | 7 +- .../steps/source-index-stage1-publish.yml | 7 + .../variables/pool-providers.yml | 2 +- eng/common/templates/job/job.yml | 4 +- .../steps/publish-build-artifacts.yml | 8 +- .../steps/source-index-stage1-publish.yml | 7 + eng/common/templates/steps/vmr-sync.yml | 186 +++ .../templates/variables/pool-providers.yml | 2 +- eng/common/templates/vmr-build-pr.yml | 43 + eng/common/tools.ps1 | 71 +- eng/common/tools.sh | 81 +- eng/common/vmr-sync.ps1 | 164 +++ eng/common/vmr-sync.sh | 227 ++++ global.json | 21 +- 59 files changed, 2940 insertions(+), 1270 deletions(-) create mode 100644 eng/Version.Details.props mode change 100644 => 100755 eng/common/SetupNugetSources.sh create mode 100644 eng/common/core-templates/steps/cleanup-microbuild.yml create mode 100644 eng/common/core-templates/steps/install-microbuild.yml create mode 100644 eng/common/core-templates/steps/source-index-stage1-publish.yml create mode 100755 eng/common/cross/install-debs.py mode change 100644 => 100755 eng/common/cross/tizen-build-rootfs.sh mode change 100644 => 100755 eng/common/cross/tizen-fetch.sh create mode 100644 eng/common/dotnet.cmd create mode 100644 eng/common/dotnet.ps1 create mode 100755 eng/common/dotnet.sh mode change 100644 => 100755 eng/common/generate-sbom-prep.sh create mode 100755 eng/common/native/install-dependencies.sh create mode 100755 eng/common/sdk-task.sh create mode 100644 eng/common/templates-official/steps/source-index-stage1-publish.yml create mode 100644 eng/common/templates/steps/source-index-stage1-publish.yml create mode 100644 eng/common/templates/steps/vmr-sync.yml create mode 100644 eng/common/templates/vmr-build-pr.yml create mode 100755 eng/common/vmr-sync.ps1 create mode 100755 eng/common/vmr-sync.sh diff --git a/NuGet.config b/NuGet.config index e4b7dcd1b1e0..e226baf9b0b6 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,48 +3,15 @@ - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - @@ -55,6 +22,8 @@ + + @@ -64,22 +33,14 @@ + + + - - - - - - - - - - - diff --git a/eng/Version.Details.props b/eng/Version.Details.props new file mode 100644 index 000000000000..94492476bae6 --- /dev/null +++ b/eng/Version.Details.props @@ -0,0 +1,290 @@ + + + + + 2.1.0 + + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-preview.26203.109 + 10.0.6 + 10.0.6 + 18.0.11 + 18.0.11-servicing-26203-109 + 7.0.2-rc.20409 + 10.0.106 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.0-preview.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 2.0.0-preview.1.26203.109 + 2.2.6 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 14.0.106-servicing.26203.109 + 10.0.6 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.0-preview.7.25377.103 + 10.0.0-preview.26203.109 + 10.0.6-servicing.26203.109 + 18.0.2-release-26203-109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106-servicing.26203.109 + 10.0.106 + 10.0.106-servicing.26203.109 + 10.0.106 + 10.0.106 + 10.0.106-servicing.26203.109 + 18.0.2-release-26203-109 + 18.0.2-release-26203-109 + 3.2.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 10.0.6 + 2.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + + 2.3.0-preview.26202.5 + 4.3.0-preview.26202.5 + + + + + $(NETStandardLibraryRefPackageVersion) + + $(dotnetdevcertsPackageVersion) + $(dotnetuserjwtsPackageVersion) + $(dotnetusersecretsPackageVersion) + $(MicrosoftAspNetCoreAnalyzersPackageVersion) + $(MicrosoftAspNetCoreAppRefPackageVersion) + $(MicrosoftAspNetCoreAppRefInternalPackageVersion) + $(MicrosoftAspNetCoreAuthenticationFacebookPackageVersion) + $(MicrosoftAspNetCoreAuthenticationGooglePackageVersion) + $(MicrosoftAspNetCoreAuthenticationMicrosoftAccountPackageVersion) + $(MicrosoftAspNetCoreAuthorizationPackageVersion) + $(MicrosoftAspNetCoreComponentsPackageVersion) + $(MicrosoftAspNetCoreComponentsAnalyzersPackageVersion) + $(MicrosoftAspNetCoreComponentsFormsPackageVersion) + $(MicrosoftAspNetCoreComponentsSdkAnalyzersPackageVersion) + $(MicrosoftAspNetCoreComponentsWebPackageVersion) + $(MicrosoftAspNetCoreComponentsWebAssemblyPackageVersion) + $(MicrosoftAspNetCoreComponentsWebAssemblyServerPackageVersion) + $(MicrosoftAspNetCoreComponentsWebViewPackageVersion) + $(MicrosoftAspNetCoreDeveloperCertificatesXPlatPackageVersion) + $(MicrosoftAspNetCoreMetadataPackageVersion) + $(MicrosoftAspNetCoreMvcAnalyzersPackageVersion) + $(MicrosoftAspNetCoreMvcApiAnalyzersPackageVersion) + $(MicrosoftAspNetCoreMvcRazorExtensionsToolingInternalPackageVersion) + $(MicrosoftAspNetCoreTestHostPackageVersion) + $(MicrosoftBclAsyncInterfacesPackageVersion) + $(MicrosoftBuildPackageVersion) + $(MicrosoftBuildLocalizationPackageVersion) + $(MicrosoftBuildNuGetSdkResolverPackageVersion) + $(MicrosoftBuildTasksGitPackageVersion) + $(MicrosoftCodeAnalysisPackageVersion) + $(MicrosoftCodeAnalysisBuildClientPackageVersion) + $(MicrosoftCodeAnalysisCSharpPackageVersion) + $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) + $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) + $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) + $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftDeploymentDotNetReleasesPackageVersion) + $(MicrosoftDiaSymReaderPackageVersion) + $(MicrosoftDotNetArcadeSdkPackageVersion) + $(MicrosoftDotNetBuildTasksInstallersPackageVersion) + $(MicrosoftDotNetBuildTasksTemplatingPackageVersion) + $(MicrosoftDotNetBuildTasksWorkloadsPackageVersion) + $(MicrosoftDotNetHelixSdkPackageVersion) + $(MicrosoftDotNetSignToolPackageVersion) + $(MicrosoftDotNetWebItemTemplates100PackageVersion) + $(MicrosoftDotNetWebProjectTemplates100PackageVersion) + $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) + $(MicrosoftDotNetXliffTasksPackageVersion) + $(MicrosoftDotNetXUnitExtensionsPackageVersion) + $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyModelPackageVersion) + $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) + $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) + $(MicrosoftExtensionsFileSystemGlobbingPackageVersion) + $(MicrosoftExtensionsLoggingPackageVersion) + $(MicrosoftExtensionsLoggingAbstractionsPackageVersion) + $(MicrosoftExtensionsLoggingConsolePackageVersion) + $(MicrosoftExtensionsObjectPoolPackageVersion) + $(MicrosoftFSharpCompilerPackageVersion) + $(MicrosoftJSInteropPackageVersion) + $(MicrosoftNetCompilersToolsetPackageVersion) + $(MicrosoftNetCompilersToolsetFrameworkPackageVersion) + $(MicrosoftNETHostModelPackageVersion) + $(MicrosoftNETILLinkTasksPackageVersion) + $(MicrosoftNETRuntimeEmscripten3156Cachewinx64PackageVersion) + $(MicrosoftNETRuntimeEmscriptenSdkInternalPackageVersion) + $(MicrosoftNETSdkRazorSourceGeneratorsTransportPackageVersion) + $(MicrosoftNETSdkWindowsDesktopPackageVersion) + $(MicrosoftNETTestSdkPackageVersion) + $(MicrosoftNETCoreAppRefPackageVersion) + $(MicrosoftNETCorePlatformsPackageVersion) + $(MicrosoftSourceLinkAzureReposGitPackageVersion) + $(MicrosoftSourceLinkBitbucketGitPackageVersion) + $(MicrosoftSourceLinkCommonPackageVersion) + $(MicrosoftSourceLinkGitHubPackageVersion) + $(MicrosoftSourceLinkGitLabPackageVersion) + $(MicrosoftTemplateEngineAbstractionsPackageVersion) + $(MicrosoftTemplateEngineAuthoringTemplateVerifierPackageVersion) + $(MicrosoftTemplateEngineEdgePackageVersion) + $(MicrosoftTemplateEngineMocksPackageVersion) + $(MicrosoftTemplateEngineOrchestratorRunnableProjectsPackageVersion) + $(MicrosoftTemplateEngineTestHelperPackageVersion) + $(MicrosoftTemplateEngineUtilsPackageVersion) + $(MicrosoftTemplateSearchCommonPackageVersion) + $(MicrosoftTemplateSearchTemplateDiscoveryPackageVersion) + $(MicrosoftTestPlatformBuildPackageVersion) + $(MicrosoftTestPlatformCLIPackageVersion) + $(MicrosoftWebXdtPackageVersion) + $(MicrosoftWin32SystemEventsPackageVersion) + $(MicrosoftWindowsDesktopAppInternalPackageVersion) + $(MicrosoftWindowsDesktopAppRefPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksConsolePackageVersion) + $(NuGetBuildTasksPackPackageVersion) + $(NuGetCommandLineXPlatPackageVersion) + $(NuGetCommandsPackageVersion) + $(NuGetCommonPackageVersion) + $(NuGetConfigurationPackageVersion) + $(NuGetCredentialsPackageVersion) + $(NuGetDependencyResolverCorePackageVersion) + $(NuGetFrameworksPackageVersion) + $(NuGetLibraryModelPackageVersion) + $(NuGetLocalizationPackageVersion) + $(NuGetPackagingPackageVersion) + $(NuGetProjectModelPackageVersion) + $(NuGetProtocolPackageVersion) + $(NuGetVersioningPackageVersion) + $(SystemCodeDomPackageVersion) + $(SystemCommandLinePackageVersion) + $(SystemComponentModelCompositionPackageVersion) + $(SystemCompositionAttributedModelPackageVersion) + $(SystemCompositionConventionPackageVersion) + $(SystemCompositionHostingPackageVersion) + $(SystemCompositionRuntimePackageVersion) + $(SystemCompositionTypedPartsPackageVersion) + $(SystemConfigurationConfigurationManagerPackageVersion) + $(SystemDiagnosticsDiagnosticSourcePackageVersion) + $(SystemFormatsAsn1PackageVersion) + $(SystemIOHashingPackageVersion) + $(SystemReflectionMetadataLoadContextPackageVersion) + $(SystemResourcesExtensionsPackageVersion) + $(SystemSecurityCryptographyPkcsPackageVersion) + $(SystemSecurityCryptographyProtectedDataPackageVersion) + $(SystemSecurityCryptographyXmlPackageVersion) + $(SystemSecurityPermissionsPackageVersion) + $(SystemServiceProcessServiceControllerPackageVersion) + $(SystemTextEncodingCodePagesPackageVersion) + $(SystemTextJsonPackageVersion) + $(SystemWindowsExtensionsPackageVersion) + + $(MicrosoftTestingPlatformPackageVersion) + $(MSTestPackageVersion) + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 62fe950cdf54..3a7cdb3a56c8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,634 +1,577 @@ + - - https://github.com/dotnet/templating - 34a5893f3ec336db55d3da5621a96106b418db5b - - - https://github.com/dotnet/templating - 34a5893f3ec336db55d3da5621a96106b418db5b - - - - https://github.com/dotnet/templating - b73682307aa0128c5edbec94c2e6a070d13ae6bb - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - - https://github.com/dotnet/emsdk - fb1326b0f4622f04f21584dc133f1c71f7554509 - - - - https://github.com/dotnet/emsdk - fb1326b0f4622f04f21584dc133f1c71f7554509 - - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - - https://github.com/dotnet/fsharp - 14987c804f33917bf15f4c25e0cd16ecd01807f4 - - - - https://github.com/dotnet/fsharp - 14987c804f33917bf15f4c25e0cd16ecd01807f4 - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 - - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6a953e76162f3f079405f80e28664fa51b136740 + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 - - - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 72d4e0415ec4ae0771a5df3e05260691a5d6775b - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-winforms - 9399df09f8f8a187dcf1941b1d07a538ca197171 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 72d4e0415ec4ae0771a5df3e05260691a5d6775b - - - https://github.com/dotnet/xdt - 63ae81154c50a1cf9287cc47d8351d55b4289e6d - - - - https://github.com/dotnet/xdt - 63ae81154c50a1cf9287cc47d8351d55b4289e6d - - - - https://github.com/dotnet/roslyn-analyzers - 742cc53ecfc7e7245f950e5ba58268ed2829913c - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn-analyzers - 742cc53ecfc7e7245f950e5ba58268ed2829913c - - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - - https://github.com/dotnet/symreader - 0710a7892d89999956e8808c28e9dd0512bd53f3 - - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db - - - - - https://github.com/dotnet/source-build-externals - 71dbdccd13f28cfd1a35649263b55ebbeab26ee7 - - - - - https://github.com/dotnet/source-build-reference-packages - 6092b62b7f35fddbd6bf31e19b2ab64bbe2443ae - - - - https://github.com/dotnet/deployment-tools - b2d5c0c5841de4bc036ef4c84b5db3532504e5f3 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - - - https://github.com/dotnet/deployment-tools - b2d5c0c5841de4bc036ef4c84b5db3532504e5f3 - - - - - https://github.com/dotnet/symreader - 0710a7892d89999956e8808c28e9dd0512bd53f3 - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://github.com/dotnet/arcade-services - e156e649f28395d9d0ee1e848225a689b59e0fd3 - - - https://github.com/dotnet/arcade-services - e156e649f28395d9d0ee1e848225a689b59e0fd3 - - - https://github.com/dotnet/scenario-tests - acd9dc7ae0717d7f4fb6ac2b76ea364e94b4ceb3 - - - - https://github.com/dotnet/scenario-tests - acd9dc7ae0717d7f4fb6ac2b76ea364e94b4ceb3 - - - - - https://github.com/dotnet/aspire - 5fa9337a84a52e9bd185d04d156eccbdcf592f74 - - - - https://github.com/dotnet/aspire - 5fa9337a84a52e9bd185d04d156eccbdcf592f74 - - - - https://github.com/dotnet/runtime - e77011b31a3e5c47d931248a64b47f9b2d47853d + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/microsoft/testfx + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + + + https://github.com/microsoft/testfx + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a diff --git a/eng/common/CIBuild.cmd b/eng/common/CIBuild.cmd index 56c2f25ac22f..ac1f72bf94e0 100644 --- a/eng/common/CIBuild.cmd +++ b/eng/common/CIBuild.cmd @@ -1,2 +1,2 @@ @echo off -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*" \ No newline at end of file +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*" diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1 index 792b60b49d42..65ed3a8adef0 100644 --- a/eng/common/SetupNugetSources.ps1 +++ b/eng/common/SetupNugetSources.ps1 @@ -1,13 +1,14 @@ # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables -# disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, +# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. +# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # # See example call for this script below. # # - task: PowerShell@2 -# displayName: Setup Private Feeds Credentials +# displayName: Setup internal Feeds Credentials # condition: eq(variables['Agent.OS'], 'Windows_NT') # inputs: # filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.ps1 @@ -34,19 +35,28 @@ Set-StrictMode -Version 2.0 . $PSScriptRoot\tools.ps1 +# Adds or enables the package source with the given name +function AddOrEnablePackageSource($sources, $disabledPackageSources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) { + if ($disabledPackageSources -eq $null -or -not (EnableInternalPackageSource -DisabledPackageSources $disabledPackageSources -Creds $creds -PackageSourceName $SourceName)) { + AddPackageSource -Sources $sources -SourceName $SourceName -SourceEndPoint $SourceEndPoint -Creds $creds -Username $userName -pwd $Password + } +} + # Add source entry to PackageSources function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) { $packageSource = $sources.SelectSingleNode("add[@key='$SourceName']") if ($packageSource -eq $null) { + Write-Host "Adding package source $SourceName" + $packageSource = $doc.CreateElement("add") $packageSource.SetAttribute("key", $SourceName) $packageSource.SetAttribute("value", $SourceEndPoint) $sources.AppendChild($packageSource) | Out-Null } else { - Write-Host "Package source $SourceName already present." + Write-Host "Package source $SourceName already present and enabled." } AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd @@ -59,6 +69,8 @@ function AddCredential($creds, $source, $username, $pwd) { return; } + Write-Host "Inserting credential for feed: " $source + # Looks for credential configuration for the given SourceName. Create it if none is found. $sourceElement = $creds.SelectSingleNode($Source) if ($sourceElement -eq $null) @@ -91,24 +103,27 @@ function AddCredential($creds, $source, $username, $pwd) { $passwordElement.SetAttribute("value", $pwd) } -function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) { - $maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]") - - Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds." - - ForEach ($PackageSource in $maestroPrivateSources) { - Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key - AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd +# Enable all darc-int package sources. +function EnableMaestroInternalPackageSources($DisabledPackageSources, $Creds) { + $maestroInternalSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]") + ForEach ($DisabledPackageSource in $maestroInternalSources) { + EnableInternalPackageSource -DisabledPackageSources $DisabledPackageSources -Creds $Creds -PackageSourceName $DisabledPackageSource.key } } -function EnablePrivatePackageSources($DisabledPackageSources) { - $maestroPrivateSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]") - ForEach ($DisabledPackageSource in $maestroPrivateSources) { - Write-Host "`tEnsuring private source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource" +# Enables an internal package source by name, if found. Returns true if the package source was found and enabled, false otherwise. +function EnableInternalPackageSource($DisabledPackageSources, $Creds, $PackageSourceName) { + $DisabledPackageSource = $DisabledPackageSources.SelectSingleNode("add[@key='$PackageSourceName']") + if ($DisabledPackageSource) { + Write-Host "Enabling internal source '$($DisabledPackageSource.key)'." + # Due to https://github.com/NuGet/Home/issues/10291, we must actually remove the disabled entries $DisabledPackageSources.RemoveChild($DisabledPackageSource) + + AddCredential -Creds $creds -Source $DisabledPackageSource.Key -Username $userName -pwd $Password + return $true } + return $false } if (!(Test-Path $ConfigFile -PathType Leaf)) { @@ -121,15 +136,17 @@ $doc = New-Object System.Xml.XmlDocument $filename = (Get-Item $ConfigFile).FullName $doc.Load($filename) -# Get reference to or create one if none exist already +# Get reference to - fail if none exist $sources = $doc.DocumentElement.SelectSingleNode("packageSources") if ($sources -eq $null) { - $sources = $doc.CreateElement("packageSources") - $doc.DocumentElement.AppendChild($sources) | Out-Null + Write-PipelineTelemetryError -Category 'Build' -Message "Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile" + ExitWithExitCode 1 } $creds = $null +$feedSuffix = "v3/index.json" if ($Password) { + $feedSuffix = "v2" # Looks for a node. Create it if none is found. $creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials") if ($creds -eq $null) { @@ -138,34 +155,35 @@ if ($Password) { } } +$userName = "dn-bot" + # Check for disabledPackageSources; we'll enable any darc-int ones we find there $disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources") if ($disabledSources -ne $null) { Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node" - EnablePrivatePackageSources -DisabledPackageSources $disabledSources + EnableMaestroInternalPackageSources -DisabledPackageSources $disabledSources -Creds $creds } - -$userName = "dn-bot" - -# Insert credential nodes for Maestro's private feeds -InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password - -# 3.1 uses a different feed url format so it's handled differently here -$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']") -if ($dotnet31Source -ne $null) { - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password -} - -$dotnetVersions = @('5','6','7','8','9') +$dotnetVersions = @('5','6','7','8','9','10') foreach ($dotnetVersion in $dotnetVersions) { $feedPrefix = "dotnet" + $dotnetVersion; $dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']") if ($dotnetSource -ne $null) { - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password } } +# Check for dotnet-eng and add dotnet-eng-internal if present +$dotnetEngSource = $sources.SelectSingleNode("add[@key='dotnet-eng']") +if ($dotnetEngSource -ne $null) { + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-eng-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password +} + +# Check for dotnet-tools and add dotnet-tools-internal if present +$dotnetToolsSource = $sources.SelectSingleNode("add[@key='dotnet-tools']") +if ($dotnetToolsSource -ne $null) { + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-tools-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password +} + $doc.Save($filename) diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh old mode 100644 new mode 100755 index facb415ca6ff..b2163abbe71b --- a/eng/common/SetupNugetSources.sh +++ b/eng/common/SetupNugetSources.sh @@ -1,8 +1,9 @@ #!/usr/bin/env bash # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables -# disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, +# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. +# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # @@ -52,81 +53,139 @@ if [[ `uname -s` == "Darwin" ]]; then TB='' fi -# Ensure there is a ... section. -grep -i "" $ConfigFile -if [ "$?" != "0" ]; then - echo "Adding ... section." - ConfigNodeHeader="" - PackageSourcesTemplate="${TB}${NL}${TB}" +# Enables an internal package source by name, if found. Returns 0 if found and enabled, 1 if not found. +EnableInternalPackageSource() { + local PackageSourceName="$1" + + # Check if disabledPackageSources section exists + grep -i "" "$ConfigFile" > /dev/null + if [ "$?" != "0" ]; then + return 1 # No disabled sources section + fi + + # Check if this source name is disabled + grep -i " /dev/null + if [ "$?" == "0" ]; then + echo "Enabling internal source '$PackageSourceName'." + # Remove the disabled entry (including any surrounding comments or whitespace on the same line) + sed -i.bak "//d" "$ConfigFile" + + # Add the source name to PackageSources for credential handling + PackageSources+=("$PackageSourceName") + return 0 # Found and enabled + fi + + return 1 # Not found in disabled sources +} + +# Add source entry to PackageSources +AddPackageSource() { + local SourceName="$1" + local SourceEndPoint="$2" + + # Check if source already exists + grep -i " /dev/null + if [ "$?" == "0" ]; then + echo "Package source $SourceName already present and enabled." + PackageSources+=("$SourceName") + return + fi + + echo "Adding package source $SourceName" + PackageSourcesNodeFooter="" + PackageSourceTemplate="${TB}" + + sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" "$ConfigFile" + PackageSources+=("$SourceName") +} + +# Adds or enables the package source with the given name +AddOrEnablePackageSource() { + local SourceName="$1" + local SourceEndPoint="$2" + + # Try to enable if disabled, if not found then add new source + EnableInternalPackageSource "$SourceName" + if [ "$?" != "0" ]; then + AddPackageSource "$SourceName" "$SourceEndPoint" + fi +} - sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" $ConfigFile -fi +# Enable all darc-int package sources +EnableMaestroInternalPackageSources() { + # Check if disabledPackageSources section exists + grep -i "" "$ConfigFile" > /dev/null + if [ "$?" != "0" ]; then + return # No disabled sources section + fi + + # Find all darc-int disabled sources + local DisabledDarcIntSources=() + DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' "$ConfigFile" | tr -d '"') + + for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do + if [[ $DisabledSourceName == darc-int* ]]; then + EnableInternalPackageSource "$DisabledSourceName" + fi + done +} -# Ensure there is a ... section. -grep -i "" $ConfigFile +# Ensure there is a ... section. +grep -i "" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding ... section." - - PackageSourcesNodeFooter="" - PackageSourceCredentialsTemplate="${TB}${NL}${TB}" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile + Write-PipelineTelemetryError -Category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile" + ExitWithExitCode 1 fi PackageSources=() -# Ensure dotnet3.1-internal and dotnet3.1-internal-transport are in the packageSources if the public dotnet3.1 feeds are present -grep -i "... section. + grep -i "" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding dotnet3.1-internal to the packageSources." - PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" + echo "Adding ... section." - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=('dotnet3.1-internal') - - grep -i "" $ConfigFile - if [ "$?" != "0" ]; then - echo "Adding dotnet3.1-internal-transport to the packageSources." PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" + PackageSourceCredentialsTemplate="${TB}${NL}${TB}" - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile + sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile fi - PackageSources+=('dotnet3.1-internal-transport') fi -DotNetVersions=('5' '6' '7' '8' '9') +# Check for disabledPackageSources; we'll enable any darc-int ones we find there +grep -i "" $ConfigFile > /dev/null +if [ "$?" == "0" ]; then + echo "Checking for any darc-int disabled package sources in the disabledPackageSources node" + EnableMaestroInternalPackageSources +fi + +DotNetVersions=('5' '6' '7' '8' '9' '10') for DotNetVersion in ${DotNetVersions[@]} ; do FeedPrefix="dotnet${DotNetVersion}"; - grep -i " /dev/null if [ "$?" == "0" ]; then - grep -i "" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=("$FeedPrefix-internal") - - grep -i "" $ConfigFile - if [ "$?" != "0" ]; then - echo "Adding $FeedPrefix-internal-transport to the packageSources." - PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=("$FeedPrefix-internal-transport") + AddOrEnablePackageSource "$FeedPrefix-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal/nuget/$FeedSuffix" + AddOrEnablePackageSource "$FeedPrefix-internal-transport" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal-transport/nuget/$FeedSuffix" fi done +# Check for dotnet-eng and add dotnet-eng-internal if present +grep -i " /dev/null +if [ "$?" == "0" ]; then + AddOrEnablePackageSource "dotnet-eng-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$FeedSuffix" +fi + +# Check for dotnet-tools and add dotnet-tools-internal if present +grep -i " /dev/null +if [ "$?" == "0" ]; then + AddOrEnablePackageSource "dotnet-tools-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$FeedSuffix" +fi + # I want things split line by line PrevIFS=$IFS IFS=$'\n' @@ -139,29 +198,12 @@ if [ "$CredToken" ]; then # Check if there is no existing credential for this FeedName grep -i "<$FeedName>" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding credentials for $FeedName." + echo " Inserting credential for feed: $FeedName" PackageSourceCredentialsNodeFooter="" - NewCredential="${TB}${TB}<$FeedName>${NL}${NL}${NL}" + NewCredential="${TB}${TB}<$FeedName>${NL}${TB}${NL}${TB}${TB}${NL}${TB}${TB}" sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile fi done fi - -# Re-enable any entries in disabledPackageSources where the feed name contains darc-int -grep -i "" $ConfigFile -if [ "$?" == "0" ]; then - DisabledDarcIntSources=() - echo "Re-enabling any disabled \"darc-int\" package sources in $ConfigFile" - DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' $ConfigFile | tr -d '"') - for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do - if [[ $DisabledSourceName == darc-int* ]] - then - OldDisableValue="" - NewDisableValue="" - sed -i.bak "s|$OldDisableValue|$NewDisableValue|" $ConfigFile - echo "Neutralized disablePackageSources entry for '$DisabledSourceName'" - fi - done -fi diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index 438f9920c43e..8cfee107e7a3 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -7,6 +7,7 @@ Param( [string] $msbuildEngine = $null, [bool] $warnAsError = $true, [bool] $nodeReuse = $true, + [switch] $buildCheck = $false, [switch][Alias('r')]$restore, [switch] $deployDeps, [switch][Alias('b')]$build, @@ -20,6 +21,7 @@ Param( [switch] $publish, [switch] $clean, [switch][Alias('pb')]$productBuild, + [switch]$fromVMR, [switch][Alias('bl')]$binaryLog, [switch][Alias('nobl')]$excludeCIBinarylog, [switch] $ci, @@ -71,6 +73,9 @@ function Print-Usage() { Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio" Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)" + Write-Host " -nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')" + Write-Host " -buildCheck Sets /check msbuild parameter" + Write-Host " -fromVMR Set when building from within the VMR" Write-Host "" Write-Host "Command line arguments not listed above are passed thru to msbuild." @@ -97,6 +102,7 @@ function Build { $bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' } $platformArg = if ($platform) { "/p:Platform=$platform" } else { '' } + $check = if ($buildCheck) { '/check' } else { '' } if ($projects) { # Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons. @@ -113,6 +119,7 @@ function Build { MSBuild $toolsetBuildProj ` $bl ` $platformArg ` + $check ` /p:Configuration=$configuration ` /p:RepoRoot=$RepoRoot ` /p:Restore=$restore ` @@ -122,11 +129,13 @@ function Build { /p:Deploy=$deploy ` /p:Test=$test ` /p:Pack=$pack ` - /p:DotNetBuildRepo=$productBuild ` + /p:DotNetBuild=$productBuild ` + /p:DotNetBuildFromVMR=$fromVMR ` /p:IntegrationTest=$integrationTest ` /p:PerformanceTest=$performanceTest ` /p:Sign=$sign ` /p:Publish=$publish ` + /p:RestoreStaticGraphEnableBinaryLogger=$binaryLog ` @properties } diff --git a/eng/common/build.sh b/eng/common/build.sh index ac1ee8620cd2..9767bb411a4f 100755 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -42,6 +42,8 @@ usage() echo " --prepareMachine Prepare machine for CI run, clean up processes after build" echo " --nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')" echo " --warnAsError Sets warnaserror msbuild parameter ('true' or 'false')" + echo " --buildCheck Sets /check msbuild parameter" + echo " --fromVMR Set when building from within the VMR" echo "" echo "Command line arguments not listed above are passed thru to msbuild." echo "Arguments can also be passed in with a single hyphen." @@ -63,6 +65,7 @@ restore=false build=false source_build=false product_build=false +from_vmr=false rebuild=false test=false integration_test=false @@ -76,6 +79,7 @@ clean=false warn_as_error=true node_reuse=true +build_check=false binary_log=false exclude_ci_binary_log=false pipelines_log=false @@ -87,7 +91,7 @@ verbosity='minimal' runtime_source_feed='' runtime_source_feed_key='' -properties='' +properties=() while [[ $# > 0 ]]; do opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")" case "$opt" in @@ -127,19 +131,22 @@ while [[ $# > 0 ]]; do -pack) pack=true ;; - -sourcebuild|-sb) + -sourcebuild|-source-build|-sb) build=true source_build=true product_build=true restore=true pack=true ;; - -productBuild|-pb) + -productbuild|-product-build|-pb) build=true product_build=true restore=true pack=true ;; + -fromvmr|-from-vmr) + from_vmr=true + ;; -test|-t) test=true ;; @@ -173,6 +180,9 @@ while [[ $# > 0 ]]; do node_reuse=$2 shift ;; + -buildcheck) + build_check=true + ;; -runtimesourcefeed) runtime_source_feed=$2 shift @@ -182,7 +192,7 @@ while [[ $# > 0 ]]; do shift ;; *) - properties="$properties $1" + properties+=("$1") ;; esac @@ -216,7 +226,7 @@ function Build { InitializeCustomToolset if [[ ! -z "$projects" ]]; then - properties="$properties /p:Projects=$projects" + properties+=("/p:Projects=$projects") fi local bl="" @@ -224,15 +234,21 @@ function Build { bl="/bl:\"$log_dir/Build.binlog\"" fi + local check="" + if [[ "$build_check" == true ]]; then + check="/check" + fi + MSBuild $_InitializeToolset \ $bl \ + $check \ /p:Configuration=$configuration \ /p:RepoRoot="$repo_root" \ /p:Restore=$restore \ /p:Build=$build \ - /p:DotNetBuildRepo=$product_build \ - /p:ArcadeBuildFromSource=$source_build \ + /p:DotNetBuild=$product_build \ /p:DotNetBuildSourceOnly=$source_build \ + /p:DotNetBuildFromVMR=$from_vmr \ /p:Rebuild=$rebuild \ /p:Test=$test \ /p:Pack=$pack \ @@ -240,7 +256,8 @@ function Build { /p:PerformanceTest=$performance_test \ /p:Sign=$sign \ /p:Publish=$publish \ - $properties + /p:RestoreStaticGraphEnableBinaryLogger=$binary_log \ + ${properties[@]+"${properties[@]}"} ExitWithExitCode 0 } diff --git a/eng/common/cibuild.sh b/eng/common/cibuild.sh index 1a02c0dec8fd..66e3b0ac61c3 100755 --- a/eng/common/cibuild.sh +++ b/eng/common/cibuild.sh @@ -13,4 +13,4 @@ while [[ -h $source ]]; do done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" -. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@ \ No newline at end of file +. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@ diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml index 8da43d3b5837..5ce518406198 100644 --- a/eng/common/core-templates/job/job.yml +++ b/eng/common/core-templates/job/job.yml @@ -19,11 +19,11 @@ parameters: # publishing defaults artifacts: '' enableMicrobuild: false + enableMicrobuildForMacAndLinux: false microbuildUseESRP: true enablePublishBuildArtifacts: false enablePublishBuildAssets: false enablePublishTestResults: false - enablePublishUsingPipelines: false enableBuildRetry: false mergeTestResults: false testRunTitle: '' @@ -74,9 +74,6 @@ jobs: - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE value: '$(Build.Repository.Uri)' - - ${{ if eq(parameters.enableRichCodeNavigation, 'true') }}: - - name: EnableRichCodeNavigation - value: 'true' # Retry signature validation up to three times, waiting 2 seconds between attempts. # See https://learn.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu3028#retry-untrusted-root-failures - name: NUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY @@ -128,23 +125,12 @@ jobs: - ${{ preStep }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ if eq(parameters.enableMicrobuild, 'true') }}: - - task: MicroBuildSigningPlugin@4 - displayName: Install MicroBuild plugin - inputs: - signType: $(_SignType) - zipSources: false - feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json - ${{ if eq(parameters.microbuildUseESRP, true) }}: - ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: - ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea - ${{ else }}: - ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca - env: - TeamName: $(_TeamName) - MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)' + - template: /eng/common/core-templates/steps/install-microbuild.yml + parameters: + enableMicrobuild: ${{ parameters.enableMicrobuild }} + enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} + microbuildUseESRP: ${{ parameters.microbuildUseESRP }} continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT')) - ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}: - task: NuGetAuthenticate@1 @@ -160,27 +146,15 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} - - ${{ if eq(parameters.enableRichCodeNavigation, true) }}: - - task: RichCodeNavIndexer@0 - displayName: RichCodeNav Upload - inputs: - languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }} - environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'internal') }} - richNavLogOutputDirectory: $(System.DefaultWorkingDirectory)/artifacts/bin - uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }} - continueOnError: true - - ${{ each step in parameters.componentGovernanceSteps }}: - ${{ step }} - - ${{ if eq(parameters.enableMicrobuild, 'true') }}: - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: MicroBuildCleanup@1 - displayName: Execute Microbuild cleanup tasks - condition: and(always(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT')) + - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - template: /eng/common/core-templates/steps/cleanup-microbuild.yml + parameters: + enableMicrobuild: ${{ parameters.enableMicrobuild }} + enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} continueOnError: ${{ parameters.continueOnError }} - env: - TeamName: $(_TeamName) # Publish test results - ${{ if or(and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')), eq(parameters.testResultsFormat, 'xunit')) }}: diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index edefa789d360..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -4,7 +4,7 @@ parameters: # Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool pool: '' - + CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex GithubPat: $(BotAccount-dotnet-bot-repo-PAT) @@ -27,7 +27,7 @@ parameters: is1ESPipeline: '' jobs: - job: OneLocBuild${{ parameters.JobNameSuffix }} - + dependsOn: ${{ parameters.dependsOn }} displayName: OneLocBuild${{ parameters.JobNameSuffix }} @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: @@ -86,8 +86,7 @@ jobs: isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }} ${{ if eq(parameters.CreatePr, true) }}: isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }} - ${{ if eq(parameters.RepoType, 'gitHub') }}: - isShouldReusePrSelected: ${{ parameters.ReusePr }} + isShouldReusePrSelected: ${{ parameters.ReusePr }} packageSourceAuth: patAuth patVariable: ${{ parameters.CeapexPat }} ${{ if eq(parameters.RepoType, 'gitHub') }}: @@ -100,22 +99,20 @@ jobs: mirrorBranch: ${{ parameters.MirrorBranch }} condition: ${{ parameters.condition }} - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} - args: - displayName: Publish Localization Files - pathToPublish: '$(Build.ArtifactStagingDirectory)/loc' - publishLocation: Container - artifactName: Loc - condition: ${{ parameters.condition }} + # Copy the locProject.json to the root of the Loc directory, then publish a pipeline artifact + - task: CopyFiles@2 + displayName: Copy LocProject.json + inputs: + SourceFolder: '$(System.DefaultWorkingDirectory)/eng/Localize/' + Contents: 'LocProject.json' + TargetFolder: '$(Build.ArtifactStagingDirectory)/loc' + condition: ${{ parameters.condition }} - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: - displayName: Publish LocProject.json - pathToPublish: '$(System.DefaultWorkingDirectory)/eng/Localize/' - publishLocation: Container - artifactName: Loc - condition: ${{ parameters.condition }} \ No newline at end of file + targetPath: '$(Build.ArtifactStagingDirectory)/loc' + artifactName: 'Loc' + displayName: 'Publish Localization Files' + condition: ${{ parameters.condition }} diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index 3cb20fb5041f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -20,9 +20,6 @@ parameters: # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects. runAsPublic: false - # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing - publishUsingPipelines: false - # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing publishAssetsImmediately: false @@ -32,6 +29,15 @@ parameters: is1ESPipeline: '' + # Optional: 🌤️ or not the build has assets it wants to publish to BAR + isAssetlessBuild: false + + # Optional, publishing version + publishingVersion: 3 + + # Optional: A minimatch pattern for the asset manifests to publish to BAR + assetManifestsPattern: '*/manifests/**/*.xml' + repositoryAlias: self officialBuildId: '' @@ -68,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: @@ -84,18 +90,44 @@ jobs: - checkout: ${{ parameters.repositoryAlias }} fetchDepth: 3 clean: true - - - task: DownloadBuildArtifacts@0 - displayName: Download artifact - inputs: - artifactName: AssetManifests - downloadPath: '$(Build.StagingDirectory)/Download' - checkDownloadedFiles: true - condition: ${{ parameters.condition }} - continueOnError: ${{ parameters.continueOnError }} + + - ${{ if eq(parameters.isAssetlessBuild, 'false') }}: + - ${{ if eq(parameters.publishingVersion, 3) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download Asset Manifests + inputs: + artifactName: AssetManifests + targetPath: '$(Build.StagingDirectory)/AssetManifests' + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} + - ${{ if eq(parameters.publishingVersion, 4) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download V4 asset manifests + inputs: + itemPattern: '*/manifests/**/*.xml' + targetPath: '$(Build.StagingDirectory)/AllAssetManifests' + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} + - task: CopyFiles@2 + displayName: Copy V4 asset manifests to AssetManifests + inputs: + SourceFolder: '$(Build.StagingDirectory)/AllAssetManifests' + Contents: ${{ parameters.assetManifestsPattern }} + TargetFolder: '$(Build.StagingDirectory)/AssetManifests' + flattenFolders: true + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} - task: NuGetAuthenticate@1 + # Populate internal runtime variables. + - template: /eng/common/templates/steps/enable-internal-sources.yml + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + parameters: + legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) + + - template: /eng/common/templates/steps/enable-internal-runtimes.yml + - task: AzureCLI@2 displayName: Publish Build Assets inputs: @@ -104,10 +136,13 @@ jobs: scriptLocation: scriptPath scriptPath: $(System.DefaultWorkingDirectory)/eng/common/sdk-task.ps1 arguments: -task PublishBuildAssets -restore -msbuildEngine dotnet - /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests' + /p:ManifestsPath='$(Build.StagingDirectory)/AssetManifests' + /p:IsAssetlessBuild=${{ parameters.isAssetlessBuild }} /p:MaestroApiEndpoint=https://maestro.dot.net - /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }} /p:OfficialBuildId=$(OfficialBuildId) + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' + condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} @@ -129,6 +164,17 @@ jobs: Copy-Item -Path $symbolExclusionfile -Destination "$(Build.StagingDirectory)/ReleaseConfigs" } + - ${{ if eq(parameters.publishingVersion, 4) }}: + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} + args: + targetPath: '$(Build.ArtifactStagingDirectory)/MergedManifest.xml' + artifactName: AssetManifests + displayName: 'Publish Merged Manifest' + retryCountOnTaskFailure: 10 # for any logs being locked + sbomEnabled: false # we don't need SBOM for logs + - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} @@ -138,7 +184,7 @@ jobs: publishLocation: Container artifactName: ReleaseConfigs - - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: + - ${{ if or(eq(parameters.publishAssetsImmediately, 'true'), eq(parameters.isAssetlessBuild, 'true')) }}: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: BARBuildId: ${{ parameters.BARBuildId }} @@ -164,6 +210,9 @@ jobs: -WaitPublishingFinish true -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' + -SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' - ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}: - template: /eng/common/core-templates/steps/publish-logs.yml diff --git a/eng/common/core-templates/job/source-build.yml b/eng/common/core-templates/job/source-build.yml index d943748ac10e..1997c2ae00d7 100644 --- a/eng/common/core-templates/job/source-build.yml +++ b/eng/common/core-templates/job/source-build.yml @@ -12,9 +12,10 @@ parameters: # The name of the job. This is included in the job ID. # targetRID: '' # The name of the target RID to use, instead of the one auto-detected by Arcade. - # nonPortable: false + # portableBuild: false # Enables non-portable mode. This means a more specific RID (e.g. fedora.32-x64 rather than - # linux-x64), and compiling against distro-provided packages rather than portable ones. + # linux-x64), and compiling against distro-provided packages rather than portable ones. The + # default is portable mode. # skipPublishValidation: false # Disables publishing validation. By default, a check is performed to ensure no packages are # published by source-build. @@ -33,9 +34,6 @@ parameters: # container and pool. platform: {} - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: '' # If set to true and running on a non-public project, @@ -62,7 +60,7 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')] - demands: ImageOverride -equals build.ubuntu.2004.amd64 + demands: ImageOverride -equals build.azurelinux.3.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')] image: build.azurelinux.3.amd64 @@ -71,10 +69,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')] - demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open + demands: ImageOverride -equals build.azurelinux.3.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')] - demands: ImageOverride -equals Build.Ubuntu.2204.Amd64 + demands: ImageOverride -equals build.azurelinux.3.amd64 ${{ if ne(parameters.platform.pool, '') }}: pool: ${{ parameters.platform.pool }} @@ -96,4 +94,3 @@ jobs: parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} platform: ${{ parameters.platform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index ddf8c2e00d80..76baf5c27258 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -1,8 +1,5 @@ parameters: runAsPublic: false - sourceIndexUploadPackageVersion: 2.0.0-20250425.2 - sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2 - sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci" preSteps: [] binlogPath: artifacts/log/Debug/Build.binlog @@ -16,12 +13,6 @@ jobs: dependsOn: ${{ parameters.dependsOn }} condition: ${{ parameters.condition }} variables: - - name: SourceIndexUploadPackageVersion - value: ${{ parameters.sourceIndexUploadPackageVersion }} - - name: SourceIndexProcessBinlogPackageVersion - value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }} - - name: SourceIndexPackageSource - value: ${{ parameters.sourceIndexPackageSource }} - name: BinlogPath value: ${{ parameters.binlogPath }} - template: /eng/common/core-templates/variables/pool-providers.yml @@ -34,12 +25,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - image: 1es-windows-2022-open - os: windows + image: windows.vs2026preview.scout.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 - os: windows + image: windows.vs2026preview.scout.amd64 steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: @@ -47,35 +36,9 @@ jobs: - ${{ each preStep in parameters.preSteps }}: - ${{ preStep }} - - - task: UseDotNet@2 - displayName: Use .NET 8 SDK - inputs: - packageType: sdk - version: 8.0.x - installationPath: $(Agent.TempDirectory)/dotnet - workingDirectory: $(Agent.TempDirectory) - - - script: | - $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools - $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools - displayName: Download Tools - # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. - workingDirectory: $(Agent.TempDirectory) - - script: ${{ parameters.sourceIndexBuildCommand }} displayName: Build Repository - - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output - displayName: Process Binlog into indexable sln - - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: AzureCLI@2 - displayName: Log in to Azure and upload stage1 artifacts to source index - inputs: - azureSubscription: 'SourceDotNet Stage1 Publish' - addSpnToEnvironment: true - scriptType: 'ps' - scriptLocation: 'inlineScript' - inlineScript: | - $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1 + - template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + binLogPath: ${{ parameters.binLogPath }} diff --git a/eng/common/core-templates/jobs/codeql-build.yml b/eng/common/core-templates/jobs/codeql-build.yml index 4571a7864df6..dbc14ac580a2 100644 --- a/eng/common/core-templates/jobs/codeql-build.yml +++ b/eng/common/core-templates/jobs/codeql-build.yml @@ -15,7 +15,6 @@ jobs: enablePublishBuildArtifacts: false enablePublishTestResults: false enablePublishBuildAssets: false - enablePublishUsingPipelines: false enableTelemetry: true variables: diff --git a/eng/common/core-templates/jobs/jobs.yml b/eng/common/core-templates/jobs/jobs.yml index bf33cdc2cc77..01ada7476651 100644 --- a/eng/common/core-templates/jobs/jobs.yml +++ b/eng/common/core-templates/jobs/jobs.yml @@ -5,9 +5,6 @@ parameters: # Optional: Include PublishBuildArtifacts task enablePublishBuildArtifacts: false - # Optional: Enable publishing using release pipelines - enablePublishUsingPipelines: false - # Optional: Enable running the source-build jobs to build repo from source enableSourceBuild: false @@ -30,6 +27,9 @@ parameters: # Optional: Publish the assets as soon as the publish to BAR stage is complete, rather doing so in a separate stage. publishAssetsImmediately: false + # Optional: 🌤️ or not the build has assets it wants to publish to BAR + isAssetlessBuild: false + # Optional: If using publishAssetsImmediately and additional parameters are needed, can be used to send along additional parameters (normally sent to post-build.yml) artifactsPublishingAdditionalParameters: '' signingValidationAdditionalParameters: '' @@ -85,7 +85,6 @@ jobs: - template: /eng/common/core-templates/jobs/source-build.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} - allCompletedJobId: Source_Build_Complete ${{ each parameter in parameters.sourceBuildParameters }}: ${{ parameter.key }}: ${{ parameter.value }} @@ -98,7 +97,7 @@ jobs: ${{ parameter.key }}: ${{ parameter.value }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}: + - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, ''), eq(parameters.isAssetlessBuild, true)) }}: - template: ../job/publish-build-assets.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} @@ -110,12 +109,10 @@ jobs: - ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}: - ${{ each job in parameters.jobs }}: - ${{ job.job }} - - ${{ if eq(parameters.enableSourceBuild, true) }}: - - Source_Build_Complete runAsPublic: ${{ parameters.runAsPublic }} - publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }} - publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }} + publishAssetsImmediately: ${{ or(parameters.publishAssetsImmediately, parameters.isAssetlessBuild) }} + isAssetlessBuild: ${{ parameters.isAssetlessBuild }} enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} diff --git a/eng/common/core-templates/jobs/source-build.yml b/eng/common/core-templates/jobs/source-build.yml index 0b408a67bd51..d92860cba208 100644 --- a/eng/common/core-templates/jobs/source-build.yml +++ b/eng/common/core-templates/jobs/source-build.yml @@ -2,28 +2,19 @@ parameters: # This template adds arcade-powered source-build to CI. A job is created for each platform, as # well as an optional server job that completes when all platform jobs complete. - # The name of the "join" job for all source-build platforms. If set to empty string, the job is - # not included. Existing repo pipelines can use this job depend on all source-build jobs - # completing without maintaining a separate list of every single job ID: just depend on this one - # server job. By default, not included. Recommended name if used: 'Source_Build_Complete'. - allCompletedJobId: '' - # See /eng/common/core-templates/job/source-build.yml jobNamePrefix: 'Source_Build' # This is the default platform provided by Arcade, intended for use by a managed-only repo. defaultManagedPlatform: name: 'Managed' - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-amd64' # Defines the platforms on which to run build jobs. One job is created for each platform, and the # object in this array is sent to the job template as 'platform'. If no platforms are specified, # one job runs on 'defaultManagedPlatform'. platforms: [] - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: '' # If set to true and running on a non-public project, @@ -34,23 +25,12 @@ parameters: jobs: -- ${{ if ne(parameters.allCompletedJobId, '') }}: - - job: ${{ parameters.allCompletedJobId }} - displayName: Source-Build Complete - pool: server - dependsOn: - - ${{ each platform in parameters.platforms }}: - - ${{ parameters.jobNamePrefix }}_${{ platform.name }} - - ${{ if eq(length(parameters.platforms), 0) }}: - - ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }} - - ${{ each platform in parameters.platforms }}: - template: /eng/common/core-templates/job/source-build.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ platform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} - ${{ if eq(length(parameters.platforms), 0) }}: @@ -59,5 +39,4 @@ jobs: is1ESPipeline: ${{ parameters.is1ESPipeline }} jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ parameters.defaultManagedPlatform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 864427d9694a..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -60,6 +60,11 @@ parameters: artifactNames: '' downloadArtifacts: true + - name: isAssetlessBuild + type: boolean + displayName: Is Assetless Build + default: false + # These parameters let the user customize the call to sdk-task.ps1 for publishing # symbols & general artifacts as well as for signing validation - name: symbolPublishingAdditionalParameters @@ -115,18 +120,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: windows.vs2022.amd64 + image: windows.vs2026preview.scout.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -159,18 +164,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -188,9 +193,6 @@ stages: buildId: $(AzDOBuildId) artifactName: PackageArtifacts checkDownloadedFiles: true - itemPattern: | - ** - !**/Microsoft.SourceBuild.Intermediate.*.nupkg # This is necessary whenever we want to publish/restore to an AzDO private feed # Since sdk-task.ps1 tries to restore packages we need to do this authentication here @@ -223,18 +225,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -284,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -305,6 +307,13 @@ stages: - task: NuGetAuthenticate@1 + # Populate internal runtime variables. + - template: /eng/common/templates/steps/enable-internal-sources.yml + parameters: + legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) + + - template: /eng/common/templates/steps/enable-internal-runtimes.yml + # Darc is targeting 8.0, so make sure it's installed - task: UseDotNet@2 inputs: @@ -325,3 +334,6 @@ stages: -RequireDefaultChannels ${{ parameters.requireDefaultChannels }} -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' + -SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' diff --git a/eng/common/core-templates/steps/cleanup-microbuild.yml b/eng/common/core-templates/steps/cleanup-microbuild.yml new file mode 100644 index 000000000000..c0fdcd3379d7 --- /dev/null +++ b/eng/common/core-templates/steps/cleanup-microbuild.yml @@ -0,0 +1,28 @@ +parameters: + # Enable cleanup tasks for MicroBuild + enableMicrobuild: false + # Enable cleanup tasks for MicroBuild on Mac and Linux + # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT' + enableMicrobuildForMacAndLinux: false + continueOnError: false + +steps: + - ${{ if eq(parameters.enableMicrobuild, 'true') }}: + - task: MicroBuildCleanup@1 + displayName: Execute Microbuild cleanup tasks + condition: and( + always(), + or( + and( + eq(variables['Agent.Os'], 'Windows_NT'), + in(variables['_SignType'], 'real', 'test') + ), + and( + ${{ eq(parameters.enableMicrobuildForMacAndLinux, true) }}, + ne(variables['Agent.Os'], 'Windows_NT'), + eq(variables['_SignType'], 'real') + ) + )) + continueOnError: ${{ parameters.continueOnError }} + env: + TeamName: $(_TeamName) diff --git a/eng/common/core-templates/steps/generate-sbom.yml b/eng/common/core-templates/steps/generate-sbom.yml index 7f5b84c4cb82..c05f65027979 100644 --- a/eng/common/core-templates/steps/generate-sbom.yml +++ b/eng/common/core-templates/steps/generate-sbom.yml @@ -5,7 +5,7 @@ # IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector. parameters: - PackageVersion: 9.0.0 + PackageVersion: 10.0.0 BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' PackageName: '.NET' ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom diff --git a/eng/common/core-templates/steps/get-delegation-sas.yml b/eng/common/core-templates/steps/get-delegation-sas.yml index 9db5617ea7de..d2901470a7f0 100644 --- a/eng/common/core-templates/steps/get-delegation-sas.yml +++ b/eng/common/core-templates/steps/get-delegation-sas.yml @@ -31,16 +31,7 @@ steps: # Calculate the expiration of the SAS token and convert to UTC $expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") - # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads - # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484 - $sas = "" - do { - $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv - if ($LASTEXITCODE -ne 0) { - Write-Error "Failed to generate SAS token." - exit 1 - } - } while($sas.IndexOf('/') -ne -1) + $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv if ($LASTEXITCODE -ne 0) { Write-Error "Failed to generate SAS token." diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml new file mode 100644 index 000000000000..553fce66b940 --- /dev/null +++ b/eng/common/core-templates/steps/install-microbuild.yml @@ -0,0 +1,110 @@ +parameters: + # Enable install tasks for MicroBuild + enableMicrobuild: false + # Enable install tasks for MicroBuild on Mac and Linux + # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT' + enableMicrobuildForMacAndLinux: false + # Determines whether the ESRP service connection information should be passed to the signing plugin. + # This overlaps with _SignType to some degree. We only need the service connection for real signing. + # It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place. + # Doing so will cause the service connection to be authorized for the pipeline, which isn't allowed and won't work for non-prod. + # Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The + # variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough. + microbuildUseESRP: true + # Microbuild installation directory + microBuildOutputFolder: $(Agent.TempDirectory)/MicroBuild + + continueOnError: false + +steps: + - ${{ if eq(parameters.enableMicrobuild, 'true') }}: + - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}: + # Needed to download the MicroBuild plugin nupkgs on Mac and Linux when nuget.exe is unavailable + - task: UseDotNet@2 + displayName: Install .NET 8.0 SDK for MicroBuild Plugin + inputs: + packageType: sdk + version: 8.0.x + installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + - script: | + set -euo pipefail + + # UseDotNet@2 prepends the dotnet executable path to the PATH variable, so we can call dotnet directly + version=$(dotnet --version) + cat << 'EOF' > ${{ parameters.microBuildOutputFolder }}/global.json + { + "sdk": { + "version": "$version", + "paths": [ + "${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild" + ], + "errorMessage": "The .NET SDK version $version is required to install the MicroBuild signing plugin." + } + } + EOF + displayName: 'Add global.json to MicroBuild Installation path' + workingDirectory: ${{ parameters.microBuildOutputFolder }} + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + - script: | + REM Check if ESRP is disabled while SignType is real + if /I "${{ parameters.microbuildUseESRP }}"=="false" if /I "$(_SignType)"=="real" ( + echo Error: ESRP must be enabled when SignType is real. + exit /b 1 + ) + displayName: 'Validate ESRP usage (Windows)' + condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT')) + - script: | + # Check if ESRP is disabled while SignType is real + if [ "${{ parameters.microbuildUseESRP }}" = "false" ] && [ "$(_SignType)" = "real" ]; then + echo "Error: ESRP must be enabled when SignType is real." + exit 1 + fi + displayName: 'Validate ESRP usage (Non-Windows)' + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + # Two different MB install steps. This is due to not being able to use the agent OS during + # YAML expansion, and Windows vs. Linux/Mac uses different service connections. However, + # we can avoid including the MB install step if not enabled at all. This avoids a bunch of + # extra pipeline authorizations, since most pipelines do not sign on non-Windows. + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin (Windows) + inputs: + signType: $(_SignType) + zipSources: false + feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea + ${{ else }}: + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca + env: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + continueOnError: ${{ parameters.continueOnError }} + condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test')) + + - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}: + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin (non-Windows) + inputs: + signType: $(_SignType) + zipSources: false + feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + workingDirectory: ${{ parameters.microBuildOutputFolder }} + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39 + ${{ else }}: + ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc + env: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + continueOnError: ${{ parameters.continueOnError }} + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real')) diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 0623ac6e1123..a9ea99ba6aaa 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -26,15 +26,18 @@ steps: # If the file exists - sensitive data for redaction will be sourced from it # (single entry per line, lines starting with '# ' are considered comments and skipped) arguments: -InputPath '$(System.DefaultWorkingDirectory)/PostBuildLogs' - -BinlogToolVersion ${{parameters.BinlogToolVersion}} + -BinlogToolVersion '${{parameters.BinlogToolVersion}}' -TokensFilePath '$(System.DefaultWorkingDirectory)/eng/BinlogSecretsRedactionFile.txt' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' '$(publishing-dnceng-devdiv-code-r-build-re)' - '$(MaestroAccessToken)' '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' '$(microsoft-symbol-server-pat)' '$(symweb-symbol-server-pat)' + '$(dnceng-symbol-server-pat)' '$(dn-bot-all-orgs-build-rw-code-rw)' + '$(System.AccessToken)' ${{parameters.CustomSensitiveDataList}} continueOnError: true condition: always() @@ -45,6 +48,7 @@ steps: SourceFolder: '$(System.DefaultWorkingDirectory)/PostBuildLogs' Contents: '**' TargetFolder: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' + condition: always() - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml index 7846584d2a77..b9c86c18ae42 100644 --- a/eng/common/core-templates/steps/source-build.yml +++ b/eng/common/core-templates/steps/source-build.yml @@ -11,10 +11,6 @@ parameters: # for details. The entire object is described in the 'job' template for simplicity, even though # the usage of the properties on this object is split between the 'job' and 'steps' templates. platform: {} - - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: false steps: @@ -23,25 +19,12 @@ steps: set -x df -h - # If file changes are detected, set CopyWipIntoInnerSourceBuildRepo to copy the WIP changes into the inner source build repo. - internalRestoreArgs= - if ! git diff --quiet; then - internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true' - # The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo. - # This only works if there is a username/email configured, which won't be the case in most CI runs. - git config --get user.email - if [ $? -ne 0 ]; then - git config user.email dn-bot@microsoft.com - git config user.name dn-bot - fi - fi - # If building on the internal project, the internal storage variable may be available (usually only if needed) # In that case, add variables to allow the download of internal runtimes if the specified versions are not found # in the default public locations. internalRuntimeDownloadArgs= if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then - internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)' + internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey '$(dotnetbuilds-internal-container-read-token-base64)'' fi buildConfig=Release @@ -50,88 +33,33 @@ steps: buildConfig='$(_BuildConfig)' fi - officialBuildArgs= - if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then - officialBuildArgs='/p:DotNetPublishUsingPipelines=true /p:OfficialBuildId=$(BUILD.BUILDNUMBER)' - fi - targetRidArgs= if [ '${{ parameters.platform.targetRID }}' != '' ]; then targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}' fi - runtimeOsArgs= - if [ '${{ parameters.platform.runtimeOS }}' != '' ]; then - runtimeOsArgs='/p:RuntimeOS=${{ parameters.platform.runtimeOS }}' - fi - - baseOsArgs= - if [ '${{ parameters.platform.baseOS }}' != '' ]; then - baseOsArgs='/p:BaseOS=${{ parameters.platform.baseOS }}' - fi - - publishArgs= - if [ '${{ parameters.platform.skipPublishValidation }}' != 'true' ]; then - publishArgs='--publish' - fi - - assetManifestFileName=SourceBuild_RidSpecific.xml - if [ '${{ parameters.platform.name }}' != '' ]; then - assetManifestFileName=SourceBuild_${{ parameters.platform.name }}.xml + portableBuildArgs= + if [ '${{ parameters.platform.portableBuild }}' != '' ]; then + portableBuildArgs='/p:PortableBuild=${{ parameters.platform.portableBuild }}' fi ${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \ --configuration $buildConfig \ - --restore --build --pack $publishArgs -bl \ + --restore --build --pack -bl \ + --source-build \ ${{ parameters.platform.buildArguments }} \ - $officialBuildArgs \ $internalRuntimeDownloadArgs \ - $internalRestoreArgs \ $targetRidArgs \ - $runtimeOsArgs \ - $baseOsArgs \ - /p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \ - /p:ArcadeBuildFromSource=true \ - /p:DotNetBuildSourceOnly=true \ - /p:DotNetBuildRepo=true \ - /p:AssetManifestFileName=$assetManifestFileName + $portableBuildArgs \ displayName: Build -# Upload build logs for diagnosis. -- task: CopyFiles@2 - displayName: Prepare BuildLogs staging directory - inputs: - SourceFolder: '$(System.DefaultWorkingDirectory)' - Contents: | - **/*.log - **/*.binlog - artifacts/sb/prebuilt-report/** - TargetFolder: '$(Build.StagingDirectory)/BuildLogs' - CleanTargetFolder: true - continueOnError: true - condition: succeededOrFailed() - - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: displayName: Publish BuildLogs - targetPath: '$(Build.StagingDirectory)/BuildLogs' + targetPath: artifacts/log/${{ coalesce(variables._BuildConfig, 'Release') }} artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt) continueOnError: true condition: succeededOrFailed() sbomEnabled: false # we don't need SBOM for logs - -# Manually inject component detection so that we can ignore the source build upstream cache, which contains -# a nupkg cache of input packages (a local feed). -# This path must match the upstream cache path in property 'CurrentRepoSourceBuiltNupkgCacheDir' -# in src\Microsoft.DotNet.Arcade.Sdk\tools\SourceBuild\SourceBuildArcade.targets -- template: /eng/common/core-templates/steps/component-governance.yml - parameters: - displayName: Component Detection (Exclude upstream cache) - is1ESPipeline: ${{ parameters.is1ESPipeline }} - ${{ if eq(length(parameters.componentGovernanceIgnoreDirectories), 0) }}: - componentGovernanceIgnoreDirectories: '$(System.DefaultWorkingDirectory)/artifacts/sb/src/artifacts/obj/source-built-upstream-cache' - ${{ else }}: - componentGovernanceIgnoreDirectories: ${{ join(',', parameters.componentGovernanceIgnoreDirectories) }} - disableComponentGovernance: ${{ eq(variables['System.TeamProject'], 'public') }} diff --git a/eng/common/core-templates/steps/source-index-stage1-publish.yml b/eng/common/core-templates/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..e9a694afa58e --- /dev/null +++ b/eng/common/core-templates/steps/source-index-stage1-publish.yml @@ -0,0 +1,35 @@ +parameters: + sourceIndexUploadPackageVersion: 2.0.0-20250818.1 + sourceIndexProcessBinlogPackageVersion: 1.0.1-20250818.1 + sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json + binlogPath: artifacts/log/Debug/Build.binlog + +steps: +- task: UseDotNet@2 + displayName: "Source Index: Use .NET 9 SDK" + inputs: + packageType: sdk + version: 9.0.x + installationPath: $(Agent.TempDirectory)/dotnet + workingDirectory: $(Agent.TempDirectory) + +- script: | + $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + displayName: "Source Index: Download netsourceindex Tools" + # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. + workingDirectory: $(Agent.TempDirectory) + +- script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i ${{parameters.BinlogPath}} -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output + displayName: "Source Index: Process Binlog into indexable sln" + +- ${{ if and(ne(parameters.runAsPublic, 'true'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - task: AzureCLI@2 + displayName: "Source Index: Upload Source Index stage1 artifacts to Azure" + inputs: + azureSubscription: 'SourceDotNet Stage1 Publish' + addSpnToEnvironment: true + scriptType: 'ps' + scriptLocation: 'inlineScript' + inlineScript: | + $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1 diff --git a/eng/common/cross/arm64/tizen/tizen.patch b/eng/common/cross/arm64/tizen/tizen.patch index af7c8be05906..2cebc547382e 100644 --- a/eng/common/cross/arm64/tizen/tizen.patch +++ b/eng/common/cross/arm64/tizen/tizen.patch @@ -5,5 +5,5 @@ diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf64-littleaarch64) --GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) ) +-GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-aarch64.so.1 ) ) +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-aarch64.so.1 ) ) diff --git a/eng/common/cross/build-android-rootfs.sh b/eng/common/cross/build-android-rootfs.sh index 7e9ba2b75ed3..fbd8d80848a6 100755 --- a/eng/common/cross/build-android-rootfs.sh +++ b/eng/common/cross/build-android-rootfs.sh @@ -6,10 +6,11 @@ usage() { echo "Creates a toolchain and sysroot used for cross-compiling for Android." echo - echo "Usage: $0 [BuildArch] [ApiLevel]" + echo "Usage: $0 [BuildArch] [ApiLevel] [--ndk NDKVersion]" echo echo "BuildArch is the target architecture of Android. Currently only arm64 is supported." echo "ApiLevel is the target Android API level. API levels usually match to Android releases. See https://source.android.com/source/build-numbers.html" + echo "NDKVersion is the version of Android NDK. The default is r21. See https://developer.android.com/ndk/downloads/revision_history" echo echo "By default, the toolchain and sysroot will be generated in cross/android-rootfs/toolchain/[BuildArch]. You can change this behavior" echo "by setting the TOOLCHAIN_DIR environment variable" @@ -25,10 +26,15 @@ __BuildArch=arm64 __AndroidArch=aarch64 __AndroidToolchain=aarch64-linux-android -for i in "$@" - do - lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")" - case $lowerI in +while :; do + if [[ "$#" -le 0 ]]; then + break + fi + + i=$1 + + lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")" + case $lowerI in -?|-h|--help) usage exit 1 @@ -43,6 +49,10 @@ for i in "$@" __AndroidArch=arm __AndroidToolchain=arm-linux-androideabi ;; + --ndk) + shift + __NDK_Version=$1 + ;; *[0-9]) __ApiLevel=$i ;; @@ -50,8 +60,17 @@ for i in "$@" __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i" ;; esac + shift done +if [[ "$__NDK_Version" == "r21" ]] || [[ "$__NDK_Version" == "r22" ]]; then + __NDK_File_Arch_Spec=-x86_64 + __SysRoot=sysroot +else + __NDK_File_Arch_Spec= + __SysRoot=toolchains/llvm/prebuilt/linux-x86_64/sysroot +fi + # Obtain the location of the bash script to figure out where the root of the repo is. __ScriptBaseDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -78,6 +97,7 @@ fi echo "Target API level: $__ApiLevel" echo "Target architecture: $__BuildArch" +echo "NDK version: $__NDK_Version" echo "NDK location: $__NDK_Dir" echo "Target Toolchain location: $__ToolchainDir" @@ -85,8 +105,8 @@ echo "Target Toolchain location: $__ToolchainDir" if [ ! -d $__NDK_Dir ]; then echo Downloading the NDK into $__NDK_Dir mkdir -p $__NDK_Dir - wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux-x86_64.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip - unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip -d $__CrossDir + wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux$__NDK_File_Arch_Spec.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux.zip + unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux.zip -d $__CrossDir fi if [ ! -d $__lldb_Dir ]; then @@ -116,16 +136,11 @@ for path in $(wget -qO- https://packages.termux.dev/termux-main-21/dists/stable/ fi done -cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/sysroot/usr/" +cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/$__SysRoot/usr/" # Generate platform file for build.sh script to assign to __DistroRid echo "Generating platform file..." -echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/sysroot/android_platform - -echo "Now to build coreclr, libraries and installers; run:" -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory coreclr -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory libraries -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory installer +echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/$__SysRoot/android_platform + +echo "Now to build coreclr, libraries and host; run:" +echo ROOTFS_DIR=$(realpath $__ToolchainDir/$__SysRoot) ./build.sh clr+libs+host --cross --arch $__BuildArch diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 4b5e8d7166bd..8abfb71f7275 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -5,7 +5,7 @@ set -e usage() { echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir ]" - echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86" + echo "BuildArch can be: arm(default), arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64, x86" echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine" echo " for alpine can be specified with version: alpineX.YY or alpineedge" echo " for FreeBSD can be: freebsd13, freebsd14" @@ -15,6 +15,7 @@ usage() echo "llvmx[.y] - optional, LLVM version for LLVM related packages." echo "--skipunmount - optional, will skip the unmount of rootfs folder." echo "--skipsigcheck - optional, will skip package signature checks (allowing untrusted packages)." + echo "--skipemulation - optional, will skip qemu and debootstrap requirement when building environment for debian based systems." echo "--use-mirror - optional, use mirror URL to fetch resources, when available." echo "--jobs N - optional, restrict to N jobs." exit 1 @@ -52,28 +53,27 @@ __UbuntuPackages+=" symlinks" __UbuntuPackages+=" libicu-dev" __UbuntuPackages+=" liblttng-ust-dev" __UbuntuPackages+=" libunwind8-dev" -__UbuntuPackages+=" libnuma-dev" __AlpinePackages+=" gettext-dev" __AlpinePackages+=" icu-dev" __AlpinePackages+=" libunwind-dev" __AlpinePackages+=" lttng-ust-dev" __AlpinePackages+=" compiler-rt" -__AlpinePackages+=" numactl-dev" # runtime libraries' dependencies __UbuntuPackages+=" libcurl4-openssl-dev" __UbuntuPackages+=" libkrb5-dev" __UbuntuPackages+=" libssl-dev" __UbuntuPackages+=" zlib1g-dev" +__UbuntuPackages+=" libbrotli-dev" __AlpinePackages+=" curl-dev" __AlpinePackages+=" krb5-dev" __AlpinePackages+=" openssl-dev" __AlpinePackages+=" zlib-dev" -__FreeBSDBase="13.3-RELEASE" -__FreeBSDPkg="1.17.0" +__FreeBSDBase="13.4-RELEASE" +__FreeBSDPkg="1.21.3" __FreeBSDABI="13" __FreeBSDPackages="libunwind" __FreeBSDPackages+=" icu" @@ -91,18 +91,18 @@ __HaikuPackages="gcc_syslibs" __HaikuPackages+=" gcc_syslibs_devel" __HaikuPackages+=" gmp" __HaikuPackages+=" gmp_devel" -__HaikuPackages+=" icu66" -__HaikuPackages+=" icu66_devel" +__HaikuPackages+=" icu[0-9]+" +__HaikuPackages+=" icu[0-9]*_devel" __HaikuPackages+=" krb5" __HaikuPackages+=" krb5_devel" __HaikuPackages+=" libiconv" __HaikuPackages+=" libiconv_devel" -__HaikuPackages+=" llvm12_libunwind" -__HaikuPackages+=" llvm12_libunwind_devel" +__HaikuPackages+=" llvm[0-9]*_libunwind" +__HaikuPackages+=" llvm[0-9]*_libunwind_devel" __HaikuPackages+=" mpfr" __HaikuPackages+=" mpfr_devel" -__HaikuPackages+=" openssl" -__HaikuPackages+=" openssl_devel" +__HaikuPackages+=" openssl3" +__HaikuPackages+=" openssl3_devel" __HaikuPackages+=" zlib" __HaikuPackages+=" zlib_devel" @@ -128,10 +128,12 @@ __AlpineKeys=' 616adfeb:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU\npNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X\n0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6\nADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ\nraQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy\nKLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj\n/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H\nKuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs\nmFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1\n/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq\nXIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4\nVORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ== 616ae350:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0\nXkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ\npiM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46\nxLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP\nODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM\nEyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr\nDzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+\nf53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF\nHwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk\nOk9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6\n9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT\nJZDr++FjKrnnijbyNF8b98UCAwEAAQ== 616db30d:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0\nlIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm\na6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw\ntO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C\nUS/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP\nhP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv\nLSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0\nx9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF\nwmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG\nLPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV\nGZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C\n8CM1S15HxV78s9dFntEqIokCAwEAAQ== +66ba20fe:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfB12w4ZgqsXWZDfUAV/\n6Y4aHUKIu3q4SXrNZ7CXF9nXoAVYrS7NAxJdAodsY3vPCN0g5O8DFXR+390LdOuQ\n+HsGKCc1k5tX5ZXld37EZNTNSbR0k+NKhd9h6X3u6wqPOx7SIKxwAQR8qeeFq4pP\nrt9GAGlxtuYgzIIcKJPwE0dZlcBCg+GnptCUZXp/38BP1eYC+xTXSL6Muq1etYfg\nodXdb7Yl+2h1IHuOwo5rjgY5kpY7GcAs8AjGk3lDD/av60OTYccknH0NCVSmPoXK\nvrxDBOn0LQRNBLcAfnTKgHrzy0Q5h4TNkkyTgxkoQw5ObDk9nnabTxql732yy9BY\ns+hM9+dSFO1HKeVXreYSA2n1ndF18YAvAumzgyqzB7I4pMHXq1kC/8bONMJxwSkS\nYm6CoXKyavp7RqGMyeVpRC7tV+blkrrUml0BwNkxE+XnwDRB3xDV6hqgWe0XrifD\nYTfvd9ScZQP83ip0r4IKlq4GMv/R5shcCRJSkSZ6QSGshH40JYSoiwJf5FHbj9ND\n7do0UAqebWo4yNx63j/wb2ULorW3AClv0BCFSdPsIrCStiGdpgJDBR2P2NZOCob3\nG9uMj+wJD6JJg2nWqNJxkANXX37Qf8plgzssrhrgOvB0fjjS7GYhfkfmZTJ0wPOw\nA8+KzFseBh4UFGgue78KwgkCAwEAAQ== ' __Keyring= __KeyringFile="/usr/share/keyrings/ubuntu-archive-keyring.gpg" __SkipSigCheck=0 +__SkipEmulation=0 __UseMirror=0 __UnprocessedBuildArgs= @@ -162,9 +164,13 @@ while :; do armel) __BuildArch=armel __UbuntuArch=armel - __UbuntuRepo="http://ftp.debian.org/debian/" - __CodeName=jessie + __UbuntuRepo="http://archive.debian.org/debian/" + __CodeName=buster __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + __LLDB_Package="liblldb-6.0-dev" + __UbuntuPackages="${__UbuntuPackages// libomp-dev/}" + __UbuntuPackages="${__UbuntuPackages// libomp5/}" + __UbuntuSuites= ;; armv6) __BuildArch=armv6 @@ -180,6 +186,18 @@ while :; do __Keyring="--keyring $__KeyringFile" fi ;; + loongarch64) + __BuildArch=loongarch64 + __AlpineArch=loongarch64 + __QEMUArch=loongarch64 + __UbuntuArch=loong64 + __UbuntuSuites=unreleased + __LLDB_Package="liblldb-19-dev" + + if [[ "$__CodeName" == "sid" ]]; then + __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" + fi + ;; riscv64) __BuildArch=riscv64 __AlpineArch=riscv64 @@ -264,44 +282,21 @@ while :; do ;; xenial) # Ubuntu 16.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=xenial - fi - ;; - zesty) # Ubuntu 17.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=zesty - fi + __CodeName=xenial ;; bionic) # Ubuntu 18.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=bionic - fi + __CodeName=bionic ;; focal) # Ubuntu 20.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=focal - fi + __CodeName=focal ;; jammy) # Ubuntu 22.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=jammy - fi + __CodeName=jammy ;; noble) # Ubuntu 24.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=noble - fi - if [[ -n "$__LLDB_Package" ]]; then - __LLDB_Package="liblldb-18-dev" - fi - ;; - jessie) # Debian 8 - __CodeName=jessie - __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" - - if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __CodeName=noble + if [[ -z "$__LLDB_Package" ]]; then + __LLDB_Package="liblldb-19-dev" fi ;; stretch) # Debian 9 @@ -319,7 +314,7 @@ while :; do __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuRepo="http://archive.debian.org/debian/" fi ;; bullseye) # Debian 11 @@ -340,10 +335,28 @@ while :; do ;; sid) # Debian sid __CodeName=sid - __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + __UbuntuSuites= - if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + # Debian-Ports architectures need different values + case "$__UbuntuArch" in + amd64|arm64|armel|armhf|i386|mips64el|ppc64el|riscv64|s390x) + __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + + if [[ -z "$__UbuntuRepo" ]]; then + __UbuntuRepo="http://ftp.debian.org/debian/" + fi + ;; + *) + __KeyringFile="/usr/share/keyrings/debian-ports-archive-keyring.gpg" + + if [[ -z "$__UbuntuRepo" ]]; then + __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" + fi + ;; + esac + + if [[ -e "$__KeyringFile" ]]; then + __Keyring="--keyring $__KeyringFile" fi ;; tizen) @@ -370,7 +383,7 @@ while :; do ;; freebsd14) __CodeName=freebsd - __FreeBSDBase="14.0-RELEASE" + __FreeBSDBase="14.2-RELEASE" __FreeBSDABI="14" __SkipUnmount=1 ;; @@ -388,6 +401,9 @@ while :; do --skipsigcheck) __SkipSigCheck=1 ;; + --skipemulation) + __SkipEmulation=1 + ;; --rootfsdir|-rootfsdir) shift __RootfsDir="$1" @@ -420,16 +436,15 @@ case "$__AlpineVersion" in elif [[ "$__AlpineArch" == "x86" ]]; then __AlpineVersion=3.17 # minimum version that supports lldb-dev __AlpinePackages+=" llvm15-libs" - elif [[ "$__AlpineArch" == "riscv64" ]]; then + elif [[ "$__AlpineArch" == "riscv64" || "$__AlpineArch" == "loongarch64" ]]; then + __AlpineVersion=3.21 # minimum version that supports lldb-dev + __AlpinePackages+=" llvm19-libs" + elif [[ -n "$__AlpineMajorVersion" ]]; then + # use whichever alpine version is provided and select the latest toolchain libs __AlpineLlvmLibsLookup=1 - __AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive) else __AlpineVersion=3.13 # 3.13 to maximize compatibility __AlpinePackages+=" llvm10-libs" - - if [[ "$__AlpineArch" == "armv7" ]]; then - __AlpinePackages="${__AlpinePackages//numactl-dev/}" - fi fi esac @@ -439,15 +454,6 @@ if [[ "$__AlpineVersion" =~ 3\.1[345] ]]; then __AlpinePackages="${__AlpinePackages/compiler-rt/compiler-rt-static}" fi -if [[ "$__BuildArch" == "armel" ]]; then - __LLDB_Package="lldb-3.5-dev" -fi - -if [[ "$__CodeName" == "xenial" && "$__UbuntuArch" == "armhf" ]]; then - # libnuma-dev is not available on armhf for xenial - __UbuntuPackages="${__UbuntuPackages//libnuma-dev/}" -fi - __UbuntuPackages+=" ${__LLDB_Package:-}" if [[ -z "$__UbuntuRepo" ]]; then @@ -496,7 +502,7 @@ if [[ "$__CodeName" == "alpine" ]]; then arch="$(uname -m)" ensureDownloadTool - + if [[ "$__hasWget" == 1 ]]; then wget -P "$__ApkToolsDir" "https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v$__ApkToolsVersion/$arch/apk.static" else @@ -512,11 +518,6 @@ if [[ "$__CodeName" == "alpine" ]]; then echo "$__ApkToolsSHA512SUM $__ApkToolsDir/apk.static" | sha512sum -c chmod +x "$__ApkToolsDir/apk.static" - if [[ -f "/usr/bin/qemu-$__QEMUArch-static" ]]; then - mkdir -p "$__RootfsDir"/usr/bin - cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin" - fi - if [[ "$__AlpineVersion" == "edge" ]]; then version=edge else @@ -536,6 +537,10 @@ if [[ "$__CodeName" == "alpine" ]]; then __ApkSignatureArg="--keys-dir $__ApkKeysDir" fi + if [[ "$__SkipEmulation" == "1" ]]; then + __NoEmulationArg="--no-scripts" + fi + # initialize DB # shellcheck disable=SC2086 "$__ApkToolsDir/apk.static" \ @@ -557,7 +562,7 @@ if [[ "$__CodeName" == "alpine" ]]; then "$__ApkToolsDir/apk.static" \ -X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \ -X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \ - -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" \ + -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" $__NoEmulationArg \ add $__AlpinePackages rm -r "$__ApkToolsDir" @@ -573,7 +578,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then curl -SL "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version fi echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf - echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf + echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf mkdir -p "$__RootfsDir"/tmp # get and build package manager if [[ "$__hasWget" == 1 ]]; then @@ -681,7 +686,7 @@ elif [[ "$__CodeName" == "haiku" ]]; then ensureDownloadTool - echo "Downloading Haiku package tool" + echo "Downloading Haiku package tools" git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 "$__RootfsDir/tmp/script" if [[ "$__hasWget" == 1 ]]; then wget -O "$__RootfsDir/tmp/download/hosttools.zip" "$("$__RootfsDir/tmp/script/fetch.sh" --hosttools)" @@ -691,34 +696,42 @@ elif [[ "$__CodeName" == "haiku" ]]; then unzip -o "$__RootfsDir/tmp/download/hosttools.zip" -d "$__RootfsDir/tmp/bin" - DepotBaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg" - HpkgBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current" + HaikuBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current" + HaikuPortsBaseUrl="https://eu.hpkg.haiku-os.org/haikuports/master/$__HaikuArch/current" + + echo "Downloading HaikuPorts package repository index..." + if [[ "$__hasWget" == 1 ]]; then + wget -P "$__RootfsDir/tmp/download" "$HaikuPortsBaseUrl/repo" + else + curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HaikuPortsBaseUrl/repo" + fi - # Download Haiku packages echo "Downloading Haiku packages" read -ra array <<<"$__HaikuPackages" for package in "${array[@]}"; do echo "Downloading $package..." - # API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60 - # The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598 + hpkgFilename="$(LD_LIBRARY_PATH="$__RootfsDir/tmp/bin" "$__RootfsDir/tmp/bin/package_repo" list -f "$__RootfsDir/tmp/download/repo" | + grep -E "${package}-" | sort -V | tail -n 1 | xargs)" + if [ -z "$hpkgFilename" ]; then + >&2 echo "ERROR: package $package missing." + exit 1 + fi + echo "Resolved filename: $hpkgFilename..." + hpkgDownloadUrl="$HaikuPortsBaseUrl/packages/$hpkgFilename" if [[ "$__hasWget" == 1 ]]; then - hpkgDownloadUrl="$(wget -qO- --post-data '{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \ - --header 'Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')" wget -P "$__RootfsDir/tmp/download" "$hpkgDownloadUrl" else - hpkgDownloadUrl="$(curl -sSL -XPOST --data '{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \ - --header 'Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')" curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$hpkgDownloadUrl" fi done for package in haiku haiku_devel; do echo "Downloading $package..." if [[ "$__hasWget" == 1 ]]; then - hpkgVersion="$(wget -qO- "$HpkgBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" - wget -P "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" + hpkgVersion="$(wget -qO- "$HaikuBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" + wget -P "$__RootfsDir/tmp/download" "$HaikuBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" else - hpkgVersion="$(curl -sSL "$HpkgBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" - curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" + hpkgVersion="$(curl -sSL "$HaikuBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" + curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HaikuBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" fi done @@ -744,25 +757,67 @@ elif [[ "$__CodeName" == "haiku" ]]; then popd rm -rf "$__RootfsDir/tmp" elif [[ -n "$__CodeName" ]]; then + __Suites="$__CodeName $(for suite in $__UbuntuSuites; do echo -n "$__CodeName-$suite "; done)" + + if [[ "$__SkipEmulation" == "1" ]]; then + if [[ -z "$AR" ]]; then + if command -v ar &>/dev/null; then + AR="$(command -v ar)" + elif command -v llvm-ar &>/dev/null; then + AR="$(command -v llvm-ar)" + else + echo "Unable to find ar or llvm-ar on PATH, add them to PATH or set AR environment variable pointing to the available AR tool" + exit 1 + fi + fi + + PYTHON=${PYTHON_EXECUTABLE:-python3} + + # shellcheck disable=SC2086,SC2046 + echo running "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ + $__UbuntuPackages + + # shellcheck disable=SC2086,SC2046 + "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ + $__UbuntuPackages + exit 0 + fi + + __UpdateOptions= if [[ "$__SkipSigCheck" == "0" ]]; then __Keyring="$__Keyring --force-check-gpg" + else + __Keyring= + __UpdateOptions="--allow-unauthenticated --allow-insecure-repositories" fi # shellcheck disable=SC2086 echo running debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" - debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" + # shellcheck disable=SC2086 + if ! debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"; then + echo "debootstrap failed! dumping debootstrap.log" + cat "$__RootfsDir/debootstrap/debootstrap.log" + exit 1 + fi + + rm -rf "$__RootfsDir"/etc/apt/*.{sources,list} "$__RootfsDir"/etc/apt/sources.list.d mkdir -p "$__RootfsDir/etc/apt/sources.list.d/" + + # shellcheck disable=SC2086 cat > "$__RootfsDir/etc/apt/sources.list.d/$__CodeName.sources" < token2) - (token1 < token2) + else: + return -1 if isinstance(token1, str) else 1 + + return len(tokens1) - len(tokens2) + +def compare_debian_versions(version1, version2): + """Compare two Debian package versions.""" + epoch1, upstream1, revision1 = parse_debian_version(version1) + epoch2, upstream2, revision2 = parse_debian_version(version2) + + if epoch1 != epoch2: + return epoch1 - epoch2 + + result = compare_upstream_version(upstream1, upstream2) + if result != 0: + return result + + return compare_upstream_version(revision1, revision2) + +def resolve_dependencies(packages, aliases, desired_packages): + """Recursively resolves dependencies for the desired packages.""" + resolved = [] + to_process = deque(desired_packages) + + while to_process: + current = to_process.popleft() + resolved_package = current if current in packages else aliases.get(current, [None])[0] + + if not resolved_package: + print(f"Error: Package '{current}' was not found in the available packages.") + sys.exit(1) + + if resolved_package not in resolved: + resolved.append(resolved_package) + + deps = packages.get(resolved_package, {}).get("Depends", "") + if deps: + deps = [dep.split(' ')[0] for dep in deps.split(', ') if dep] + for dep in deps: + if dep not in resolved and dep not in to_process and dep in packages: + to_process.append(dep) + + return resolved + +def parse_package_index(content): + """Parses the Packages.gz file and returns package information.""" + packages = {} + aliases = {} + entries = re.split(r'\n\n+', content) + + for entry in entries: + fields = dict(re.findall(r'^(\S+): (.+)$', entry, re.MULTILINE)) + if "Package" in fields: + package_name = fields["Package"] + version = fields.get("Version") + filename = fields.get("Filename") + depends = fields.get("Depends") + provides = fields.get("Provides", None) + + # Only update if package_name is not in packages or if the new version is higher + if package_name not in packages or compare_debian_versions(version, packages[package_name]["Version"]) > 0: + packages[package_name] = { + "Version": version, + "Filename": filename, + "Depends": depends + } + + # Update aliases if package provides any alternatives + if provides: + provides_list = [x.strip() for x in provides.split(",")] + for alias in provides_list: + # Strip version specifiers + alias_name = re.sub(r'\s*\(=.*\)', '', alias) + if alias_name not in aliases: + aliases[alias_name] = [] + if package_name not in aliases[alias_name]: + aliases[alias_name].append(package_name) + + return packages, aliases + +def install_packages(mirror, packages_info, aliases, tmp_dir, extract_dir, ar_tool, desired_packages): + """Downloads .deb files and extracts them.""" + resolved_packages = resolve_dependencies(packages_info, aliases, desired_packages) + print(f"Resolved packages (including dependencies): {resolved_packages}") + + packages_to_download = {} + + for pkg in resolved_packages: + if pkg in packages_info: + packages_to_download[pkg] = packages_info[pkg] + + if pkg in aliases: + for alias in aliases[pkg]: + if alias in packages_info: + packages_to_download[alias] = packages_info[alias] + + asyncio.run(download_deb_files_parallel(mirror, packages_to_download, tmp_dir)) + + package_to_deb_file_map = {} + for pkg in resolved_packages: + pkg_info = packages_info.get(pkg) + if pkg_info: + deb_filename = pkg_info.get("Filename") + if deb_filename: + deb_file_path = os.path.join(tmp_dir, os.path.basename(deb_filename)) + package_to_deb_file_map[pkg] = deb_file_path + + for pkg in reversed(resolved_packages): + deb_file = package_to_deb_file_map.get(pkg) + if deb_file and os.path.exists(deb_file): + extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool) + + print("All done!") + +def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool): + """Extract .deb file contents""" + + os.makedirs(extract_dir, exist_ok=True) + + with tempfile.TemporaryDirectory(dir=tmp_dir) as tmp_subdir: + result = subprocess.run(f"{ar_tool} t {os.path.abspath(deb_file)}", cwd=tmp_subdir, check=True, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + tar_filename = None + for line in result.stdout.decode().splitlines(): + if line.startswith("data.tar"): + tar_filename = line.strip() + break + + if not tar_filename: + raise FileNotFoundError(f"Could not find 'data.tar.*' in {deb_file}.") + + tar_file_path = os.path.join(tmp_subdir, tar_filename) + print(f"Extracting {tar_filename} from {deb_file}..") + + subprocess.run(f"{ar_tool} p {os.path.abspath(deb_file)} {tar_filename} > {tar_file_path}", check=True, shell=True) + + file_extension = os.path.splitext(tar_file_path)[1].lower() + + if file_extension == ".xz": + mode = "r:xz" + elif file_extension == ".gz": + mode = "r:gz" + elif file_extension == ".zst": + # zstd is not supported by standard library yet + decompressed_tar_path = tar_file_path.replace(".zst", "") + with open(tar_file_path, "rb") as zst_file, open(decompressed_tar_path, "wb") as decompressed_file: + dctx = zstandard.ZstdDecompressor() + dctx.copy_stream(zst_file, decompressed_file) + + tar_file_path = decompressed_tar_path + mode = "r" + else: + raise ValueError(f"Unsupported compression format: {file_extension}") + + with tarfile.open(tar_file_path, mode) as tar: + tar.extractall(path=extract_dir, filter='fully_trusted') + +def finalize_setup(rootfsdir): + lib_dir = os.path.join(rootfsdir, 'lib') + usr_lib_dir = os.path.join(rootfsdir, 'usr', 'lib') + + if os.path.exists(lib_dir): + if os.path.islink(lib_dir): + os.remove(lib_dir) + else: + os.makedirs(usr_lib_dir, exist_ok=True) + + for item in os.listdir(lib_dir): + src = os.path.join(lib_dir, item) + dest = os.path.join(usr_lib_dir, item) + + if os.path.isdir(src): + shutil.copytree(src, dest, dirs_exist_ok=True) + else: + shutil.copy2(src, dest) + + shutil.rmtree(lib_dir) + + os.symlink(usr_lib_dir, lib_dir) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Generate rootfs for .NET runtime on Debian-like OS") + parser.add_argument("--distro", required=False, help="Distro name (e.g., debian, ubuntu, etc.)") + parser.add_argument("--arch", required=True, help="Architecture (e.g., amd64, loong64, etc.)") + parser.add_argument("--rootfsdir", required=True, help="Destination directory.") + parser.add_argument('--suite', required=True, action='append', help='Specify one or more repository suites to collect index data.') + parser.add_argument("--mirror", required=False, help="Mirror (e.g., http://ftp.debian.org/debian-ports etc.)") + parser.add_argument("--artool", required=False, default="ar", help="ar tool to extract debs (e.g., ar, llvm-ar etc.)") + parser.add_argument("packages", nargs="+", help="List of package names to be installed.") + + args = parser.parse_args() + + if args.mirror is None: + if args.distro == "ubuntu": + args.mirror = "http://archive.ubuntu.com/ubuntu" if args.arch in ["amd64", "i386"] else "http://ports.ubuntu.com/ubuntu-ports" + elif args.distro == "debian": + args.mirror = "http://ftp.debian.org/debian-ports" + else: + raise Exception("Unsupported distro") + + DESIRED_PACKAGES = args.packages + [ # base packages + "dpkg", + "busybox", + "libc-bin", + "base-files", + "base-passwd", + "debianutils" + ] + + print(f"Creating rootfs. rootfsdir: {args.rootfsdir}, distro: {args.distro}, arch: {args.arch}, suites: {args.suite}, mirror: {args.mirror}") + + package_index_content = asyncio.run(download_package_index_parallel(args.mirror, args.arch, args.suite)) + + packages_info, aliases = parse_package_index(package_index_content) + + with tempfile.TemporaryDirectory() as tmp_dir: + install_packages(args.mirror, packages_info, aliases, tmp_dir, args.rootfsdir, args.artool, DESIRED_PACKAGES) + + finalize_setup(args.rootfsdir) diff --git a/eng/common/cross/tizen-build-rootfs.sh b/eng/common/cross/tizen-build-rootfs.sh old mode 100644 new mode 100755 diff --git a/eng/common/cross/tizen-fetch.sh b/eng/common/cross/tizen-fetch.sh old mode 100644 new mode 100755 index 28936ceef3a7..37c3a61f1de8 --- a/eng/common/cross/tizen-fetch.sh +++ b/eng/common/cross/tizen-fetch.sh @@ -156,13 +156,8 @@ fetch_tizen_pkgs() done } -if [ "$TIZEN_ARCH" == "riscv64" ]; then - BASE="Tizen-Base-RISCV" - UNIFIED="Tizen-Unified-RISCV" -else - BASE="Tizen-Base" - UNIFIED="Tizen-Unified" -fi +BASE="Tizen-Base" +UNIFIED="Tizen-Unified" Inform "Initialize ${TIZEN_ARCH} base" fetch_tizen_pkgs_init standard $BASE diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index 9a7ecfbd42c5..0ff85cf0367e 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -67,6 +67,13 @@ elseif(TARGET_ARCH_NAME STREQUAL "armv6") else() set(TOOLCHAIN "arm-linux-gnueabihf") endif() +elseif(TARGET_ARCH_NAME STREQUAL "loongarch64") + set(CMAKE_SYSTEM_PROCESSOR "loongarch64") + if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/loongarch64-alpine-linux-musl) + set(TOOLCHAIN "loongarch64-alpine-linux-musl") + else() + set(TOOLCHAIN "loongarch64-linux-gnu") + endif() elseif(TARGET_ARCH_NAME STREQUAL "ppc64le") set(CMAKE_SYSTEM_PROCESSOR ppc64le) if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/powerpc64le-alpine-linux-musl) @@ -118,7 +125,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86") set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu") endif() else() - message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!") + message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64 and x86 are supported!") endif() if(DEFINED ENV{TOOLCHAIN}) @@ -148,6 +155,25 @@ if(TIZEN) include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN}) endif() +function(locate_toolchain_exec exec var) + set(TOOLSET_PREFIX ${TOOLCHAIN}-) + string(TOUPPER ${exec} EXEC_UPPERCASE) + if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") + set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) + return() + endif() + + find_program(EXEC_LOCATION_${exec} + NAMES + "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" + "${TOOLSET_PREFIX}${exec}") + + if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") + message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") + endif() + set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) +endfunction() + if(ANDROID) if(TARGET_ARCH_NAME STREQUAL "arm") set(ANDROID_ABI armeabi-v7a) @@ -178,66 +204,24 @@ elseif(FREEBSD) set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld") elseif(ILLUMOS) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") + set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") + set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") include_directories(SYSTEM ${CROSS_ROOTFS}/include) - set(TOOLSET_PREFIX ${TOOLCHAIN}-) - function(locate_toolchain_exec exec var) - string(TOUPPER ${exec} EXEC_UPPERCASE) - if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") - set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) - return() - endif() - - find_program(EXEC_LOCATION_${exec} - NAMES - "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" - "${TOOLSET_PREFIX}${exec}") - - if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") - message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") - endif() - set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) - endfunction() - - set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") - locate_toolchain_exec(gcc CMAKE_C_COMPILER) locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) - - set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") - set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") elseif(HAIKU) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") set(CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH};${CROSS_ROOTFS}/cross-tools-x86_64/bin") - - set(TOOLSET_PREFIX ${TOOLCHAIN}-) - function(locate_toolchain_exec exec var) - string(TOUPPER ${exec} EXEC_UPPERCASE) - if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") - set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) - return() - endif() - - find_program(EXEC_LOCATION_${exec} - NAMES - "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" - "${TOOLSET_PREFIX}${exec}") - - if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") - message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") - endif() - set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) - endfunction() - set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") + set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") locate_toolchain_exec(gcc CMAKE_C_COMPILER) locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) - set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") - set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") - # let CMake set up the correct search paths include(Platform/Haiku) else() @@ -307,7 +291,7 @@ endif() # Specify compile options -if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) +if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh index 36dbd45e1ce8..e889f439b8dc 100755 --- a/eng/common/darc-init.sh +++ b/eng/common/darc-init.sh @@ -68,7 +68,7 @@ function InstallDarcCli { fi fi - local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" + local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" echo "Installing Darc CLI version $darcVersion..." echo "You may need to restart your command shell if this is the first dotnet tool you have installed." diff --git a/eng/common/dotnet.cmd b/eng/common/dotnet.cmd new file mode 100644 index 000000000000..527fa4bb38fb --- /dev/null +++ b/eng/common/dotnet.cmd @@ -0,0 +1,7 @@ +@echo off + +:: This script is used to install the .NET SDK. +:: It will also invoke the SDK with any provided arguments. + +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet.ps1""" %*" +exit /b %ErrorLevel% diff --git a/eng/common/dotnet.ps1 b/eng/common/dotnet.ps1 new file mode 100644 index 000000000000..45e5676c9ebd --- /dev/null +++ b/eng/common/dotnet.ps1 @@ -0,0 +1,11 @@ +# This script is used to install the .NET SDK. +# It will also invoke the SDK with any provided arguments. + +. $PSScriptRoot\tools.ps1 +$dotnetRoot = InitializeDotNetCli -install:$true + +# Invoke acquired SDK with args if they are provided +if ($args.count -gt 0) { + $env:DOTNET_NOLOGO=1 + & "$dotnetRoot\dotnet.exe" $args +} diff --git a/eng/common/dotnet.sh b/eng/common/dotnet.sh new file mode 100755 index 000000000000..2ef68235675f --- /dev/null +++ b/eng/common/dotnet.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# This script is used to install the .NET SDK. +# It will also invoke the SDK with any provided arguments. + +source="${BASH_SOURCE[0]}" +# resolve $SOURCE until the file is no longer a symlink +while [[ -h $source ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +source $scriptroot/tools.sh +InitializeDotNetCli true # install + +# Invoke acquired SDK with args if they are provided +if [[ $# > 0 ]]; then + __dotnetDir=${_InitializeDotNetCli} + dotnetPath=${__dotnetDir}/dotnet + ${dotnetPath} "$@" +fi diff --git a/eng/common/generate-locproject.ps1 b/eng/common/generate-locproject.ps1 index 524aaa57f2b7..fa1cdc2b3007 100644 --- a/eng/common/generate-locproject.ps1 +++ b/eng/common/generate-locproject.ps1 @@ -33,15 +33,27 @@ $jsonTemplateFiles | ForEach-Object { $jsonWinformsTemplateFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\\strings\.json" } # current winforms pattern +$wxlFilesV3 = @() +$wxlFilesV5 = @() $wxlFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\\.+\.wxl" -And -Not( $_.Directory.Name -Match "\d{4}" ) } # localized files live in four digit lang ID directories; this excludes them if (-not $wxlFiles) { $wxlEnFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\\1033\\.+\.wxl" } # pick up en files (1033 = en) specifically so we can copy them to use as the neutral xlf files if ($wxlEnFiles) { - $wxlFiles = @() - $wxlEnFiles | ForEach-Object { - $destinationFile = "$($_.Directory.Parent.FullName)\$($_.Name)" - $wxlFiles += Copy-Item "$($_.FullName)" -Destination $destinationFile -PassThru - } + $wxlFiles = @() + $wxlEnFiles | ForEach-Object { + $destinationFile = "$($_.Directory.Parent.FullName)\$($_.Name)" + $content = Get-Content $_.FullName -Raw + + # Split files on schema to select different parser settings in the generated project. + if ($content -like "*http://wixtoolset.org/schemas/v4/wxl*") + { + $wxlFilesV5 += Copy-Item $_.FullName -Destination $destinationFile -PassThru + } + elseif ($content -like "*http://schemas.microsoft.com/wix/2006/localization*") + { + $wxlFilesV3 += Copy-Item $_.FullName -Destination $destinationFile -PassThru + } + } } } @@ -114,7 +126,32 @@ $locJson = @{ CloneLanguageSet = "WiX_CloneLanguages" LssFiles = @( "wxl_loc.lss" ) LocItems = @( - $wxlFiles | ForEach-Object { + $wxlFilesV3 | ForEach-Object { + $outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\" + $continue = $true + foreach ($exclusion in $exclusions.Exclusions) { + if ($_.FullName.Contains($exclusion)) { + $continue = $false + } + } + $sourceFile = ($_.FullName | Resolve-Path -Relative) + if ($continue) + { + return @{ + SourceFile = $sourceFile + CopyOption = "LangIDOnPath" + OutputPath = $outputPath + } + } + } + ) + }, + @{ + LanguageSet = $LanguageSet + CloneLanguageSet = "WiX_CloneLanguages" + LssFiles = @( "P210WxlSchemaV4.lss" ) + LocItems = @( + $wxlFilesV5 | ForEach-Object { $outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\" $continue = $true foreach ($exclusion in $exclusions.Exclusions) { diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh old mode 100644 new mode 100755 diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh new file mode 100755 index 000000000000..477a44f335be --- /dev/null +++ b/eng/common/native/install-dependencies.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +set -e + +# This is a simple script primarily used for CI to install necessary dependencies +# +# Usage: +# +# ./install-dependencies.sh + +os="$(echo "$1" | tr "[:upper:]" "[:lower:]")" + +if [ -z "$os" ]; then + . "$(dirname "$0")"/init-os-and-arch.sh +fi + +case "$os" in + linux) + if [ -e /etc/os-release ]; then + . /etc/os-release + fi + + if [ "$ID" = "debian" ] || [ "$ID_LIKE" = "debian" ]; then + apt update + + apt install -y build-essential gettext locales cmake llvm clang lld lldb liblldb-dev libunwind8-dev libicu-dev liblttng-ust-dev \ + libssl-dev libkrb5-dev pigz cpio + + localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 + elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ]; then + pkg_mgr="$(command -v tdnf 2>/dev/null || command -v dnf)" + $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio + elif [ "$ID" = "alpine" ]; then + apk add build-base cmake bash curl clang llvm-dev lld lldb krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio + else + echo "Unsupported distro. distro: $ID" + exit 1 + fi + ;; + + osx|maccatalyst|ios|iossimulator|tvos|tvossimulator) + echo "Installed xcode version: $(xcode-select -p)" + + export HOMEBREW_NO_INSTALL_CLEANUP=1 + export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 + # Skip brew update for now, see https://github.com/actions/setup-python/issues/577 + # brew update --preinstall + brew bundle --no-upgrade --file=- < Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." + Write-Host " -excludeCIBinaryLog When running on CI, allow no binary log (short: -nobl)" Write-Host "" Write-Host "Command line arguments not listed above are passed thru to msbuild." } @@ -34,10 +39,11 @@ function Print-Usage() { function Build([string]$target) { $logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" } $log = Join-Path $LogDir "$task$logSuffix.binlog" + $binaryLogArg = if ($binaryLog) { "/bl:$log" } else { "" } $outputPath = Join-Path $ToolsetDir "$task\" MSBuild $taskProject ` - /bl:$log ` + $binaryLogArg ` /t:$target ` /p:Configuration=$configuration ` /p:RepoRoot=$RepoRoot ` @@ -64,7 +70,7 @@ try { $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty } if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { - $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.12.0" -MemberType NoteProperty + $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "18.0.0" -MemberType NoteProperty } if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true diff --git a/eng/common/sdk-task.sh b/eng/common/sdk-task.sh new file mode 100755 index 000000000000..3270f83fa9a7 --- /dev/null +++ b/eng/common/sdk-task.sh @@ -0,0 +1,121 @@ +#!/usr/bin/env bash + +show_usage() { + echo "Common settings:" + echo " --task Name of Arcade task (name of a project in SdkTasks directory of the Arcade SDK package)" + echo " --restore Restore dependencies" + echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]" + echo " --help Print help and exit" + echo "" + + echo "Advanced settings:" + echo " --excludeCIBinarylog Don't output binary log (short: -nobl)" + echo " --noWarnAsError Do not warn as error" + echo "" + echo "Command line arguments not listed above are passed thru to msbuild." +} + +source="${BASH_SOURCE[0]}" + +# resolve $source until the file is no longer a symlink +while [[ -h "$source" ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +Build() { + local target=$1 + local log_suffix="" + [[ "$target" != "Execute" ]] && log_suffix=".$target" + local log="$log_dir/$task$log_suffix.binlog" + local binaryLogArg="" + [[ $binary_log == true ]] && binaryLogArg="/bl:$log" + local output_path="$toolset_dir/$task/" + + MSBuild "$taskProject" \ + $binaryLogArg \ + /t:"$target" \ + /p:Configuration="$configuration" \ + /p:RepoRoot="$repo_root" \ + /p:BaseIntermediateOutputPath="$output_path" \ + /v:"$verbosity" \ + $properties +} + +binary_log=true +configuration="Debug" +verbosity="minimal" +exclude_ci_binary_log=false +restore=false +help=false +properties='' +warnAsError=true + +while (($# > 0)); do + lowerI="$(echo $1 | tr "[:upper:]" "[:lower:]")" + case $lowerI in + --task) + task=$2 + shift 2 + ;; + --restore) + restore=true + shift 1 + ;; + --verbosity) + verbosity=$2 + shift 2 + ;; + --excludecibinarylog|--nobl) + binary_log=false + exclude_ci_binary_log=true + shift 1 + ;; + --noWarnAsError) + warnAsError=false + shift 1 + ;; + --help) + help=true + shift 1 + ;; + *) + properties="$properties $1" + shift 1 + ;; + esac +done + +ci=true + +if $help; then + show_usage + exit 0 +fi + +. "$scriptroot/tools.sh" +InitializeToolset + +if [[ -z "$task" ]]; then + Write-PipelineTelemetryError -Category 'Task' -Name 'MissingTask' -Message "Missing required parameter '-task '" + ExitWithExitCode 1 +fi + +taskProject=$(GetSdkTaskProject "$task") +if [[ ! -e "$taskProject" ]]; then + Write-PipelineTelemetryError -Category 'Task' -Name 'UnknownTask' -Message "Unknown task: $task" + ExitWithExitCode 1 +fi + +if $restore; then + Build "Restore" +fi + +Build "Execute" + + +ExitWithExitCode 0 diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config index 4585cfd6bba1..e5f543ea68c2 100644 --- a/eng/common/sdl/packages.config +++ b/eng/common/sdl/packages.config @@ -1,4 +1,4 @@ - + diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index 81ea7a261f2d..92a0664f5647 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -31,6 +31,7 @@ jobs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts' ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked continueOnError: true - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - output: pipelineArtifact @@ -39,6 +40,7 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked sbomEnabled: false # we don't need SBOM for logs - ${{ if eq(parameters.enablePublishBuildArtifacts, true) }}: @@ -46,7 +48,7 @@ jobs: displayName: Publish Logs PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' publishLocation: Container - ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} + ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() sbomEnabled: false # we don't need SBOM for logs diff --git a/eng/common/templates-official/steps/publish-build-artifacts.yml b/eng/common/templates-official/steps/publish-build-artifacts.yml index 100a3fc98493..fcf6637b2ebc 100644 --- a/eng/common/templates-official/steps/publish-build-artifacts.yml +++ b/eng/common/templates-official/steps/publish-build-artifacts.yml @@ -24,6 +24,10 @@ parameters: - name: is1ESPipeline type: boolean default: true + +- name: retryCountOnTaskFailure + type: string + default: 10 steps: - ${{ if ne(parameters.is1ESPipeline, true) }}: @@ -38,4 +42,5 @@ steps: PathtoPublish: ${{ parameters.pathToPublish }} ${{ if parameters.artifactName }}: ArtifactName: ${{ parameters.artifactName }} - + ${{ if parameters.retryCountOnTaskFailure }}: + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} diff --git a/eng/common/templates-official/steps/source-index-stage1-publish.yml b/eng/common/templates-official/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..9b8b80942b5c --- /dev/null +++ b/eng/common/templates-official/steps/source-index-stage1-publish.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + is1ESPipeline: true + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index 5bdd3dd85fd2..238fa0818f7b 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -46,6 +46,7 @@ jobs: artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: @@ -56,6 +57,7 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked sbomEnabled: false # we don't need SBOM for logs - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}: @@ -66,7 +68,7 @@ jobs: displayName: Publish Logs pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' publishLocation: Container - artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} + artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() diff --git a/eng/common/templates/steps/publish-build-artifacts.yml b/eng/common/templates/steps/publish-build-artifacts.yml index 6428a98dfef6..605e602e94d1 100644 --- a/eng/common/templates/steps/publish-build-artifacts.yml +++ b/eng/common/templates/steps/publish-build-artifacts.yml @@ -25,6 +25,10 @@ parameters: type: string default: 'Container' +- name: retryCountOnTaskFailure + type: string + default: 10 + steps: - ${{ if eq(parameters.is1ESPipeline, true) }}: - 'eng/common/templates cannot be referenced from a 1ES managed template': error @@ -37,4 +41,6 @@ steps: PublishLocation: ${{ parameters.publishLocation }} PathtoPublish: ${{ parameters.pathToPublish }} ${{ if parameters.artifactName }}: - ArtifactName: ${{ parameters.artifactName }} \ No newline at end of file + ArtifactName: ${{ parameters.artifactName }} + ${{ if parameters.retryCountOnTaskFailure }}: + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} diff --git a/eng/common/templates/steps/source-index-stage1-publish.yml b/eng/common/templates/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..182cec33a7bb --- /dev/null +++ b/eng/common/templates/steps/source-index-stage1-publish.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + is1ESPipeline: false + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates/steps/vmr-sync.yml b/eng/common/templates/steps/vmr-sync.yml new file mode 100644 index 000000000000..eb619c502683 --- /dev/null +++ b/eng/common/templates/steps/vmr-sync.yml @@ -0,0 +1,186 @@ +### These steps synchronize new code from product repositories into the VMR (https://github.com/dotnet/dotnet). +### They initialize the darc CLI and pull the new updates. +### Changes are applied locally onto the already cloned VMR (located in $vmrPath). + +parameters: +- name: targetRef + displayName: Target revision in dotnet/ to synchronize + type: string + default: $(Build.SourceVersion) + +- name: vmrPath + displayName: Path where the dotnet/dotnet is checked out to + type: string + default: $(Agent.BuildDirectory)/vmr + +- name: additionalSyncs + displayName: Optional list of package names whose repo's source will also be synchronized in the local VMR, e.g. NuGet.Protocol + type: object + default: [] + +steps: +- checkout: vmr + displayName: Clone dotnet/dotnet + path: vmr + clean: true + +- checkout: self + displayName: Clone $(Build.Repository.Name) + path: repo + fetchDepth: 0 + +# This step is needed so that when we get a detached HEAD / shallow clone, +# we still pull the commit into the temporary repo clone to use it during the sync. +# Also unshallow the clone so that forwardflow command would work. +- script: | + git branch repo-head + git rev-parse HEAD + displayName: Label PR commit + workingDirectory: $(Agent.BuildDirectory)/repo + +- script: | + git config --global user.name "dotnet-maestro[bot]" + git config --global user.email "dotnet-maestro[bot]@users.noreply.github.com" + displayName: Set git author to dotnet-maestro[bot] + workingDirectory: ${{ parameters.vmrPath }} + +- script: | + ./eng/common/vmr-sync.sh \ + --vmr ${{ parameters.vmrPath }} \ + --tmp $(Agent.TempDirectory) \ + --azdev-pat '$(dn-bot-all-orgs-code-r)' \ + --ci \ + --debug + + if [ "$?" -ne 0 ]; then + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + fi + displayName: Sync repo into VMR (Unix) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + +- script: | + git config --global diff.astextplain.textconv echo + git config --system core.longpaths true + displayName: Configure Windows git (longpaths, astextplain) + condition: eq(variables['Agent.OS'], 'Windows_NT') + +- powershell: | + ./eng/common/vmr-sync.ps1 ` + -vmr ${{ parameters.vmrPath }} ` + -tmp $(Agent.TempDirectory) ` + -azdevPat '$(dn-bot-all-orgs-code-r)' ` + -ci ` + -debugOutput + + if ($LASTEXITCODE -ne 0) { + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + } + displayName: Sync repo into VMR (Windows) + condition: eq(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + +- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: + - task: CopyFiles@2 + displayName: Collect failed patches + condition: failed() + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: '*.patch' + TargetFolder: '$(Build.ArtifactStagingDirectory)/FailedPatches' + + - publish: '$(Build.ArtifactStagingDirectory)/FailedPatches' + artifact: $(System.JobDisplayName)_FailedPatches + displayName: Upload failed patches + condition: failed() + +- ${{ each assetName in parameters.additionalSyncs }}: + # The vmr-sync script ends up staging files in the local VMR so we have to commit those + - script: + git commit --allow-empty -am "Forward-flow $(Build.Repository.Name)" + displayName: Commit local VMR changes + workingDirectory: ${{ parameters.vmrPath }} + + - script: | + set -ex + + echo "Searching for details of asset ${{ assetName }}..." + + # Use darc to get dependencies information + dependencies=$(./.dotnet/dotnet darc get-dependencies --name '${{ assetName }}' --ci) + + # Extract repository URL and commit hash + repository=$(echo "$dependencies" | grep 'Repo:' | sed 's/Repo:[[:space:]]*//' | head -1) + + if [ -z "$repository" ]; then + echo "##vso[task.logissue type=error]Asset ${{ assetName }} not found in the dependency list" + exit 1 + fi + + commit=$(echo "$dependencies" | grep 'Commit:' | sed 's/Commit:[[:space:]]*//' | head -1) + + echo "Updating the VMR from $repository / $commit..." + cd .. + git clone $repository ${{ assetName }} + cd ${{ assetName }} + git checkout $commit + git branch "sync/$commit" + + ./eng/common/vmr-sync.sh \ + --vmr ${{ parameters.vmrPath }} \ + --tmp $(Agent.TempDirectory) \ + --azdev-pat '$(dn-bot-all-orgs-code-r)' \ + --ci \ + --debug + + if [ "$?" -ne 0 ]; then + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + fi + displayName: Sync ${{ assetName }} into (Unix) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + + - powershell: | + $ErrorActionPreference = 'Stop' + + Write-Host "Searching for details of asset ${{ assetName }}..." + + $dependencies = .\.dotnet\dotnet darc get-dependencies --name '${{ assetName }}' --ci + + $repository = $dependencies | Select-String -Pattern 'Repo:\s+([^\s]+)' | Select-Object -First 1 + $repository -match 'Repo:\s+([^\s]+)' | Out-Null + $repository = $matches[1] + + if ($repository -eq $null) { + Write-Error "Asset ${{ assetName }} not found in the dependency list" + exit 1 + } + + $commit = $dependencies | Select-String -Pattern 'Commit:\s+([^\s]+)' | Select-Object -First 1 + $commit -match 'Commit:\s+([^\s]+)' | Out-Null + $commit = $matches[1] + + Write-Host "Updating the VMR from $repository / $commit..." + cd .. + git clone $repository ${{ assetName }} + cd ${{ assetName }} + git checkout $commit + git branch "sync/$commit" + + .\eng\common\vmr-sync.ps1 ` + -vmr ${{ parameters.vmrPath }} ` + -tmp $(Agent.TempDirectory) ` + -azdevPat '$(dn-bot-all-orgs-code-r)' ` + -ci ` + -debugOutput + + if ($LASTEXITCODE -ne 0) { + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + } + displayName: Sync ${{ assetName }} into (Windows) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/eng/common/templates/vmr-build-pr.yml b/eng/common/templates/vmr-build-pr.yml new file mode 100644 index 000000000000..2f3694fa1323 --- /dev/null +++ b/eng/common/templates/vmr-build-pr.yml @@ -0,0 +1,43 @@ +# This pipeline is used for running the VMR verification of the PR changes in repo-level PRs. +# +# It will run a full set of verification jobs defined in: +# https://github.com/dotnet/dotnet/blob/10060d128e3f470e77265f8490f5e4f72dae738e/eng/pipelines/templates/stages/vmr-build.yml#L27-L38 +# +# For repos that do not need to run the full set, you would do the following: +# +# 1. Copy this YML file to a repo-specific location, i.e. outside of eng/common. +# +# 2. Add `verifications` parameter to VMR template reference +# +# Examples: +# - For source-build stage 1 verification, add the following: +# verifications: [ "source-build-stage1" ] +# +# - For Windows only verifications, add the following: +# verifications: [ "unified-build-windows-x64", "unified-build-windows-x86" ] + +trigger: none +pr: none + +variables: +- template: /eng/common/templates/variables/pool-providers.yml@self + +- name: skipComponentGovernanceDetection # we run CG on internal builds only + value: true + +- name: Codeql.Enabled # we run CodeQL on internal builds only + value: false + +resources: + repositories: + - repository: vmr + type: github + name: dotnet/dotnet + endpoint: dotnet + ref: refs/heads/main # Set to whatever VMR branch the PR build should insert into + +stages: +- template: /eng/pipelines/templates/stages/vmr-build.yml@vmr + parameters: + isBuiltFromVmr: false + scope: lite diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index a06513a59407..977a2d4b1039 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -65,10 +65,8 @@ $ErrorActionPreference = 'Stop' # Base-64 encoded SAS token that has permission to storage container described by $runtimeSourceFeed [string]$runtimeSourceFeedKey = if (Test-Path variable:runtimeSourceFeedKey) { $runtimeSourceFeedKey } else { $null } -# True if the build is a product build -[bool]$productBuild = if (Test-Path variable:productBuild) { $productBuild } else { $false } - -[String[]]$properties = if (Test-Path variable:properties) { $properties } else { @() } +# True when the build is running within the VMR. +[bool]$fromVMR = if (Test-Path variable:fromVMR) { $fromVMR } else { $false } function Create-Directory ([string[]] $path) { New-Item -Path $path -Force -ItemType 'Directory' | Out-Null @@ -259,7 +257,20 @@ function Retry($downloadBlock, $maxRetries = 5) { function GetDotNetInstallScript([string] $dotnetRoot) { $installScript = Join-Path $dotnetRoot 'dotnet-install.ps1' + $shouldDownload = $false + if (!(Test-Path $installScript)) { + $shouldDownload = $true + } else { + # Check if the script is older than 30 days + $fileAge = (Get-Date) - (Get-Item $installScript).LastWriteTime + if ($fileAge.Days -gt 30) { + Write-Host "Existing install script is too old, re-downloading..." + $shouldDownload = $true + } + } + + if ($shouldDownload) { Create-Directory $dotnetRoot $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit $uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1" @@ -383,8 +394,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = # If the version of msbuild is going to be xcopied, # use this version. Version matches a package here: - # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.12.0 - $defaultXCopyMSBuildVersion = '17.12.0' + # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/18.0.0 + $defaultXCopyMSBuildVersion = '18.0.0' if (!$vsRequirements) { if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') { @@ -533,7 +544,8 @@ function LocateVisualStudio([object]$vsRequirements = $null){ if (Get-Member -InputObject $GlobalJson.tools -Name 'vswhere') { $vswhereVersion = $GlobalJson.tools.vswhere } else { - $vswhereVersion = '2.5.2' + # keep this in sync with the VSWhereVersion in DefaultVersions.props + $vswhereVersion = '3.1.7' } $vsWhereDir = Join-Path $ToolsDir "vswhere\$vswhereVersion" @@ -541,7 +553,8 @@ function LocateVisualStudio([object]$vsRequirements = $null){ if (!(Test-Path $vsWhereExe)) { Create-Directory $vsWhereDir - Write-Host 'Downloading vswhere' + Write-Host "Downloading vswhere $vswhereVersion" + $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit Retry({ Invoke-WebRequest "https://netcorenativeassets.blob.core.windows.net/resource-packages/external/windows/vswhere/$vswhereVersion/vswhere.exe" -UseBasicParsing -OutFile $vswhereExe }) @@ -611,14 +624,7 @@ function InitializeBuildTool() { } $dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') - # Use override if it exists - commonly set by source-build - if ($null -eq $env:_OverrideArcadeInitializeBuildToolFramework) { - $initializeBuildToolFramework="net9.0" - } else { - $initializeBuildToolFramework=$env:_OverrideArcadeInitializeBuildToolFramework - } - - $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = $initializeBuildToolFramework } + $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'net' } } elseif ($msbuildEngine -eq "vs") { try { $msbuildPath = InitializeVisualStudioMSBuild -install:$restore @@ -627,7 +633,7 @@ function InitializeBuildTool() { ExitWithExitCode 1 } - $buildTool = @{ Path = $msbuildPath; Command = ""; Tool = "vs"; Framework = "net472"; ExcludePrereleaseVS = $excludePrereleaseVS } + $buildTool = @{ Path = $msbuildPath; Command = ""; Tool = "vs"; Framework = "netframework"; ExcludePrereleaseVS = $excludePrereleaseVS } } else { Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Unexpected value of -msbuildEngine: '$msbuildEngine'." ExitWithExitCode 1 @@ -660,7 +666,6 @@ function GetNuGetPackageCachePath() { $env:NUGET_PACKAGES = Join-Path $env:UserProfile '.nuget\packages\' } else { $env:NUGET_PACKAGES = Join-Path $RepoRoot '.packages\' - $env:RESTORENOHTTPCACHE = $true } } @@ -782,26 +787,13 @@ function MSBuild() { $toolsetBuildProject = InitializeToolset $basePath = Split-Path -parent $toolsetBuildProject - $possiblePaths = @( - # new scripts need to work with old packages, so we need to look for the old names/versions - (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.Arcade.Sdk.dll')), - (Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.Arcade.Sdk.dll')), - (Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.Arcade.Sdk.dll')) - ) - $selectedPath = $null - foreach ($path in $possiblePaths) { - if (Test-Path $path -PathType Leaf) { - $selectedPath = $path - break - } - } + $selectedPath = Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll') + if (-not $selectedPath) { - Write-PipelineTelemetryError -Category 'Build' -Message 'Unable to find arcade sdk logger assembly.' + Write-PipelineTelemetryError -Category 'Build' -Message "Unable to find arcade sdk logger assembly: $selectedPath" ExitWithExitCode 1 } + $args += "/logger:$selectedPath" } @@ -832,6 +824,11 @@ function MSBuild-Core() { $cmdArgs = "$($buildTool.Command) /m /nologo /clp:Summary /v:$verbosity /nr:$nodeReuse /p:ContinuousIntegrationBuild=$ci" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + if ($env:MSBUILD_MT_ENABLED -eq "1") { + $cmdArgs += ' -mt' + } + if ($warnAsError) { $cmdArgs += ' /warnaserror /p:TreatWarningsAsErrors=true' } @@ -864,8 +861,8 @@ function MSBuild-Core() { } # When running on Azure Pipelines, override the returned exit code to avoid double logging. - # Skip this when the build is a child of the VMR orchestrator build. - if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$productBuild -and -not($properties -like "*DotNetBuildRepo=true*")) { + # Skip this when the build is a child of the VMR build. + if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$fromVMR) { Write-PipelineSetResult -Result "Failed" -Message "msbuild execution failed." # Exiting with an exit code causes the azure pipelines task to log yet another "noise" error # The above Write-PipelineSetResult will cause the task to be marked as failure without adding yet another error diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 01b09b65796c..1b296f646c23 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -5,6 +5,9 @@ # CI mode - set to true on CI server for PR validation build or official build. ci=${ci:-false} +# Build mode +source_build=${source_build:-false} + # Set to true to use the pipelines logger which will enable Azure logging output. # https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md # This flag is meant as a temporary opt-opt for the feature while validate it across @@ -58,7 +61,8 @@ use_installed_dotnet_cli=${use_installed_dotnet_cli:-true} dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'} # True to use global NuGet cache instead of restoring packages to repository-local directory. -if [[ "$ci" == true ]]; then +# Keep in sync with NuGetPackageroot in Arcade SDK's RepositoryLayout.props. +if [[ "$ci" == true || "$source_build" == true ]]; then use_global_nuget_cache=${use_global_nuget_cache:-false} else use_global_nuget_cache=${use_global_nuget_cache:-true} @@ -68,8 +72,8 @@ fi runtime_source_feed=${runtime_source_feed:-''} runtime_source_feed_key=${runtime_source_feed_key:-''} -# True if the build is a product build -product_build=${product_build:-false} +# True when the build is running within the VMR. +from_vmr=${from_vmr:-false} # Resolve any symlinks in the given path. function ResolvePath { @@ -296,8 +300,29 @@ function GetDotNetInstallScript { local root=$1 local install_script="$root/dotnet-install.sh" local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh" + local timestamp_file="$root/.dotnet-install.timestamp" + local should_download=false if [[ ! -a "$install_script" ]]; then + should_download=true + elif [[ -f "$timestamp_file" ]]; then + # Check if the script is older than 30 days using timestamp file + local download_time=$(cat "$timestamp_file" 2>/dev/null || echo "0") + local current_time=$(date +%s) + local age_seconds=$((current_time - download_time)) + + # 30 days = 30 * 24 * 60 * 60 = 2592000 seconds + if [[ $age_seconds -gt 2592000 ]]; then + echo "Existing install script is too old, re-downloading..." + should_download=true + fi + else + # No timestamp file exists, assume script is old and re-download + echo "No timestamp found for existing install script, re-downloading..." + should_download=true + fi + + if [[ "$should_download" == true ]]; then mkdir -p "$root" echo "Downloading '$install_script_url'" @@ -324,6 +349,9 @@ function GetDotNetInstallScript { ExitWithExitCode $exit_code } fi + + # Create timestamp file to track download time in seconds from epoch + date +%s > "$timestamp_file" fi # return value _GetDotNetInstallScript="$install_script" @@ -339,22 +367,14 @@ function InitializeBuildTool { # return values _InitializeBuildTool="$_InitializeDotNetCli/dotnet" _InitializeBuildToolCommand="msbuild" - # use override if it exists - commonly set by source-build - if [[ "${_OverrideArcadeInitializeBuildToolFramework:-x}" == "x" ]]; then - _InitializeBuildToolFramework="net9.0" - else - _InitializeBuildToolFramework="${_OverrideArcadeInitializeBuildToolFramework}" - fi } -# Set RestoreNoHttpCache as a workaround for https://github.com/NuGet/Home/issues/3116 function GetNuGetPackageCachePath { if [[ -z ${NUGET_PACKAGES:-} ]]; then if [[ "$use_global_nuget_cache" == true ]]; then export NUGET_PACKAGES="$HOME/.nuget/packages/" else export NUGET_PACKAGES="$repo_root/.packages/" - export RESTORENOHTTPCACHE=true fi fi @@ -451,25 +471,13 @@ function MSBuild { fi local toolset_dir="${_InitializeToolset%/*}" - # new scripts need to work with old packages, so we need to look for the old names/versions - local selectedPath= - local possiblePaths=() - possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll" ) - possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.Arcade.Sdk.dll" ) - possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.Arcade.Sdk.dll" ) - for path in "${possiblePaths[@]}"; do - if [[ -f $path ]]; then - selectedPath=$path - break - fi - done + local selectedPath="$toolset_dir/net/Microsoft.DotNet.ArcadeLogging.dll" + if [[ -z "$selectedPath" ]]; then - Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly." + Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly: $selectedPath" ExitWithExitCode 1 fi + args+=( "-logger:$selectedPath" ) fi @@ -506,8 +514,8 @@ function MSBuild-Core { echo "Build failed with exit code $exit_code. Check errors above." # When running on Azure Pipelines, override the returned exit code to avoid double logging. - # Skip this when the build is a child of the VMR orchestrator build. - if [[ "$ci" == true && -n ${SYSTEM_TEAMPROJECT:-} && "$product_build" != true && "$properties" != *"DotNetBuildRepo=true"* ]]; then + # Skip this when the build is a child of the VMR build. + if [[ "$ci" == true && -n ${SYSTEM_TEAMPROJECT:-} && "$from_vmr" != true ]]; then Write-PipelineSetResult -result "Failed" -message "msbuild execution failed." # Exiting with an exit code causes the azure pipelines task to log yet another "noise" error # The above Write-PipelineSetResult will cause the task to be marked as failure without adding yet another error @@ -518,7 +526,13 @@ function MSBuild-Core { } } - RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + local mt_switch="" + if [[ "${MSBUILD_MT_ENABLED:-}" == "1" ]]; then + mt_switch="-mt" + fi + + RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } function GetDarc { @@ -530,6 +544,13 @@ function GetDarc { fi "$eng_root/common/darc-init.sh" --toolpath "$darc_path" $version + darc_tool="$darc_path/darc" +} + +# Returns a full path to an Arcade SDK task project file. +function GetSdkTaskProject { + taskName=$1 + echo "$(dirname $_InitializeToolset)/SdkTasks/$taskName.proj" } ResolvePath "${BASH_SOURCE[0]}" diff --git a/eng/common/vmr-sync.ps1 b/eng/common/vmr-sync.ps1 new file mode 100755 index 000000000000..b37992d91cf0 --- /dev/null +++ b/eng/common/vmr-sync.ps1 @@ -0,0 +1,164 @@ +<# +.SYNOPSIS + +This script is used for synchronizing the current repository into a local VMR. +It pulls the current repository's code into the specified VMR directory for local testing or +Source-Build validation. + +.DESCRIPTION + +The tooling used for synchronization will clone the VMR repository into a temporary folder if +it does not already exist. These clones can be reused in future synchronizations, so it is +recommended to dedicate a folder for this to speed up re-runs. + +.EXAMPLE + Synchronize current repository into a local VMR: + ./vmr-sync.ps1 -vmrDir "$HOME/repos/dotnet" -tmpDir "$HOME/repos/tmp" + +.PARAMETER tmpDir +Required. Path to the temporary folder where repositories will be cloned + +.PARAMETER vmrBranch +Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch + +.PARAMETER azdevPat +Optional. Azure DevOps PAT to use for cloning private repositories. + +.PARAMETER vmrDir +Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder + +.PARAMETER debugOutput +Optional. Enables debug logging in the darc vmr command. + +.PARAMETER ci +Optional. Denotes that the script is running in a CI environment. +#> +param ( + [Parameter(Mandatory=$true, HelpMessage="Path to the temporary folder where repositories will be cloned")] + [string][Alias('t', 'tmp')]$tmpDir, + [string][Alias('b', 'branch')]$vmrBranch, + [string]$remote, + [string]$azdevPat, + [string][Alias('v', 'vmr')]$vmrDir, + [switch]$ci, + [switch]$debugOutput +) + +function Fail { + Write-Host "> $($args[0])" -ForegroundColor 'Red' +} + +function Highlight { + Write-Host "> $($args[0])" -ForegroundColor 'Cyan' +} + +$verbosity = 'verbose' +if ($debugOutput) { + $verbosity = 'debug' +} +# Validation + +if (-not $tmpDir) { + Fail "Missing -tmpDir argument. Please specify the path to the temporary folder where the repositories will be cloned" + exit 1 +} + +# Sanitize the input + +if (-not $vmrDir) { + $vmrDir = Join-Path $tmpDir 'dotnet' +} + +if (-not (Test-Path -Path $tmpDir -PathType Container)) { + New-Item -ItemType Directory -Path $tmpDir | Out-Null +} + +# Prepare the VMR + +if (-not (Test-Path -Path $vmrDir -PathType Container)) { + Highlight "Cloning 'dotnet/dotnet' into $vmrDir.." + git clone https://github.com/dotnet/dotnet $vmrDir + + if ($vmrBranch) { + git -C $vmrDir switch -c $vmrBranch + } +} +else { + if ((git -C $vmrDir diff --quiet) -eq $false) { + Fail "There are changes in the working tree of $vmrDir. Please commit or stash your changes" + exit 1 + } + + if ($vmrBranch) { + Highlight "Preparing $vmrDir" + git -C $vmrDir checkout $vmrBranch + git -C $vmrDir pull + } +} + +Set-StrictMode -Version Latest + +# Prepare darc + +Highlight 'Installing .NET, preparing the tooling..' +. .\eng\common\tools.ps1 +$dotnetRoot = InitializeDotNetCli -install:$true +$env:DOTNET_ROOT = $dotnetRoot +$darc = Get-Darc + +Highlight "Starting the synchronization of VMR.." + +# Synchronize the VMR +$versionDetailsPath = Resolve-Path (Join-Path $PSScriptRoot '..\Version.Details.xml') | Select-Object -ExpandProperty Path +[xml]$versionDetails = Get-Content -Path $versionDetailsPath +$repoName = $versionDetails.SelectSingleNode('//Source').Mapping +if (-not $repoName) { + Fail "Failed to resolve repo mapping from $versionDetailsPath" + exit 1 +} + +$darcArgs = ( + "vmr", "forwardflow", + "--tmp", $tmpDir, + "--$verbosity", + $vmrDir +) + +if ($ci) { + $darcArgs += ("--ci") +} + +if ($azdevPat) { + $darcArgs += ("--azdev-pat", $azdevPat) +} + +& "$darc" $darcArgs + +if ($LASTEXITCODE -eq 0) { + Highlight "Synchronization succeeded" +} +else { + Highlight "Failed to flow code into the local VMR. Falling back to resetting the VMR to match repo contents..." + git -C $vmrDir reset --hard + + $resetArgs = ( + "vmr", "reset", + "${repoName}:HEAD", + "--vmr", $vmrDir, + "--tmp", $tmpDir, + "--additional-remotes", "${repoName}:${repoRoot}" + ) + + & "$darc" $resetArgs + + if ($LASTEXITCODE -eq 0) { + Highlight "Successfully reset the VMR using 'darc vmr reset'" + } + else { + Fail "Synchronization of repo to VMR failed!" + Fail "'$vmrDir' is left in its last state (re-run of this script will reset it)." + Fail "Please inspect the logs which contain path to the failing patch file (use -debugOutput to get all the details)." + Fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script." + exit 1 + } +} diff --git a/eng/common/vmr-sync.sh b/eng/common/vmr-sync.sh new file mode 100755 index 000000000000..198caec59bd4 --- /dev/null +++ b/eng/common/vmr-sync.sh @@ -0,0 +1,227 @@ +#!/bin/bash + +### This script is used for synchronizing the current repository into a local VMR. +### It pulls the current repository's code into the specified VMR directory for local testing or +### Source-Build validation. +### +### The tooling used for synchronization will clone the VMR repository into a temporary folder if +### it does not already exist. These clones can be reused in future synchronizations, so it is +### recommended to dedicate a folder for this to speed up re-runs. +### +### USAGE: +### Synchronize current repository into a local VMR: +### ./vmr-sync.sh --tmp "$HOME/repos/tmp" "$HOME/repos/dotnet" +### +### Options: +### -t, --tmp, --tmp-dir PATH +### Required. Path to the temporary folder where repositories will be cloned +### +### -b, --branch, --vmr-branch BRANCH_NAME +### Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch +### +### --debug +### Optional. Turns on the most verbose logging for the VMR tooling +### +### --remote name:URI +### Optional. Additional remote to use during the synchronization +### This can be used to synchronize to a commit from a fork of the repository +### Example: 'runtime:https://github.com/yourfork/runtime' +### +### --azdev-pat +### Optional. Azure DevOps PAT to use for cloning private repositories. +### +### -v, --vmr, --vmr-dir PATH +### Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder + +source="${BASH_SOURCE[0]}" + +# resolve $source until the file is no longer a symlink +while [[ -h "$source" ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +function print_help () { + sed -n '/^### /,/^$/p' "$source" | cut -b 5- +} + +COLOR_RED=$(tput setaf 1 2>/dev/null || true) +COLOR_CYAN=$(tput setaf 6 2>/dev/null || true) +COLOR_CLEAR=$(tput sgr0 2>/dev/null || true) +COLOR_RESET=uniquesearchablestring +FAILURE_PREFIX='> ' + +function fail () { + echo "${COLOR_RED}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_RED}}${COLOR_CLEAR}" >&2 +} + +function highlight () { + echo "${COLOR_CYAN}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_CYAN}}${COLOR_CLEAR}" +} + +tmp_dir='' +vmr_dir='' +vmr_branch='' +additional_remotes='' +verbosity=verbose +azdev_pat='' +ci=false + +while [[ $# -gt 0 ]]; do + opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")" + case "$opt" in + -t|--tmp|--tmp-dir) + tmp_dir=$2 + shift + ;; + -v|--vmr|--vmr-dir) + vmr_dir=$2 + shift + ;; + -b|--branch|--vmr-branch) + vmr_branch=$2 + shift + ;; + --remote) + additional_remotes="$additional_remotes $2" + shift + ;; + --azdev-pat) + azdev_pat=$2 + shift + ;; + --ci) + ci=true + ;; + -d|--debug) + verbosity=debug + ;; + -h|--help) + print_help + exit 0 + ;; + *) + fail "Invalid argument: $1" + print_help + exit 1 + ;; + esac + + shift +done + +# Validation + +if [[ -z "$tmp_dir" ]]; then + fail "Missing --tmp-dir argument. Please specify the path to the temporary folder where the repositories will be cloned" + exit 1 +fi + +# Sanitize the input + +if [[ -z "$vmr_dir" ]]; then + vmr_dir="$tmp_dir/dotnet" +fi + +if [[ ! -d "$tmp_dir" ]]; then + mkdir -p "$tmp_dir" +fi + +if [[ "$verbosity" == "debug" ]]; then + set -x +fi + +# Prepare the VMR + +if [[ ! -d "$vmr_dir" ]]; then + highlight "Cloning 'dotnet/dotnet' into $vmr_dir.." + git clone https://github.com/dotnet/dotnet "$vmr_dir" + + if [[ -n "$vmr_branch" ]]; then + git -C "$vmr_dir" switch -c "$vmr_branch" + fi +else + if ! git -C "$vmr_dir" diff --quiet; then + fail "There are changes in the working tree of $vmr_dir. Please commit or stash your changes" + exit 1 + fi + + if [[ -n "$vmr_branch" ]]; then + highlight "Preparing $vmr_dir" + git -C "$vmr_dir" checkout "$vmr_branch" + git -C "$vmr_dir" pull + fi +fi + +set -e + +# Prepare darc + +highlight 'Installing .NET, preparing the tooling..' +source "./eng/common/tools.sh" +InitializeDotNetCli true +GetDarc +dotnetDir=$( cd ./.dotnet/; pwd -P ) +dotnet=$dotnetDir/dotnet + +highlight "Starting the synchronization of VMR.." +set +e + +if [[ -n "$additional_remotes" ]]; then + additional_remotes="--additional-remotes $additional_remotes" +fi + +if [[ -n "$azdev_pat" ]]; then + azdev_pat="--azdev-pat $azdev_pat" +fi + +ci_arg='' +if [[ "$ci" == "true" ]]; then + ci_arg="--ci" +fi + +# Synchronize the VMR + +version_details_path=$(cd "$scriptroot/.."; pwd -P)/Version.Details.xml +repo_name=$(grep -m 1 ' Date: Fri, 20 Mar 2026 02:02:06 +0000 Subject: [PATCH 092/137] Update dependencies from https://github.com/dotnet/scenario-tests build 20260319.2 On relative base path root Microsoft.SourceBuild.Intermediate.scenario-tests , Microsoft.DotNet.ScenarioTests.SdkTemplateTests From Version 9.0.0-preview.26153.1 -> To Version 9.0.0-preview.26169.2 --- NuGet.config | 7 ------- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/NuGet.config b/NuGet.config index e4b7dcd1b1e0..4460caf81a88 100644 --- a/NuGet.config +++ b/NuGet.config @@ -24,10 +24,8 @@ - - @@ -37,13 +35,11 @@ - - @@ -72,13 +68,10 @@ - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 62fe950cdf54..8a30d0a18f19 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -597,14 +597,14 @@ https://github.com/dotnet/arcade-services e156e649f28395d9d0ee1e848225a689b59e0fd3 - + https://github.com/dotnet/scenario-tests - acd9dc7ae0717d7f4fb6ac2b76ea364e94b4ceb3 + 19f7ab33960c27d4baa37b06d8cb26d007f49334 - + https://github.com/dotnet/scenario-tests - acd9dc7ae0717d7f4fb6ac2b76ea364e94b4ceb3 + 19f7ab33960c27d4baa37b06d8cb26d007f49334 From a80be0bc3b5a336959bfaf88e676c2305be3e091 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 3 Apr 2026 02:02:35 +0000 Subject: [PATCH 093/137] Update dependencies from https://github.com/dotnet/scenario-tests build 20260402.3 On relative base path root Microsoft.SourceBuild.Intermediate.scenario-tests , Microsoft.DotNet.ScenarioTests.SdkTemplateTests From Version 9.0.0-preview.26153.1 -> To Version 9.0.0-preview.26202.3 --- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 8a30d0a18f19..dc9737221d88 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -597,14 +597,14 @@ https://github.com/dotnet/arcade-services e156e649f28395d9d0ee1e848225a689b59e0fd3 - + https://github.com/dotnet/scenario-tests - 19f7ab33960c27d4baa37b06d8cb26d007f49334 + 0f750c53b3052a593c6daacc0d60eb8c0d2d9cf1 - + https://github.com/dotnet/scenario-tests - 19f7ab33960c27d4baa37b06d8cb26d007f49334 + 0f750c53b3052a593c6daacc0d60eb8c0d2d9cf1 From 6c2901820f27765022b483ce6d5cc4e3eb1240b0 Mon Sep 17 00:00:00 2001 From: ".NET Source-Build Bot" <102560831+dotnet-sb-bot@users.noreply.github.com> Date: Wed, 11 Mar 2026 11:54:05 -0500 Subject: [PATCH 094/137] .NET Source-Build 9.0.115 March 2026 Updates (#53358) Co-authored-by: Matt Thalman --- src/SourceBuild/content/eng/Version.Details.xml | 4 ++-- src/SourceBuild/content/eng/Versions.props | 4 ++-- src/SourceBuild/content/global.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/SourceBuild/content/eng/Version.Details.xml b/src/SourceBuild/content/eng/Version.Details.xml index 0be4c8d30ca6..74c1fbfb03c0 100644 --- a/src/SourceBuild/content/eng/Version.Details.xml +++ b/src/SourceBuild/content/eng/Version.Details.xml @@ -2,9 +2,9 @@ - + https://github.com/dotnet/arcade - c85f9aceddaf85296e3efbc463daaa34fef5a375 + 0279dbd04bd1537e13ae3c1f003edf56acfaf123 diff --git a/src/SourceBuild/content/eng/Versions.props b/src/SourceBuild/content/eng/Versions.props index 1117282a292f..8b8b02a28b60 100644 --- a/src/SourceBuild/content/eng/Versions.props +++ b/src/SourceBuild/content/eng/Versions.props @@ -23,8 +23,8 @@ of a .NET major or minor release, prebuilts may be needed. When the release is mature, prebuilts are not necessary, and this property is removed from the file. --> - 9.0.114 - 9.0.114-servicing.26068.1 + 9.0.115 + 9.0.115-servicing.26120.1 2.0.0-beta4.24126.1 diff --git a/src/SourceBuild/content/global.json b/src/SourceBuild/content/global.json index 526eb6b3b14a..347d0dba75e1 100644 --- a/src/SourceBuild/content/global.json +++ b/src/SourceBuild/content/global.json @@ -1,10 +1,10 @@ { "tools": { - "dotnet": "9.0.114" + "dotnet": "9.0.115" }, "msbuild-sdks": { "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", - "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.26063.2" + "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.26110.2" } } From f25b82751225770c5eb9811678cc94a36bc36327 Mon Sep 17 00:00:00 2001 From: Matt Thalman Date: Tue, 7 Apr 2026 07:39:23 -0500 Subject: [PATCH 095/137] Increase memory for license scanning (#53720) --- src/SourceBuild/content/eng/pipelines/vmr-license-scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SourceBuild/content/eng/pipelines/vmr-license-scan.yml b/src/SourceBuild/content/eng/pipelines/vmr-license-scan.yml index 4ce3850fd029..17fdfdc11b40 100644 --- a/src/SourceBuild/content/eng/pipelines/vmr-license-scan.yml +++ b/src/SourceBuild/content/eng/pipelines/vmr-license-scan.yml @@ -51,7 +51,7 @@ extends: containers: licenseScanContainer: image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-net9.0-source-build-test-amd64 - options: '--memory=12g' + options: '--memory=20g' pool: name: NetCore1ESPool-Svc-Internal image: 1es-ubuntu-2204 From 815727a07dae22980d44a1d451c5334137e83ea3 Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Thu, 9 Apr 2026 11:11:36 +0200 Subject: [PATCH 096/137] Warn for missing shebang (#53614) --- documentation/general/dotnet-run-file.md | 7 + .../Run/CSharpCompilerCommand.Generated.cs | 1 + ...pMissingShebangInFileBasedProgram.Fixer.cs | 42 +++ .../CSharpMissingShebangInFileBasedProgram.cs | 131 +++++++++ .../Microsoft.CodeAnalysis.NetAnalyzers.md | 12 + .../Microsoft.CodeAnalysis.NetAnalyzers.sarif | 19 ++ .../AnalyzerReleases.Shipped.md | 1 + .../MicrosoftNetCoreAnalyzersResources.resx | 12 + .../MissingShebangInFileBasedProgram.Fixer.cs | 14 + .../Usage/MissingShebangInFileBasedProgram.cs | 29 ++ .../MicrosoftNetCoreAnalyzersResources.cs.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.de.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.es.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.fr.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.it.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.ja.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.ko.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.pl.xlf | 20 ++ ...crosoftNetCoreAnalyzersResources.pt-BR.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.ru.xlf | 20 ++ .../MicrosoftNetCoreAnalyzersResources.tr.xlf | 20 ++ ...osoftNetCoreAnalyzersResources.zh-Hans.xlf | 20 ++ ...osoftNetCoreAnalyzersResources.zh-Hant.xlf | 20 ++ .../DiagnosticCategoryAndIdRanges.txt | 2 +- .../Options/MSBuildPropertyOptionNames.cs | 1 + .../MissingShebangInFileBasedProgramTests.cs | 265 ++++++++++++++++++ .../VirtualProjectBuilder.cs | 1 + .../Convert/DotnetProjectConvertTests.cs | 3 + .../Run/GivenDotnetRunThrowsAParseError.cs | 2 +- .../CommandTests/Run/RunFileTests.cs | 147 +++++++++- 30 files changed, 943 insertions(+), 6 deletions(-) create mode 100644 src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.Fixer.cs create mode 100644 src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.cs create mode 100644 src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.Fixer.cs create mode 100644 src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.cs create mode 100644 src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs diff --git a/documentation/general/dotnet-run-file.md b/documentation/general/dotnet-run-file.md index bdaf0176fdaa..9636bc0ff88b 100644 --- a/documentation/general/dotnet-run-file.md +++ b/documentation/general/dotnet-run-file.md @@ -52,6 +52,8 @@ Additionally, the implicit project file has the following customizations: string? directoryPath = AppContext.GetData("EntryPointFileDirectoryPath") as string; ``` + - `EntryPointFilePath` property is set to the entry-point file path and is made visible to analyzers via `CompilerVisibleProperty`. + - `FileBasedProgram` property is set to `true` and can be used by SDK targets to detect file-based apps. - `DisableDefaultItemsInProjectFolder` property is set to `true` which results in `EnableDefaultItems=false` by default @@ -270,6 +272,11 @@ Along with `#:`, the language also ignores `#!` which could be then used for [sh Console.WriteLine("Hello"); ``` +When a file-based program uses [`#:include`](#multiple-files) directives to include additional files, +the entry point file should start with `#!` to clearly distinguish it from included files. +This helps IDEs to properly handle multi-file scenarios and discover entry points. +The analyzer **CA2266** reports a warning if the entry point file is missing the shebang line in this scenario. + ## Implementation The build is performed using MSBuild APIs on in-memory project files. diff --git a/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.Generated.cs b/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.Generated.cs index 147f81e8bfee..235b8ce8501b 100644 --- a/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.Generated.cs +++ b/src/Cli/dotnet/Commands/Run/CSharpCompilerCommand.Generated.cs @@ -165,6 +165,7 @@ private string GetGeneratedMSBuildEditorConfigContent() build_property.InvariantGlobalization = build_property.PlatformNeutralAssembly = build_property.EnforceExtendedAnalyzerRules = +build_property.EntryPointFilePath = {EntryPointFileFullPath} build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = {FileNameWithoutExtension} build_property.ProjectDir = {BaseDirectoryWithTrailingSeparator} diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.Fixer.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.Fixer.cs new file mode 100644 index 000000000000..7894c0ab6c33 --- /dev/null +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.Fixer.cs @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. + +using System.Composition; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CodeActions; +using Microsoft.CodeAnalysis.CodeFixes; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.Formatting; +using Microsoft.NetCore.Analyzers; +using Microsoft.NetCore.Analyzers.Usage; + +namespace Microsoft.NetCore.CSharp.Analyzers.Usage +{ + [ExportCodeFixProvider(LanguageNames.CSharp), Shared] + public sealed class CSharpMissingShebangInFileBasedProgramFixer : MissingShebangInFileBasedProgramFixer + { + public override async Task RegisterCodeFixesAsync(CodeFixContext context) + { + var root = await context.Document.GetSyntaxRootAsync(context.CancellationToken).ConfigureAwait(false); + if (root is null) + { + return; + } + + var codeAction = CodeAction.Create( + MicrosoftNetCoreAnalyzersResources.MissingShebangInFileBasedProgramCodeFixTitle, + async ct => + { + var options = await context.Document.GetOptionsAsync(ct).ConfigureAwait(false); + var eol = options.GetOption(FormattingOptions.NewLine, LanguageNames.CSharp); + var shebangTrivia = SyntaxFactory.ParseLeadingTrivia("#!/usr/bin/env dotnet" + eol); + var firstToken = root.GetFirstToken(includeZeroWidth: true); + var newFirstToken = firstToken.WithLeadingTrivia(shebangTrivia.AddRange(firstToken.LeadingTrivia)); + var newRoot = root.ReplaceToken(firstToken, newFirstToken) + .WithAdditionalAnnotations(Formatter.Annotation); + return context.Document.WithSyntaxRoot(newRoot); + }, + MicrosoftNetCoreAnalyzersResources.MissingShebangInFileBasedProgramCodeFixTitle); + context.RegisterCodeFix(codeAction, context.Diagnostics); + } + } +} diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.cs new file mode 100644 index 000000000000..375a3e567cf1 --- /dev/null +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.CSharp.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/CSharpMissingShebangInFileBasedProgram.cs @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. + +using Analyzer.Utilities; +using Analyzer.Utilities.Extensions; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.Diagnostics; +using Microsoft.NetCore.Analyzers.Usage; + +namespace Microsoft.NetCore.CSharp.Analyzers.Usage +{ + [DiagnosticAnalyzer(LanguageNames.CSharp)] + public sealed class CSharpMissingShebangInFileBasedProgram : MissingShebangInFileBasedProgram + { + public override void Initialize(AnalysisContext context) + { + context.EnableConcurrentExecution(); + context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); + + context.RegisterCompilationStartAction(context => + { + var entryPointFilePath = context.Options.GetMSBuildPropertyValue( + MSBuildPropertyOptionNames.EntryPointFilePath, context.Compilation); + if (string.IsNullOrEmpty(entryPointFilePath)) + { + return; + } + + // Count non-generated trees upfront so we can report directly + // from a SyntaxTreeAction without needing CompilationEnd. + // We avoid CompilationEnd so diagnostics appear as live IDE diagnostics. + // We replicate Roslyn's generated code detection here because + // Compilation.SyntaxTrees is the raw set (unlike RegisterSyntaxTreeAction + // which gets automatic filtering via ConfigureGeneratedCodeAnalysis). + int nonGeneratedTreeCount = 0; + foreach (var tree in context.Compilation.SyntaxTrees) + { + if (IsGeneratedCode(tree, context.Options.AnalyzerConfigOptionsProvider)) + { + continue; + } + + nonGeneratedTreeCount++; + } + + // Only report when there are multiple non-generated files + // (i.e., #:include directives are used). + // Single-file programs don't need a shebang to distinguish the entry point. + if (nonGeneratedTreeCount <= 1) + { + return; + } + + context.RegisterSyntaxTreeAction(context => + { + if (!context.Tree.FilePath.Equals(entryPointFilePath, StringComparison.Ordinal)) + { + return; + } + + var root = context.Tree.GetRoot(context.CancellationToken); + if (root.GetLeadingTrivia().Any(SyntaxKind.ShebangDirectiveTrivia)) + { + return; + } + + var location = root.GetFirstToken(includeZeroWidth: true).GetLocation(); + context.ReportDiagnostic(location.CreateDiagnostic(Rule)); + }); + }); + } + + /// + /// Replicates Roslyn's generated code detection which checks: + /// the generated_code analyzer config option, + /// common file name patterns, and <auto-generated> comment headers. + /// Based on GeneratedCodeUtilities. + /// + private static bool IsGeneratedCode(SyntaxTree tree, AnalyzerConfigOptionsProvider optionsProvider) + { + if (optionsProvider.GetOptions(tree) + .TryGetValue("generated_code", out var generatedValue) && + generatedValue.Equals("true", StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + var filePath = tree.FilePath; + if (!string.IsNullOrEmpty(filePath)) + { + var fileName = Path.GetFileName(filePath); + if (fileName.StartsWith("TemporaryGeneratedFile_", StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + var nameWithoutExtension = Path.GetFileNameWithoutExtension(fileName); + if (nameWithoutExtension.EndsWith(".designer", StringComparison.OrdinalIgnoreCase) || + nameWithoutExtension.EndsWith(".generated", StringComparison.OrdinalIgnoreCase) || + nameWithoutExtension.EndsWith(".g", StringComparison.OrdinalIgnoreCase) || + nameWithoutExtension.EndsWith(".g.i", StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + + // Check for or comment at the top of the file. + foreach (var trivia in tree.GetRoot().GetLeadingTrivia()) + { + switch (trivia.Kind()) + { + case SyntaxKind.SingleLineCommentTrivia: + case SyntaxKind.MultiLineCommentTrivia: + var text = trivia.ToString(); + if (text.Contains(" Replace obsolete call + + File-based program entry point should start with '#!' + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + File-based program entry point should start with '#!' + + + Add '#!' (shebang) + diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.Fixer.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.Fixer.cs new file mode 100644 index 000000000000..0e2284174d9c --- /dev/null +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.Fixer.cs @@ -0,0 +1,14 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. + +using System.Collections.Immutable; +using Microsoft.CodeAnalysis.CodeFixes; + +namespace Microsoft.NetCore.Analyzers.Usage +{ + public abstract class MissingShebangInFileBasedProgramFixer : CodeFixProvider + { + public override ImmutableArray FixableDiagnosticIds { get; } = ImmutableArray.Create(MissingShebangInFileBasedProgram.RuleId); + + public override FixAllProvider GetFixAllProvider() => WellKnownFixAllProviders.BatchFixer; + } +} diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.cs new file mode 100644 index 000000000000..938e7ce7c00f --- /dev/null +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgram.cs @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. + +using System.Collections.Immutable; +using Analyzer.Utilities; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Diagnostics; + +namespace Microsoft.NetCore.Analyzers.Usage +{ + using static MicrosoftNetCoreAnalyzersResources; + + public abstract class MissingShebangInFileBasedProgram : DiagnosticAnalyzer + { + internal const string RuleId = "CA2266"; + + internal static readonly DiagnosticDescriptor Rule = DiagnosticDescriptorHelper.Create( + RuleId, + CreateLocalizableResourceString(nameof(MissingShebangInFileBasedProgramTitle)), + CreateLocalizableResourceString(nameof(MissingShebangInFileBasedProgramMessage)), + DiagnosticCategory.Usage, + RuleLevel.BuildWarning, + CreateLocalizableResourceString(nameof(MissingShebangInFileBasedProgramDescription)), + isPortedFxCopRule: false, + isDataflowRule: false, + isReportedAtCompilationEnd: false); + + public sealed override ImmutableArray SupportedDiagnostics { get; } = ImmutableArray.Create(Rule); + } +} diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf index d5f92baf02e5..03f1e965d7b2 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf @@ -1833,6 +1833,26 @@ Rozšíření a uživatelem definované převody se u obecných typů nepodporuj Metoda akce {0} musí explicitně určit druh požadavku HTTP. + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Inicializátory modulů jsou určeny pro použití kódem aplikace k zajištění, aby byly komponenty aplikace inicializovány před tím, než se začne kód aplikace spouštět. Pokud kód knihovny deklaruje metodu s ModuleInitializerAttribute, může narušovat inicializaci aplikace a také vést k omezením schopností oříznutí dané aplikace. Knihovna by proto neměla používat metody s označením ModuleInitializerAttribute, ale namísto toho by měla zpřístupnit metody, které lze použít k inicializaci všech komponent v rámci knihovny a umožnit aplikaci vyvolat metodu během inicializace aplikace. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf index f63f006d064d..cbc4ff561ee1 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf @@ -1833,6 +1833,26 @@ Erweiterungen und benutzerdefinierte Konvertierungen werden bei generischen Type Die Aktionsmethode "{0}" muss die Art der HTTP-Anforderung explizit angeben. + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Modulinitialisierer sollen vom Anwendungscode verwendet werden, um sicherzustellen, dass die Komponenten einer Anwendung initialisiert werden, bevor der Anwendungscode ausgeführt wird. Wenn Bibliothekscode eine Methode mit \"ModuleInitializerAttribute\" deklariert, kann dies die Anwendungsinitialisierung beeinträchtigen und auch zu Einschränkungen in den Kürzungsfähigkeiten dieser Anwendung führen. Anstatt Methoden zu verwenden, die mit \"ModuleInitializerAttribute\" gekennzeichnet sind, sollte die Bibliothek Methoden verfügbar machen, mit denen alle Komponenten innerhalb der Bibliothek initialisiert werden können, und der Anwendung das Aufrufen der Methode während der Anwendungsinitialisierung ermöglichen. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf index a03a7a0fa4d0..5896354af2af 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf @@ -1833,6 +1833,26 @@ La ampliación y las conversiones definidas por el usuario no se admiten con tip El método de acción {0} debe especificar la variante de solicitud HTTP de forma explícita. + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Los inicializadores de módulo están diseñados para que los use el código de aplicación para asegurarse de que los componentes de una aplicación se inicializan antes de que el código de la aplicación comience a ejecutarse. Si el código de biblioteca declara un método con \"ModuleInitializerAttribute\", puede interferir con la inicialización de la aplicación y también provocar limitaciones en las capacidades de recorte de esa aplicación. En lugar de usar métodos marcados con \"ModuleInitializerAttribute\", la biblioteca debe exponer métodos que se pueden usar para inicializar cualquier componente dentro de la biblioteca y permitir que la aplicación invoque el método durante la inicialización de la aplicación. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf index 40c160bb5b5f..bed19cb8e096 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf @@ -1833,6 +1833,26 @@ Les conversions étendues et définies par l’utilisateur ne sont pas prises en La méthode d'action {0} doit spécifier explicitement le genre de requête HTTP + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Les initialiseurs de module sont destinés à être utilisés par le code d’application pour s’assurer que les composants d’une application sont initialisés avant le début de l’exécution du code d’application. Si le code de bibliothèque déclare une méthode avec « ModuleInitializerAttribute », il peut interférer avec l’initialisation de l’application et également entraîner des limitations dans les capacités de découpage de cette application. Au lieu d’utiliser des méthodes marquées avec « ModuleInitializerAttribute », la bibliothèque doit exposer des méthodes qui peuvent être utilisées pour initialiser tous les composants de la bibliothèque et permettre à l’application d’appeler la méthode pendant l’initialisation de l’application. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf index 924a482d9f5d..ea2f9539b9a1 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf @@ -1833,6 +1833,26 @@ L'ampliamento e le conversioni definite dall'utente non sono supportate con tipi Il metodo di azione {0} deve specificare in modo esplicito il tipo della richiesta HTTP + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. La presenza di inizializzatori di modulo nel codice dell'applicazione assicura che i componenti di un'applicazione vengano inizializzati prima dell'inizio dell'esecuzione del codice dell'applicazione. La dichiarazione di un modulo 'ModuleInitializerAttribute' nel codice della libreria può interferire con l'inizializzazione dell'applicazione e causare limitazioni alle funzionalità di trimming di tale applicazione. Il codice della libreria non deve quindi utilizzare l'attributo 'ModuleInitializerAttribute', ma esporre metodi utilizzabili per inizializzare tutti i componenti nella libreria e consentire all'applicazione di richiamare il metodo durante l'inizializzazione dell'applicazione. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf index 6c3fbfeccd9a..f37c847af7f9 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf @@ -1833,6 +1833,26 @@ Enumerable.OfType<T> で使用されるジェネリック型チェック ( アクション メソッド {0} では、HTTP 要求の種類を明示的に指定する必要があります + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. モジュール初期化子は、アプリケーション コードの実行を開始する前にアプリケーションのコンポーネントが初期化されるように、アプリケーション コードによって使用されることを目的としています。ライブラリ コードで 'ModuleInitializerAttribute' を使用してメソッドを宣言する場合、アプリケーションの初期化を妨げる可能性があり、そのアプリケーションのトリミング機能の制限にもつながります。'ModuleInitializerAttribute' でマークされたメソッドを使用する代わりに、ライブラリ内のコンポーネントを初期化し、アプリケーションの初期化中にアプリケーションがメソッドを呼び出せるようにするために使用できるメソッドを公開する必要があります。 diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf index f0706403c0d4..8575638e2767 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf @@ -1833,6 +1833,26 @@ Enumerable.OfType<T>에서 사용하는 제네릭 형식 검사(C# 'is' 작업 메서드 {0}은(는) HTTP 요청 종류를 명시적으로 지정해야 합니다. + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. 모듈 이니셜라이저는 응용 프로그램 코드가 실행을 시작하기 전에 응용 프로그램의 구성 요소가 초기화되도록 응용 프로그램 코드에서 사용하기 위한 것입니다. 라이브러리 코드가 'ModuleInitializerAttribute'를 사용하여 메서드를 선언하면 응용 프로그램 초기화를 방해할 수 있으며 해당 응용 프로그램의 트리밍 기능에 제한이 생길 수도 있습니다. 'ModuleInitializerAttribute'로 표시된 메서드를 사용하는 대신 라이브러리는 라이브러리 내의 구성 요소를 초기화하는 데 사용할 수 있는 메서드를 노출하고 응용 프로그램 초기화 중에 응용 프로그램이 메서드를 호출할 수 있도록 해야 합니다. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf index 51f4dee3e919..0e7b13760bac 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf @@ -1833,6 +1833,26 @@ Konwersje poszerzane i zdefiniowane przez użytkownika nie są obsługiwane w pr Metoda akcji {0} musi jawnie określać rodzaj żądania HTTP + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Inicjatory modułów są przeznaczone do użycia przez kod aplikacji w celu zapewnienia, że składniki aplikacji zostaną zainicjowane przed rozpoczęciem wykonywania kodu aplikacji. Jeśli kod biblioteki deklaruje metodę za pomocą atrybutu „ModuleInitializer”, może zakłócać inicjowanie aplikacji, a także prowadzić do ograniczeń w możliwościach przycinania tej aplikacji. Zamiast używać metod oznaczonych atrybutem „ModuleInitializer”, biblioteka powinna uwidaczniać metody, których można użyć do zainicjowania składników w bibliotece i umożliwienia aplikacji wywołania metody podczas inicjowania aplikacji. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf index cb9dea8edaf1..a3fc46da599c 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf @@ -1833,6 +1833,26 @@ As ampliação e conversões definidas pelo usuário não são compatíveis com O método de ação {0} precisa especificar explicitamente o tipo de solicitação HTTP + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Os inicializadores de módulo devem ser usados pelo código do aplicativo para garantir que os componentes de um aplicativo sejam inicializados antes que o código do aplicativo comece a ser executado. Se o código da biblioteca declara um método com o 'ModuleInitializerAttribute', ele pode interferir na inicialização do aplicativo e também levar a limitações nas habilidades de corte do aplicativo. Ao invés de usar métodos marcados com 'ModuleInitializerAttribute', a biblioteca deve expor os métodos que podem ser usados para inicializar quaisquer componentes dentro da biblioteca e permitir que o aplicativo invoque o método durante a inicialização do aplicativo. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf index 57538a5cb231..e97cb8f514af 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf @@ -1833,6 +1833,26 @@ Widening and user defined conversions are not supported with generic types.В методе действия {0} необходимо явным образом указать тип HTTP-запроса/ + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Инициализаторы модулей предназначены для использования кодом приложения, чтобы обеспечить инициализацию компонентов приложения до того, как код приложения начнет выполняться. Если код библиотеки объявляет метод с ''ModuleInitializerAttribute'', это может помешать инициализации приложения, а также привести к ограничениям возможностей обрезки этого приложения. Вместо использования методов, помеченных ''ModuleInitializerAttribute'', библиотека должна предоставлять методы, которые можно использовать для инициализации любых компонентов в библиотеке, и позволять приложению вызывать метод во время инициализации приложения. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf index de2ea9f502e1..095fec929995 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf @@ -1833,6 +1833,26 @@ Genel türlerde genişletme ve kullanıcı tanımlı dönüştürmeler desteklen {0} eylem metodunun HTTP istek tipini açık olarak belirtmesi gerekir + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. Modül başlatıcılar, uygulama kodu yürütülmeye başlamadan önce uygulamanın bileşenlerinin başlatılmasını sağlamak için uygulama kodu tarafından kullanılmak içindir. Kitaplık kodu 'ModuleInitializerAttribute' öznitelikli bir yöntem bildirirse, uygulamanın başlatılmasına engel olabilir ve ayrıca bu uygulamanın kırpma becerileriyle ilgili sınırlamalara neden olabilir. Kitaplık, 'ModuleInitializerAttribute' özniteliği ile işaretli yöntemleri kullanmak yerine, içindeki bileşenlerin başlatılması için kullanılabilecek ve başlatılırken uygulamanın çağırabileceği yöntemleri kullanıma sunmalıdır. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf index 68f722d64e4f..40cccfbb4381 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf @@ -1833,6 +1833,26 @@ Enumerable.OfType<T> 使用的泛型类型检查(C# 'is' operator/IL 'isin 操作方法 {0} 需要显式指定 HTTP 请求类型 + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. 模块初始化表达式旨在由应用程序代码用于确保在应用程序代码开始执行之前初始化应用程序的组件。如果库代码使用 “ModuleInitializer” 声明方法,则可能干扰应用程序初始化,并且还会导致限制该应用程序的剪裁功能。因此库不应使用标记为 “ModuleInitializerAttribute” 的方法,而应公开可用于初始化库中任何组件的方法,并允许应用程序在应用程序初始化期间调用该方法。 diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf index 43db515c0d4b..0e95e70cea6b 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf @@ -1833,6 +1833,26 @@ Enumerable.OfType<T> 使用的一般型別檢查 (C# 'is' operator/IL 'isi Action 方法 {0} 必須明確地指定 HTTP 要求種類 + + Add '#!' (shebang) + Add '#!' (shebang) + + + + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + + + File-based program entry point should start with '#!' + File-based program entry point should start with '#!' + + Module initializers are intended to be used by application code to ensure an application's components are initialized before the application code begins executing. If library code declares a method with the 'ModuleInitializerAttribute', it can interfere with application initialization and also lead to limitations in that application's trimming abilities. Instead of using methods marked with 'ModuleInitializerAttribute', the library should expose methods that can be used to initialize any components within the library and allow the application to invoke the method during application initialization. 模組初始設定式供應用程式程式碼使用,以確保應用程式程式碼開始執行前先初始化應用程式的元件。如果程式庫程式碼宣告擁有 'ModuleInitializerAttribute' 的方法,它可能會干擾應用程式初始化,而且也會導致該應用程式的截斷功能遭到限制。不使用標示為 'ModuleInitializerAttribute' 的方法,程式庫應該公開可用於初始化程式庫內任何元件的方法,並允許應用程式在應用程式初始化期間叫用方法。 diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/DiagnosticCategoryAndIdRanges.txt b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/DiagnosticCategoryAndIdRanges.txt index 84d171e834bd..c22f1703c19a 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/DiagnosticCategoryAndIdRanges.txt +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/DiagnosticCategoryAndIdRanges.txt @@ -14,7 +14,7 @@ Globalization: CA2101, CA1300-CA1311 Mobility: CA1600-CA1601 Performance: HA, CA1800-CA1875 Security: CA2100-CA2153, CA2300-CA2330, CA3000-CA3147, CA5300-CA5405 -Usage: CA1801, CA1806, CA1816, CA2200-CA2209, CA2211-CA2265 +Usage: CA1801, CA1806, CA1816, CA2200-CA2209, CA2211-CA2266 Naming: CA1700-CA1727 Interoperability: CA1400-CA1422 Maintainability: CA1500-CA1515 diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/Options/MSBuildPropertyOptionNames.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/Options/MSBuildPropertyOptionNames.cs index 314f1ec6d51b..0d7db6ee7732 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/Options/MSBuildPropertyOptionNames.cs +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Utilities/Compiler/Options/MSBuildPropertyOptionNames.cs @@ -23,6 +23,7 @@ internal static class MSBuildPropertyOptionNames public const string InvariantGlobalization = nameof(InvariantGlobalization); public const string PlatformNeutralAssembly = nameof(PlatformNeutralAssembly); public const string EnforceExtendedAnalyzerRules = nameof(EnforceExtendedAnalyzerRules); + public const string EntryPointFilePath = nameof(EntryPointFilePath); } internal static class MSBuildPropertyOptionNamesHelpers diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs new file mode 100644 index 000000000000..3ec4c4759d05 --- /dev/null +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs @@ -0,0 +1,265 @@ +// Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. + +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.Testing; +using VerifyCS = Test.Utilities.CSharpSecurityCodeFixVerifier< + Microsoft.NetCore.CSharp.Analyzers.Usage.CSharpMissingShebangInFileBasedProgram, + Microsoft.NetCore.CSharp.Analyzers.Usage.CSharpMissingShebangInFileBasedProgramFixer>; + +namespace Microsoft.NetCore.Analyzers.Usage.UnitTests +{ + public class MissingShebangInFileBasedProgramTests + { + private const string GlobalConfig = "is_global = true\r\nbuild_property.EntryPointFilePath = Test0.cs"; + + [Fact] + public async Task EntryPointWithoutShebang_MultipleFiles_WarningAsync() + { + // Entry point file without shebang, multiple files - warning expected. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """class Program { static void Main() { } }"""), + ("Util.cs", """class Util { public static string Greet() => "hello"; }"""), + }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + ExpectedDiagnostics = + { + new DiagnosticResult(MissingShebangInFileBasedProgram.Rule).WithLocation("Test0.cs", 1, 1), + }, + }, + }.RunAsync(); + } + + [Fact] + public async Task NoEntryPointFilePath_NoDiagnosticAsync() + { + // No EntryPointFilePath - not a file-based program, no diagnostic. + await VerifyCS.VerifyAnalyzerAsync(""" + class Program + { + static void Main() + { + System.Console.WriteLine("hello"); + } + } + """); + } + + [Fact] + public async Task SingleFile_NoDiagnosticAsync() + { + // Single file - no need to distinguish entry point, no diagnostic. + await new VerifyCS.Test + { + TestState = + { + Sources = { ("Test0.cs", """class Program { static void Main() { } }""") }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + }, + }.RunAsync(); + } + + [Fact] + public async Task EntryPointWithoutShebang_CodeFixAddsShebangAsync() + { + // Verify that the code fix prepends a shebang line. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """class Program { static void Main() { } }"""), + ("Util.cs", """class Util { public static string Greet() => "hello"; }"""), + }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + ExpectedDiagnostics = + { + new DiagnosticResult(MissingShebangInFileBasedProgram.Rule).WithLocation("Test0.cs", 1, 1), + }, + }, + FixedState = + { + Sources = + { + ("Test0.cs", """ + #!/usr/bin/env dotnet + class Program { static void Main() { } } + """), + ("Util.cs", """class Util { public static string Greet() => "hello"; }"""), + }, + }, + CodeFixTestBehaviors = CodeFixTestBehaviors.SkipLocalDiagnosticCheck, + SolutionTransforms = + { + (solution, projectId) => + { + // Enable #! shebang support in the parser. + var parseOptions = (CSharpParseOptions)solution.GetProject(projectId)!.ParseOptions!; + return solution.WithProjectParseOptions(projectId, + parseOptions.WithFeatures(parseOptions.Features.Concat( + [new KeyValuePair("FileBasedProgram", "true")]))); + }, + }, + }.RunAsync(); + } + + [Fact] + public async Task EntryPointWithShebang_MultipleFiles_NoDiagnosticAsync() + { + // Entry point already has shebang, multiple files - no diagnostic. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """ + #!/usr/bin/env dotnet + class Program { static void Main() { } } + """), + ("Util.cs", """class Util { public static string Greet() => "hello"; }"""), + }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + }, + SolutionTransforms = + { + (solution, projectId) => + { + var parseOptions = (CSharpParseOptions)solution.GetProject(projectId)!.ParseOptions!; + return solution.WithProjectParseOptions(projectId, + parseOptions.WithFeatures(parseOptions.Features.Concat( + [new KeyValuePair("FileBasedProgram", "true")]))); + }, + }, + }.RunAsync(); + } + + [Fact] + public async Task EmptyEntryPointFilePath_NoDiagnosticAsync() + { + // Empty EntryPointFilePath - not a file-based program, no diagnostic. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """class Program { static void Main() { } }"""), + ("Util.cs", """class Util { }"""), + }, + AnalyzerConfigFiles = { ("/.globalconfig", "is_global = true\r\nbuild_property.EntryPointFilePath = ") }, + }, + }.RunAsync(); + } + + [Fact] + public async Task GeneratedCodeFile_NoDiagnosticAsync() + { + // Entry point file without shebang, but the second file is generated code (.g.cs), + // so there is effectively only one non-generated file - no diagnostic. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """class Program { static void Main() { } }"""), + ("Test1.g.cs", """class Generated { }"""), + }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + }, + }.RunAsync(); + } + + [Fact] + public async Task AutoGeneratedComment_NoDiagnosticAsync() + { + // Entry point file without shebang, but the second file has an comment, + // so there is effectively only one non-generated file - no diagnostic. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """class Program { static void Main() { } }"""), + ("AssemblyInfo.cs", """ + // + using System; + [assembly: System.Reflection.AssemblyVersion("1.0.0.0")] + """), + }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + }, + }.RunAsync(); + } + + [Fact] + public async Task GeneratedCodePlusRealFile_WarningAsync() + { + // Entry point file without shebang, a real second file, and a generated file. + // Two non-generated files exist, so a warning is expected. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """class Program { static void Main() { } }"""), + ("Util.cs", """class Util { }"""), + ("Test1.g.cs", """class Generated { }"""), + }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + ExpectedDiagnostics = + { + new DiagnosticResult(MissingShebangInFileBasedProgram.Rule).WithLocation("Test0.cs", 1, 1), + }, + }, + }.RunAsync(); + } + + [Fact] + public async Task ShebangNotAtPositionZero_WarningAsync() + { + // A class declaration before #! prevents the parser from treating it as ShebangDirectiveTrivia, + // so the analyzer warns about the missing shebang. + await new VerifyCS.Test + { + TestState = + { + Sources = + { + ("Test0.cs", """ + class Foo { } + #!/usr/bin/env dotnet + class Program { static void Main() { } } + """), + ("Util.cs", """class Util { }"""), + }, + AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, + ExpectedDiagnostics = + { + new DiagnosticResult(MissingShebangInFileBasedProgram.Rule).WithLocation("Test0.cs", 1, 1), + // Preprocessor directives must appear as the first non-whitespace character on a line + DiagnosticResult.CompilerError("CS1040").WithSpan("Test0.cs", 2, 1, 2, 2), + }, + }, + SolutionTransforms = + { + (solution, projectId) => + { + var parseOptions = (CSharpParseOptions)solution.GetProject(projectId)!.ParseOptions!; + return solution.WithProjectParseOptions(projectId, + parseOptions.WithFeatures(parseOptions.Features.Concat( + [new KeyValuePair("FileBasedProgram", "true")]))); + }, + }, + }.RunAsync(); + } + } +} \ No newline at end of file diff --git a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs index 0c2950fa03df..b4adf03ea70c 100644 --- a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs +++ b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs @@ -499,6 +499,7 @@ internal static void WriteProjectFile( artifacts/$(AssemblyName) artifacts/$(AssemblyName) true + {EscapeValue(entryPointFilePath)} {CSharpDirective.IncludeOrExclude.DefaultMappingString} false true diff --git a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs index 333d62f6ec73..26b00a68e870 100644 --- a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs +++ b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs @@ -600,6 +600,7 @@ public void DefaultItems_ImplicitBuildFileInDirectory() Directory.CreateDirectory(srcDir); File.WriteAllText(Path.Join(srcDir, "Program.cs"), """ + #!/usr/bin/env dotnet #:sdk Microsoft.NET.Sdk.Web Console.WriteLine(Util.GetText()); """); @@ -664,6 +665,7 @@ public void DefaultItems_ImplicitBuildFileOutsideDirectory() var subdir = Path.Join(srcDir, "subdir"); Directory.CreateDirectory(subdir); File.WriteAllText(Path.Join(subdir, "Program.cs"), """ + #!/usr/bin/env dotnet Console.WriteLine(Util.GetText()); """); File.WriteAllText(Path.Join(subdir, "Util.cs"), """ @@ -717,6 +719,7 @@ public void DefaultItems_ImplicitBuildFileAndUtilOutsideDirectory() var subdir = Path.Join(srcDir, "subdir"); Directory.CreateDirectory(subdir); File.WriteAllText(Path.Join(subdir, "Program.cs"), """ + #!/usr/bin/env dotnet Console.WriteLine(Util.GetText()); """); File.WriteAllText(Path.Join(srcDir, "Util.cs"), """ diff --git a/test/dotnet.Tests/CommandTests/Run/GivenDotnetRunThrowsAParseError.cs b/test/dotnet.Tests/CommandTests/Run/GivenDotnetRunThrowsAParseError.cs index 035c7e7b1444..a3a59836a148 100644 --- a/test/dotnet.Tests/CommandTests/Run/GivenDotnetRunThrowsAParseError.cs +++ b/test/dotnet.Tests/CommandTests/Run/GivenDotnetRunThrowsAParseError.cs @@ -14,7 +14,7 @@ public void ItFailsWithAnAppropriateErrorMessage() { new DotnetCommand(Log, "run") // executing in a known path, with no project, is a sure way to get run to throw a parse error - .WithWorkingDirectory(Path.GetTempPath()) + .WithWorkingDirectory(Directory.CreateTempSubdirectory().FullName) .Execute("--", "1") .Should().Fail() .And.HaveStdErrContainingOnce("Couldn't find a project to run."); diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index 585e5ab925bc..cab95ebf77b3 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// 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.Immutable; @@ -860,6 +860,7 @@ public void MultipleFiles_RunEntryPoint() // This can be overridden. File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), $""" + #!/usr/bin/env dotnet #:property EnableDefaultCompileItems=true {s_programDependingOnUtil} """); @@ -879,7 +880,10 @@ public void MultipleFiles_RunEntryPoint() public void MultipleFiles_EnableDefaultCompileItemsViaDirectoryBuildProps() { var testInstance = _testAssetsManager.CreateTestDirectory(); - File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_programDependingOnUtil); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), $""" + #!/usr/bin/env dotnet + {s_programDependingOnUtil} + """); File.WriteAllText(Path.Join(testInstance.Path, "Util.cs"), s_util); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), """ @@ -904,6 +908,7 @@ public void MultipleFiles_DirectivesInOtherFiles() { var testInstance = _testAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "A.cs"), """ + #!/usr/bin/env dotnet Console.WriteLine(B.M()); #if !DEBUG Console.WriteLine("Release config"); @@ -1658,6 +1663,7 @@ public void BinaryLog_EvaluationData_MultiFile() File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), $""" + #!/usr/bin/env dotnet #:include *.cs {s_programDependingOnUtil} """); @@ -1815,6 +1821,125 @@ public void Verbosity_CompilationDiagnostics() .And.HaveStdErrContaining(CliCommandStrings.RunCommandException); } + [Fact] + public void MissingShebangWarning() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), """ + + + true + true + + + """); + + // Single-file program without shebang should NOT produce CA2266 + // (the warning only fires when there are multiple files via #:include). + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + Console.WriteLine("hello"); + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdOutContaining("CA2266") + .And.HaveStdOutContaining("hello"); + + // Included file without shebang should not produce CA2266. + File.WriteAllText(Path.Join(testInstance.Path, "Util.cs"), """ + class Util { public static string Greet() => "hello"; } + """); + + // Entry point with shebang and #:include — no warning. + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + #!/usr/bin/env dotnet + #:include Util.cs + Console.WriteLine(Util.Greet()); + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdOutContaining("CA2266") + .And.HaveStdOutContaining("hello"); + + // Entry point without shebang and #:include — CA2266 warning expected. + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + #:include Util.cs + Console.WriteLine(Util.Greet()); + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOutContaining("warning CA2266") + .And.HaveStdOutContaining("hello"); + + // CA2266 can be suppressed via NoWarn. + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + #:property NoWarn=CA2266 + #:include Util.cs + Console.WriteLine(Util.Greet()); + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdOutContaining("CA2266") + .And.HaveStdOutContaining("hello"); + } + + [Fact] + public void MissingShebangWarning_CompileItemFromDirectoryBuildProps() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + // Directory.Build.props adds a Compile item, effectively making + // the compilation multi-file (same as #:include). + File.WriteAllText(Path.Join(testInstance.Path, "Util.cs"), """ + class Util { public static string Greet() => "hello"; } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), """ + + + + + + """); + + // Entry point without shebang — CA2266 warning expected + // because Directory.Build.props added another Compile item. + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + Console.WriteLine(Util.Greet()); + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOutContaining("warning CA2266") + .And.HaveStdOutContaining("hello"); + + // Adding shebang resolves the warning. + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + #!/usr/bin/env dotnet + Console.WriteLine(Util.Greet()); + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("hello"); + } + /// /// File-based projects using the default SDK do not include embedded resources by default. /// @@ -3132,6 +3257,7 @@ public void IncludeDirective( """); File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), $""" + #!/usr/bin/env dotnet #:include {includePattern} {additionalDirectives} #:property MyProp1=cs @@ -3168,6 +3294,7 @@ public void IncludeDirective_WorkingDirectory() """; File.WriteAllText(Path.Join(srcDir, "A.cs"), $""" + #!/usr/bin/env dotnet #:include B.cs {a} """); @@ -3252,6 +3379,7 @@ public void IncludeDirective_Transitive() """; File.WriteAllText(Path.Join(testInstance.Path, "dir1/A.cs"), $""" + #!/usr/bin/env dotnet #:include dir2/B.cs {a} """); @@ -3398,6 +3526,7 @@ public void IncludeDirective_UpToDate_Glob(string glob) var programPath = Path.Join(testInstance.Path, "Program.cs"); File.WriteAllText(programPath, $""" + #!/usr/bin/env dotnet #:include {glob}.cs #:property _Star=* {s_programDependingOnUtil} @@ -3464,6 +3593,7 @@ public void IncludeDirective_UpToDate_NoGlob() var programPath = Path.Join(testInstance.Path, "Program.cs"); File.WriteAllText(programPath, $""" + #!/usr/bin/env dotnet #:include Util.cs {s_programDependingOnUtil} """); @@ -3563,6 +3693,7 @@ class UtilClass var programPath = Path.Join(appDir, "Program.cs"); var programCode = """ + #!/usr/bin/env dotnet #:include Util.cs Console.WriteLine("Program(v1) " + UtilClass.GetMessage()); """; @@ -3592,6 +3723,7 @@ public void IncludeDirective_FeatureFlags() var programPath = Path.Join(testInstance.Path, "Program.cs"); File.WriteAllText(programPath, $""" + #!/usr/bin/env dotnet #:include *.cs {s_programDependingOnUtil} """); @@ -3607,7 +3739,7 @@ public void IncludeDirective_FeatureFlags() .Execute() .Should().Fail() .And.HaveStdErr($""" - {DirectiveError(programPath, 1, Resources.ExperimentalFeatureDisabled, CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableIncludeDirective)} + {DirectiveError(programPath, 2, Resources.ExperimentalFeatureDisabled, CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableIncludeDirective)} {CliCommandStrings.RunCommandException} """); @@ -3661,6 +3793,7 @@ public void IncludeDirective_CustomMapping() var programPath = Path.Join(testInstance.Path, "Program.cs"); File.WriteAllText(programPath, $""" + #!/usr/bin/env dotnet #:property FileBasedProgramsItemMapping=.json=Content #:include *.cs {s_programDependingOnUtil} @@ -3674,12 +3807,13 @@ public void IncludeDirective_CustomMapping() .Execute() .Should().Fail() .And.HaveStdErr($""" - {DirectiveError(programPath, 2, FileBasedProgramsResources.IncludeOrExcludeDirectiveUnknownFileType, "#:include", ".json")} + {DirectiveError(programPath, 3, FileBasedProgramsResources.IncludeOrExcludeDirectiveUnknownFileType, "#:include", ".json")} {CliCommandStrings.RunCommandException} """); File.WriteAllText(programPath, $""" + #!/usr/bin/env dotnet #:property FileBasedProgramsItemMapping=.cs=Content #:include *.cs {s_programDependingOnUtil} @@ -3693,6 +3827,7 @@ public void IncludeDirective_CustomMapping() .And.HaveStdOutContaining("error CS0103"); File.WriteAllText(programPath, $""" + #!/usr/bin/env dotnet #:property FileBasedProgramsItemMapping=.cs=Compile #:include *.cs {s_programDependingOnUtil} @@ -5734,6 +5869,7 @@ public void Api() artifacts/$(AssemblyName) artifacts/$(AssemblyName) true + {programPath} .cs=Compile;.resx=EmbeddedResource;.json=None;.razor=Content false true @@ -5826,6 +5962,7 @@ public void Api_Evaluation() artifacts/$(AssemblyName) artifacts/$(AssemblyName) true + {programPath} .cs=Compile;.resx=EmbeddedResource;.json=None;.razor=Content false true @@ -5901,6 +6038,7 @@ public void Api_Diagnostic_01() artifacts/$(AssemblyName) artifacts/$(AssemblyName) true + {programPath} .cs=Compile;.resx=EmbeddedResource;.json=None;.razor=Content false true @@ -5975,6 +6113,7 @@ public void Api_Diagnostic_02() artifacts/$(AssemblyName) artifacts/$(AssemblyName) true + {programPath} .cs=Compile;.resx=EmbeddedResource;.json=None;.razor=Content false true From 27547d7c9d5adcfc49963ffacc0a5e83ac057ea9 Mon Sep 17 00:00:00 2001 From: Robert Coltheart <13191652+robertcoltheart@users.noreply.github.com> Date: Fri, 10 Apr 2026 00:15:53 +1000 Subject: [PATCH 097/137] Fix dnx not authenticating for private feeds (#53322) --- .../Commands/Tool/Execute/ToolExecuteCommand.cs | 5 +++-- .../NuGetPackageDownloader.cs | 5 +++++ .../PackageSourceLocation.cs | 7 ++++++- src/Cli/dotnet/ToolPackage/PackageLocation.cs | 5 ++++- .../ToolPackage/ToolPackageDownloaderBase.cs | 2 +- .../NuGetPackageInstallerTests.cs | 15 +++++++++++++++ 6 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/Cli/dotnet/Commands/Tool/Execute/ToolExecuteCommand.cs b/src/Cli/dotnet/Commands/Tool/Execute/ToolExecuteCommand.cs index d5f2a2ce7781..5a3b00907319 100644 --- a/src/Cli/dotnet/Commands/Tool/Execute/ToolExecuteCommand.cs +++ b/src/Cli/dotnet/Commands/Tool/Execute/ToolExecuteCommand.cs @@ -114,8 +114,9 @@ public override int Execute() // other feeds, but this is probably OK. var downloadPackageLocation = new PackageLocation( nugetConfig: _configFile != null ? new(_configFile) : null, - sourceFeedOverrides: [packageSource.Source], - additionalFeeds: _addSource); + sourceFeedOverrides: _sources, + additionalFeeds: _addSource, + packageSourceOverrides: [packageSource]); toolPackage = _toolPackageDownloader.InstallPackage( downloadPackageLocation, diff --git a/src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs b/src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs index 7768f6f5d68b..8f19a15380c3 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs +++ b/src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs @@ -468,6 +468,11 @@ private List LoadDefaultSources(PackageId packageId, PackageSourc public IEnumerable LoadNuGetSources(PackageId packageId, PackageSourceLocation packageSourceLocation = null, PackageSourceMapping packageSourceMapping = null) { + if (packageSourceLocation?.PackageSourceOverrides?.Any() ?? false) + { + return packageSourceLocation.PackageSourceOverrides; + } + var sources = (packageSourceLocation?.SourceFeedOverrides.Any() ?? false) ? LoadOverrideSources(packageSourceLocation) : LoadDefaultSources(packageId, packageSourceLocation, packageSourceMapping); diff --git a/src/Cli/dotnet/NugetPackageDownloader/PackageSourceLocation.cs b/src/Cli/dotnet/NugetPackageDownloader/PackageSourceLocation.cs index ed70adeaf924..883965ca1539 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/PackageSourceLocation.cs +++ b/src/Cli/dotnet/NugetPackageDownloader/PackageSourceLocation.cs @@ -4,6 +4,7 @@ #nullable disable using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Configuration; namespace Microsoft.DotNet.Cli.NuGetPackageDownloader; @@ -14,7 +15,8 @@ public PackageSourceLocation( DirectoryPath? rootConfigDirectory = null, string[] sourceFeedOverrides = null, string[] additionalSourceFeeds = null, - string basePath = null) + string basePath = null, + PackageSource[] packageSourceOverrides = null) { basePath = basePath ?? Directory.GetCurrentDirectory(); @@ -24,12 +26,15 @@ public PackageSourceLocation( SourceFeedOverrides = ExpandLocalFeed(sourceFeedOverrides, basePath); // Feeds to be using in addition to config AdditionalSourceFeed = ExpandLocalFeed(additionalSourceFeeds, basePath); + // Feeds that have already been evaluated and selected to be used + PackageSourceOverrides = packageSourceOverrides; } public FilePath? NugetConfig { get; } public DirectoryPath? RootConfigDirectory { get; } public string[] SourceFeedOverrides { get; private set; } public string[] AdditionalSourceFeed { get; private set; } + public PackageSource[] PackageSourceOverrides { get; private set; } private static string[] ExpandLocalFeed(string[] sourceFeedOverrides, string basePath) { diff --git a/src/Cli/dotnet/ToolPackage/PackageLocation.cs b/src/Cli/dotnet/ToolPackage/PackageLocation.cs index b102097a1c2d..c33daeca15e3 100644 --- a/src/Cli/dotnet/ToolPackage/PackageLocation.cs +++ b/src/Cli/dotnet/ToolPackage/PackageLocation.cs @@ -4,6 +4,7 @@ #nullable disable using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Configuration; namespace Microsoft.DotNet.Cli.ToolPackage; @@ -11,10 +12,12 @@ internal class PackageLocation( FilePath? nugetConfig = null, DirectoryPath? rootConfigDirectory = null, string[] additionalFeeds = null, - string[] sourceFeedOverrides = null) + string[] sourceFeedOverrides = null, + PackageSource[] packageSourceOverrides = null) { public FilePath? NugetConfig { get; } = nugetConfig; public DirectoryPath? RootConfigDirectory { get; } = rootConfigDirectory; public string[] AdditionalFeeds { get; } = additionalFeeds ?? []; public string[] SourceFeedOverrides { get; } = sourceFeedOverrides ?? []; + public PackageSource[] PackageSourceOverrides { get; } = packageSourceOverrides ?? []; } diff --git a/src/Cli/dotnet/ToolPackage/ToolPackageDownloaderBase.cs b/src/Cli/dotnet/ToolPackage/ToolPackageDownloaderBase.cs index 28a8e7973846..20cc2c93a1ef 100644 --- a/src/Cli/dotnet/ToolPackage/ToolPackageDownloaderBase.cs +++ b/src/Cli/dotnet/ToolPackage/ToolPackageDownloaderBase.cs @@ -110,7 +110,7 @@ public IToolPackage InstallPackage(PackageLocation packageLocation, PackageId pa verbosity, restoreActionConfig); - var packageSourceLocation = new PackageSourceLocation(packageLocation.NugetConfig, packageLocation.RootConfigDirectory, packageLocation.SourceFeedOverrides, packageLocation.AdditionalFeeds, _currentWorkingDirectory); + var packageSourceLocation = new PackageSourceLocation(packageLocation.NugetConfig, packageLocation.RootConfigDirectory, packageLocation.SourceFeedOverrides, packageLocation.AdditionalFeeds, _currentWorkingDirectory, packageLocation.PackageSourceOverrides); NuGetVersion packageVersion = nugetPackageDownloader.GetBestPackageVersionAsync(packageId, versionRange, packageSourceLocation).GetAwaiter().GetResult(); diff --git a/test/Microsoft.DotNet.PackageInstall.Tests/NuGetPackageInstallerTests.cs b/test/Microsoft.DotNet.PackageInstall.Tests/NuGetPackageInstallerTests.cs index a23dac5004c2..ea904dfde085 100644 --- a/test/Microsoft.DotNet.PackageInstall.Tests/NuGetPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.PackageInstall.Tests/NuGetPackageInstallerTests.cs @@ -244,6 +244,21 @@ public async Task WhenPassedIncludePreviewItInstallSucceeds() "Package should download higher package version"); } + [Fact] + public void GivenPackageOverrideSourceWithCredentialsNugetFeedReturnsSelectedSource() + { + PackageSource source = new PackageSource("NuGet") + { + Credentials = new PackageSourceCredential("NuGet", "user", "pass", true, "basic") + }; + + IEnumerable selectedSources = _toolInstaller.LoadNuGetSources( + TestPackageId, + packageSourceLocation: new PackageSourceLocation(packageSourceOverrides: new[] { source })); + + selectedSources.Should().HaveCount(1).And.Contain(x => x.Credentials != null); + } + [WindowsOnlyFact] public async Task GivenANonSignedSdkItShouldPrintMessageOnce() { From 68096ab79391d84df81a75a73ab5d360eeedbd0c Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 9 Apr 2026 12:08:28 -0400 Subject: [PATCH 098/137] Fix merge of MTP help snapshot file The automated merge from release/10.0.2xx overwrote the 10.0.3xx version of the snapshot file. The two branches have legitimately different help output (10.0.2xx has --show-stderr/--show-stdout, 10.0.3xx has --artifacts-path instead). Restore the 10.0.3xx version. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt b/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt index d9c18b332ea8..9d648d9613c1 100644 --- a/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt +++ b/test/dotnet.Tests/CommandTests/Test/snapshots/MTPHelpSnapshotTests.VerifyMTPHelpOutput.verified.txt @@ -64,8 +64,4 @@ Platform Options: Extension Options: --report-trx Enable generating TRX report - --report-trx-filename The name of the generated TRX report - --show-stderr Determines when to show captured error output of a test. - Valid values are 'All', 'Failed', 'None'. Default is 'All'. - --show-stdout Determines when to show captured standard output of a test. - Valid values are 'All', 'Failed', 'None'. Default is 'All'. \ No newline at end of file + --report-trx-filename The name of the generated TRX report \ No newline at end of file From 6d0eb1c36db37bb6133f12a6cc84f3f7878b2aae Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 9 Apr 2026 12:17:03 -0400 Subject: [PATCH 099/137] Fix merge: restore Version.Details.props/.xml from release/10.0.3xx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The automated merge from release/10.0.2xx incorrectly overwrote dependency versions in Version.Details.props and Version.Details.xml. These files contain dependency versions managed by Maestro/darc and should not be updated by inter-branch merges — each branch has its own dependency flow. The merge downgraded ~60 package versions from 26203 builds to older 26201 builds and changed NuGet, Roslyn, and testing platform versions to incompatible values. Restore both files to match release/10.0.3xx. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/Version.Details.props | 128 +++++++++---------- eng/Version.Details.xml | 258 +++++++++++++++++++------------------- 2 files changed, 193 insertions(+), 193 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 0e586b495ffc..40b8f31a30ed 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26201.115 + 10.0.0-preview.26203.106 10.0.5 10.0.5 - 18.6.0-preview-26201-115 - 18.6.0-preview-26201-115 - 7.6.0-rc.20215 - 10.0.300-alpha.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 10.0.0-preview.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 + 18.6.0-preview-26203-106 + 18.6.0-preview-26203-106 + 7.6.0-rc.20406 + 10.0.300-alpha.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 10.0.0-preview.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26201.115 - 10.0.0-beta.26201.115 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26201.115 + 15.2.300-servicing.26203.106 10.0.5 - 5.7.0-1.26201.115 - 5.7.0-1.26201.115 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26201.115 + 10.0.0-preview.26203.106 10.0.5-servicing.26153.111 - 18.3.0-release-26201-115 + 18.3.0-release-26203-106 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-alpha.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 10.0.300-preview.26201.115 - 18.3.0-release-26201-115 - 18.3.0-release-26201-115 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 18.3.0-release-26203-106 + 18.3.0-release-26203-106 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 - 7.6.0-rc.20215 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 10.0.5 2.0.5 10.0.5 @@ -145,8 +145,8 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 - 2.1.0-preview.26201.3 - 4.1.0-preview.26201.3 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 84930a45e4cf..d144b971620b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,49 +537,49 @@ - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - 008a44e70ea6aac33d4bcbfcf6f6764f7c9bc203 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - 4b12ce96553c32c1038bf81176b98a79994d6967 + 43e592148ac1c7916908477bdffcf2a345affa6d https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet From 8e5eedf313d78924f6d2abead7da56abde20694f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:27:48 +0000 Subject: [PATCH 100/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 266 +++++++-------- eng/Version.Details.xml | 673 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 475 insertions(+), 474 deletions(-) diff --git a/NuGet.config b/NuGet.config index e226baf9b0b6..903609549285 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 94492476bae6..1a73d58a3c79 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,139 +8,139 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-preview.26203.109 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26203-109 - 7.0.2-rc.20409 - 10.0.106 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.0-preview.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 2.0.0-preview.1.26203.109 - 2.2.6 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26203.109 - 10.0.6 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26202.103 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26202-103 + 7.3.0-rc.20303 + 10.0.202 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.0-preview.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26202.103 + 10.0.4 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26203.109 - 10.0.6-servicing.26203.109 - 18.0.2-release-26203-109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 18.0.2-release-26203-109 - 18.0.2-release-26203-109 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26202.103 + 10.0.4-servicing.26119.110 + 18.3.0-release-26202-103 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 18.3.0-release-26202-103 + 18.3.0-release-26202-103 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 2.3.0-preview.26202.5 4.3.0-preview.26202.5 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3a7cdb3a56c8..a1ff22313714 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 https://github.com/microsoft/testfx @@ -569,9 +568,9 @@ https://github.com/microsoft/testfx cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 6f9207378ac4..0552121a41ea 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.109", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.109", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 29ebb0eeb66045897ec0e8825cfc4da0e9599d61 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 08:41:56 +0000 Subject: [PATCH 101/137] Reset files to release/10.0.1xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 52 +- eng/Version.Details.props | 290 +++++ eng/Version.Details.xml | 1081 ++++++++--------- eng/common/CIBuild.cmd | 2 +- eng/common/SetupNugetSources.ps1 | 90 +- eng/common/SetupNugetSources.sh | 192 +-- eng/common/build.ps1 | 11 +- eng/common/build.sh | 33 +- eng/common/cibuild.sh | 2 +- eng/common/core-templates/job/job.yml | 48 +- eng/common/core-templates/job/onelocbuild.yml | 39 +- .../job/publish-build-assets.yml | 83 +- .../core-templates/job/source-build.yml | 15 +- .../job/source-index-stage1.yml | 47 +- .../core-templates/jobs/codeql-build.yml | 1 - eng/common/core-templates/jobs/jobs.yml | 15 +- .../core-templates/jobs/source-build.yml | 23 +- .../core-templates/post-build/post-build.yml | 42 +- .../steps/cleanup-microbuild.yml | 28 + .../core-templates/steps/generate-sbom.yml | 2 +- .../steps/get-delegation-sas.yml | 11 +- .../steps/install-microbuild.yml | 110 ++ .../core-templates/steps/publish-logs.yml | 8 +- .../core-templates/steps/source-build.yml | 88 +- .../steps/source-index-stage1-publish.yml | 35 + eng/common/cross/arm64/tizen/tizen.patch | 2 +- eng/common/cross/build-android-rootfs.sh | 49 +- eng/common/cross/build-rootfs.sh | 237 ++-- eng/common/cross/install-debs.py | 334 +++++ eng/common/cross/tizen-build-rootfs.sh | 0 eng/common/cross/tizen-fetch.sh | 9 +- eng/common/cross/toolchain.cmake | 82 +- eng/common/darc-init.sh | 2 +- eng/common/dotnet.cmd | 7 + eng/common/dotnet.ps1 | 11 + eng/common/dotnet.sh | 26 + eng/common/generate-locproject.ps1 | 49 +- eng/common/generate-sbom-prep.sh | 0 eng/common/native/install-dependencies.sh | 62 + eng/common/post-build/publish-using-darc.ps1 | 9 +- eng/common/post-build/redact-logs.ps1 | 5 +- eng/common/sdk-task.ps1 | 14 +- eng/common/sdk-task.sh | 121 ++ eng/common/sdl/packages.config | 2 +- eng/common/templates-official/job/job.yml | 4 +- .../steps/publish-build-artifacts.yml | 7 +- .../steps/source-index-stage1-publish.yml | 7 + .../variables/pool-providers.yml | 2 +- eng/common/templates/job/job.yml | 4 +- .../steps/publish-build-artifacts.yml | 8 +- .../steps/source-index-stage1-publish.yml | 7 + eng/common/templates/steps/vmr-sync.yml | 186 +++ .../templates/variables/pool-providers.yml | 2 +- eng/common/templates/vmr-build-pr.yml | 43 + eng/common/tools.ps1 | 71 +- eng/common/tools.sh | 81 +- eng/common/vmr-sync.ps1 | 164 +++ eng/common/vmr-sync.sh | 227 ++++ global.json | 21 +- 59 files changed, 2940 insertions(+), 1263 deletions(-) create mode 100644 eng/Version.Details.props mode change 100644 => 100755 eng/common/SetupNugetSources.sh create mode 100644 eng/common/core-templates/steps/cleanup-microbuild.yml create mode 100644 eng/common/core-templates/steps/install-microbuild.yml create mode 100644 eng/common/core-templates/steps/source-index-stage1-publish.yml create mode 100755 eng/common/cross/install-debs.py mode change 100644 => 100755 eng/common/cross/tizen-build-rootfs.sh mode change 100644 => 100755 eng/common/cross/tizen-fetch.sh create mode 100644 eng/common/dotnet.cmd create mode 100644 eng/common/dotnet.ps1 create mode 100755 eng/common/dotnet.sh mode change 100644 => 100755 eng/common/generate-sbom-prep.sh create mode 100755 eng/common/native/install-dependencies.sh create mode 100755 eng/common/sdk-task.sh create mode 100644 eng/common/templates-official/steps/source-index-stage1-publish.yml create mode 100644 eng/common/templates/steps/source-index-stage1-publish.yml create mode 100644 eng/common/templates/steps/vmr-sync.yml create mode 100644 eng/common/templates/vmr-build-pr.yml create mode 100755 eng/common/vmr-sync.ps1 create mode 100755 eng/common/vmr-sync.sh diff --git a/NuGet.config b/NuGet.config index 4460caf81a88..e226baf9b0b6 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,44 +3,15 @@ - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - @@ -51,6 +22,8 @@ + + @@ -60,19 +33,14 @@ + + + - - - - - - - - diff --git a/eng/Version.Details.props b/eng/Version.Details.props new file mode 100644 index 000000000000..94492476bae6 --- /dev/null +++ b/eng/Version.Details.props @@ -0,0 +1,290 @@ + + + + + 2.1.0 + + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-preview.26203.109 + 10.0.6 + 10.0.6 + 18.0.11 + 18.0.11-servicing-26203-109 + 7.0.2-rc.20409 + 10.0.106 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.0-preview.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 2.0.0-preview.1.26203.109 + 2.2.6 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 14.0.106-servicing.26203.109 + 10.0.6 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.0-preview.7.25377.103 + 10.0.0-preview.26203.109 + 10.0.6-servicing.26203.109 + 18.0.2-release-26203-109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106-servicing.26203.109 + 10.0.106 + 10.0.106-servicing.26203.109 + 10.0.106 + 10.0.106 + 10.0.106-servicing.26203.109 + 18.0.2-release-26203-109 + 18.0.2-release-26203-109 + 3.2.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 10.0.6 + 2.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + + 2.3.0-preview.26202.5 + 4.3.0-preview.26202.5 + + + + + $(NETStandardLibraryRefPackageVersion) + + $(dotnetdevcertsPackageVersion) + $(dotnetuserjwtsPackageVersion) + $(dotnetusersecretsPackageVersion) + $(MicrosoftAspNetCoreAnalyzersPackageVersion) + $(MicrosoftAspNetCoreAppRefPackageVersion) + $(MicrosoftAspNetCoreAppRefInternalPackageVersion) + $(MicrosoftAspNetCoreAuthenticationFacebookPackageVersion) + $(MicrosoftAspNetCoreAuthenticationGooglePackageVersion) + $(MicrosoftAspNetCoreAuthenticationMicrosoftAccountPackageVersion) + $(MicrosoftAspNetCoreAuthorizationPackageVersion) + $(MicrosoftAspNetCoreComponentsPackageVersion) + $(MicrosoftAspNetCoreComponentsAnalyzersPackageVersion) + $(MicrosoftAspNetCoreComponentsFormsPackageVersion) + $(MicrosoftAspNetCoreComponentsSdkAnalyzersPackageVersion) + $(MicrosoftAspNetCoreComponentsWebPackageVersion) + $(MicrosoftAspNetCoreComponentsWebAssemblyPackageVersion) + $(MicrosoftAspNetCoreComponentsWebAssemblyServerPackageVersion) + $(MicrosoftAspNetCoreComponentsWebViewPackageVersion) + $(MicrosoftAspNetCoreDeveloperCertificatesXPlatPackageVersion) + $(MicrosoftAspNetCoreMetadataPackageVersion) + $(MicrosoftAspNetCoreMvcAnalyzersPackageVersion) + $(MicrosoftAspNetCoreMvcApiAnalyzersPackageVersion) + $(MicrosoftAspNetCoreMvcRazorExtensionsToolingInternalPackageVersion) + $(MicrosoftAspNetCoreTestHostPackageVersion) + $(MicrosoftBclAsyncInterfacesPackageVersion) + $(MicrosoftBuildPackageVersion) + $(MicrosoftBuildLocalizationPackageVersion) + $(MicrosoftBuildNuGetSdkResolverPackageVersion) + $(MicrosoftBuildTasksGitPackageVersion) + $(MicrosoftCodeAnalysisPackageVersion) + $(MicrosoftCodeAnalysisBuildClientPackageVersion) + $(MicrosoftCodeAnalysisCSharpPackageVersion) + $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) + $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) + $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) + $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftDeploymentDotNetReleasesPackageVersion) + $(MicrosoftDiaSymReaderPackageVersion) + $(MicrosoftDotNetArcadeSdkPackageVersion) + $(MicrosoftDotNetBuildTasksInstallersPackageVersion) + $(MicrosoftDotNetBuildTasksTemplatingPackageVersion) + $(MicrosoftDotNetBuildTasksWorkloadsPackageVersion) + $(MicrosoftDotNetHelixSdkPackageVersion) + $(MicrosoftDotNetSignToolPackageVersion) + $(MicrosoftDotNetWebItemTemplates100PackageVersion) + $(MicrosoftDotNetWebProjectTemplates100PackageVersion) + $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) + $(MicrosoftDotNetXliffTasksPackageVersion) + $(MicrosoftDotNetXUnitExtensionsPackageVersion) + $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyModelPackageVersion) + $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) + $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) + $(MicrosoftExtensionsFileSystemGlobbingPackageVersion) + $(MicrosoftExtensionsLoggingPackageVersion) + $(MicrosoftExtensionsLoggingAbstractionsPackageVersion) + $(MicrosoftExtensionsLoggingConsolePackageVersion) + $(MicrosoftExtensionsObjectPoolPackageVersion) + $(MicrosoftFSharpCompilerPackageVersion) + $(MicrosoftJSInteropPackageVersion) + $(MicrosoftNetCompilersToolsetPackageVersion) + $(MicrosoftNetCompilersToolsetFrameworkPackageVersion) + $(MicrosoftNETHostModelPackageVersion) + $(MicrosoftNETILLinkTasksPackageVersion) + $(MicrosoftNETRuntimeEmscripten3156Cachewinx64PackageVersion) + $(MicrosoftNETRuntimeEmscriptenSdkInternalPackageVersion) + $(MicrosoftNETSdkRazorSourceGeneratorsTransportPackageVersion) + $(MicrosoftNETSdkWindowsDesktopPackageVersion) + $(MicrosoftNETTestSdkPackageVersion) + $(MicrosoftNETCoreAppRefPackageVersion) + $(MicrosoftNETCorePlatformsPackageVersion) + $(MicrosoftSourceLinkAzureReposGitPackageVersion) + $(MicrosoftSourceLinkBitbucketGitPackageVersion) + $(MicrosoftSourceLinkCommonPackageVersion) + $(MicrosoftSourceLinkGitHubPackageVersion) + $(MicrosoftSourceLinkGitLabPackageVersion) + $(MicrosoftTemplateEngineAbstractionsPackageVersion) + $(MicrosoftTemplateEngineAuthoringTemplateVerifierPackageVersion) + $(MicrosoftTemplateEngineEdgePackageVersion) + $(MicrosoftTemplateEngineMocksPackageVersion) + $(MicrosoftTemplateEngineOrchestratorRunnableProjectsPackageVersion) + $(MicrosoftTemplateEngineTestHelperPackageVersion) + $(MicrosoftTemplateEngineUtilsPackageVersion) + $(MicrosoftTemplateSearchCommonPackageVersion) + $(MicrosoftTemplateSearchTemplateDiscoveryPackageVersion) + $(MicrosoftTestPlatformBuildPackageVersion) + $(MicrosoftTestPlatformCLIPackageVersion) + $(MicrosoftWebXdtPackageVersion) + $(MicrosoftWin32SystemEventsPackageVersion) + $(MicrosoftWindowsDesktopAppInternalPackageVersion) + $(MicrosoftWindowsDesktopAppRefPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksConsolePackageVersion) + $(NuGetBuildTasksPackPackageVersion) + $(NuGetCommandLineXPlatPackageVersion) + $(NuGetCommandsPackageVersion) + $(NuGetCommonPackageVersion) + $(NuGetConfigurationPackageVersion) + $(NuGetCredentialsPackageVersion) + $(NuGetDependencyResolverCorePackageVersion) + $(NuGetFrameworksPackageVersion) + $(NuGetLibraryModelPackageVersion) + $(NuGetLocalizationPackageVersion) + $(NuGetPackagingPackageVersion) + $(NuGetProjectModelPackageVersion) + $(NuGetProtocolPackageVersion) + $(NuGetVersioningPackageVersion) + $(SystemCodeDomPackageVersion) + $(SystemCommandLinePackageVersion) + $(SystemComponentModelCompositionPackageVersion) + $(SystemCompositionAttributedModelPackageVersion) + $(SystemCompositionConventionPackageVersion) + $(SystemCompositionHostingPackageVersion) + $(SystemCompositionRuntimePackageVersion) + $(SystemCompositionTypedPartsPackageVersion) + $(SystemConfigurationConfigurationManagerPackageVersion) + $(SystemDiagnosticsDiagnosticSourcePackageVersion) + $(SystemFormatsAsn1PackageVersion) + $(SystemIOHashingPackageVersion) + $(SystemReflectionMetadataLoadContextPackageVersion) + $(SystemResourcesExtensionsPackageVersion) + $(SystemSecurityCryptographyPkcsPackageVersion) + $(SystemSecurityCryptographyProtectedDataPackageVersion) + $(SystemSecurityCryptographyXmlPackageVersion) + $(SystemSecurityPermissionsPackageVersion) + $(SystemServiceProcessServiceControllerPackageVersion) + $(SystemTextEncodingCodePagesPackageVersion) + $(SystemTextJsonPackageVersion) + $(SystemWindowsExtensionsPackageVersion) + + $(MicrosoftTestingPlatformPackageVersion) + $(MSTestPackageVersion) + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 25d8b3f5e48f..3a7cdb3a56c8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,634 +1,577 @@ + - - https://github.com/dotnet/templating - 34a5893f3ec336db55d3da5621a96106b418db5b - - - https://github.com/dotnet/templating - 34a5893f3ec336db55d3da5621a96106b418db5b - - - - https://github.com/dotnet/templating - b73682307aa0128c5edbec94c2e6a070d13ae6bb - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - - https://github.com/dotnet/emsdk - fb1326b0f4622f04f21584dc133f1c71f7554509 - - - - https://github.com/dotnet/emsdk - fb1326b0f4622f04f21584dc133f1c71f7554509 - - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - - https://github.com/dotnet/fsharp - 14987c804f33917bf15f4c25e0cd16ecd01807f4 - - - - https://github.com/dotnet/fsharp - 14987c804f33917bf15f4c25e0cd16ecd01807f4 - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 - - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6a953e76162f3f079405f80e28664fa51b136740 + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 - - - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 72d4e0415ec4ae0771a5df3e05260691a5d6775b - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-winforms - 9399df09f8f8a187dcf1941b1d07a538ca197171 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 72d4e0415ec4ae0771a5df3e05260691a5d6775b - - - https://github.com/dotnet/xdt - 63ae81154c50a1cf9287cc47d8351d55b4289e6d - - - - https://github.com/dotnet/xdt - 63ae81154c50a1cf9287cc47d8351d55b4289e6d - - - - https://github.com/dotnet/roslyn-analyzers - 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn-analyzers - 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 - - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - - https://github.com/dotnet/symreader - 0710a7892d89999956e8808c28e9dd0512bd53f3 - - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db - - - - - https://github.com/dotnet/source-build-externals - 71dbdccd13f28cfd1a35649263b55ebbeab26ee7 - - - - - https://github.com/dotnet/source-build-reference-packages - 6092b62b7f35fddbd6bf31e19b2ab64bbe2443ae - - - - https://github.com/dotnet/deployment-tools - b2d5c0c5841de4bc036ef4c84b5db3532504e5f3 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - - - https://github.com/dotnet/deployment-tools - b2d5c0c5841de4bc036ef4c84b5db3532504e5f3 - - - - - https://github.com/dotnet/symreader - 0710a7892d89999956e8808c28e9dd0512bd53f3 - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://github.com/dotnet/arcade-services - e156e649f28395d9d0ee1e848225a689b59e0fd3 - - - https://github.com/dotnet/arcade-services - e156e649f28395d9d0ee1e848225a689b59e0fd3 - - - https://github.com/dotnet/scenario-tests - 0f750c53b3052a593c6daacc0d60eb8c0d2d9cf1 - - - - https://github.com/dotnet/scenario-tests - 0f750c53b3052a593c6daacc0d60eb8c0d2d9cf1 - - - - - https://github.com/dotnet/aspire - 5fa9337a84a52e9bd185d04d156eccbdcf592f74 - - - - https://github.com/dotnet/aspire - 5fa9337a84a52e9bd185d04d156eccbdcf592f74 - - - - https://github.com/dotnet/runtime - e77011b31a3e5c47d931248a64b47f9b2d47853d + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/microsoft/testfx + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + + + https://github.com/microsoft/testfx + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a diff --git a/eng/common/CIBuild.cmd b/eng/common/CIBuild.cmd index 56c2f25ac22f..ac1f72bf94e0 100644 --- a/eng/common/CIBuild.cmd +++ b/eng/common/CIBuild.cmd @@ -1,2 +1,2 @@ @echo off -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*" \ No newline at end of file +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*" diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1 index 792b60b49d42..65ed3a8adef0 100644 --- a/eng/common/SetupNugetSources.ps1 +++ b/eng/common/SetupNugetSources.ps1 @@ -1,13 +1,14 @@ # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables -# disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, +# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. +# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # # See example call for this script below. # # - task: PowerShell@2 -# displayName: Setup Private Feeds Credentials +# displayName: Setup internal Feeds Credentials # condition: eq(variables['Agent.OS'], 'Windows_NT') # inputs: # filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.ps1 @@ -34,19 +35,28 @@ Set-StrictMode -Version 2.0 . $PSScriptRoot\tools.ps1 +# Adds or enables the package source with the given name +function AddOrEnablePackageSource($sources, $disabledPackageSources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) { + if ($disabledPackageSources -eq $null -or -not (EnableInternalPackageSource -DisabledPackageSources $disabledPackageSources -Creds $creds -PackageSourceName $SourceName)) { + AddPackageSource -Sources $sources -SourceName $SourceName -SourceEndPoint $SourceEndPoint -Creds $creds -Username $userName -pwd $Password + } +} + # Add source entry to PackageSources function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) { $packageSource = $sources.SelectSingleNode("add[@key='$SourceName']") if ($packageSource -eq $null) { + Write-Host "Adding package source $SourceName" + $packageSource = $doc.CreateElement("add") $packageSource.SetAttribute("key", $SourceName) $packageSource.SetAttribute("value", $SourceEndPoint) $sources.AppendChild($packageSource) | Out-Null } else { - Write-Host "Package source $SourceName already present." + Write-Host "Package source $SourceName already present and enabled." } AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd @@ -59,6 +69,8 @@ function AddCredential($creds, $source, $username, $pwd) { return; } + Write-Host "Inserting credential for feed: " $source + # Looks for credential configuration for the given SourceName. Create it if none is found. $sourceElement = $creds.SelectSingleNode($Source) if ($sourceElement -eq $null) @@ -91,24 +103,27 @@ function AddCredential($creds, $source, $username, $pwd) { $passwordElement.SetAttribute("value", $pwd) } -function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) { - $maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]") - - Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds." - - ForEach ($PackageSource in $maestroPrivateSources) { - Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key - AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd +# Enable all darc-int package sources. +function EnableMaestroInternalPackageSources($DisabledPackageSources, $Creds) { + $maestroInternalSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]") + ForEach ($DisabledPackageSource in $maestroInternalSources) { + EnableInternalPackageSource -DisabledPackageSources $DisabledPackageSources -Creds $Creds -PackageSourceName $DisabledPackageSource.key } } -function EnablePrivatePackageSources($DisabledPackageSources) { - $maestroPrivateSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]") - ForEach ($DisabledPackageSource in $maestroPrivateSources) { - Write-Host "`tEnsuring private source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource" +# Enables an internal package source by name, if found. Returns true if the package source was found and enabled, false otherwise. +function EnableInternalPackageSource($DisabledPackageSources, $Creds, $PackageSourceName) { + $DisabledPackageSource = $DisabledPackageSources.SelectSingleNode("add[@key='$PackageSourceName']") + if ($DisabledPackageSource) { + Write-Host "Enabling internal source '$($DisabledPackageSource.key)'." + # Due to https://github.com/NuGet/Home/issues/10291, we must actually remove the disabled entries $DisabledPackageSources.RemoveChild($DisabledPackageSource) + + AddCredential -Creds $creds -Source $DisabledPackageSource.Key -Username $userName -pwd $Password + return $true } + return $false } if (!(Test-Path $ConfigFile -PathType Leaf)) { @@ -121,15 +136,17 @@ $doc = New-Object System.Xml.XmlDocument $filename = (Get-Item $ConfigFile).FullName $doc.Load($filename) -# Get reference to or create one if none exist already +# Get reference to - fail if none exist $sources = $doc.DocumentElement.SelectSingleNode("packageSources") if ($sources -eq $null) { - $sources = $doc.CreateElement("packageSources") - $doc.DocumentElement.AppendChild($sources) | Out-Null + Write-PipelineTelemetryError -Category 'Build' -Message "Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile" + ExitWithExitCode 1 } $creds = $null +$feedSuffix = "v3/index.json" if ($Password) { + $feedSuffix = "v2" # Looks for a node. Create it if none is found. $creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials") if ($creds -eq $null) { @@ -138,34 +155,35 @@ if ($Password) { } } +$userName = "dn-bot" + # Check for disabledPackageSources; we'll enable any darc-int ones we find there $disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources") if ($disabledSources -ne $null) { Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node" - EnablePrivatePackageSources -DisabledPackageSources $disabledSources + EnableMaestroInternalPackageSources -DisabledPackageSources $disabledSources -Creds $creds } - -$userName = "dn-bot" - -# Insert credential nodes for Maestro's private feeds -InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password - -# 3.1 uses a different feed url format so it's handled differently here -$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']") -if ($dotnet31Source -ne $null) { - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password -} - -$dotnetVersions = @('5','6','7','8','9') +$dotnetVersions = @('5','6','7','8','9','10') foreach ($dotnetVersion in $dotnetVersions) { $feedPrefix = "dotnet" + $dotnetVersion; $dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']") if ($dotnetSource -ne $null) { - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password } } +# Check for dotnet-eng and add dotnet-eng-internal if present +$dotnetEngSource = $sources.SelectSingleNode("add[@key='dotnet-eng']") +if ($dotnetEngSource -ne $null) { + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-eng-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password +} + +# Check for dotnet-tools and add dotnet-tools-internal if present +$dotnetToolsSource = $sources.SelectSingleNode("add[@key='dotnet-tools']") +if ($dotnetToolsSource -ne $null) { + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-tools-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password +} + $doc.Save($filename) diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh old mode 100644 new mode 100755 index facb415ca6ff..b2163abbe71b --- a/eng/common/SetupNugetSources.sh +++ b/eng/common/SetupNugetSources.sh @@ -1,8 +1,9 @@ #!/usr/bin/env bash # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables -# disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, +# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. +# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # @@ -52,81 +53,139 @@ if [[ `uname -s` == "Darwin" ]]; then TB='' fi -# Ensure there is a ... section. -grep -i "" $ConfigFile -if [ "$?" != "0" ]; then - echo "Adding ... section." - ConfigNodeHeader="" - PackageSourcesTemplate="${TB}${NL}${TB}" +# Enables an internal package source by name, if found. Returns 0 if found and enabled, 1 if not found. +EnableInternalPackageSource() { + local PackageSourceName="$1" + + # Check if disabledPackageSources section exists + grep -i "" "$ConfigFile" > /dev/null + if [ "$?" != "0" ]; then + return 1 # No disabled sources section + fi + + # Check if this source name is disabled + grep -i " /dev/null + if [ "$?" == "0" ]; then + echo "Enabling internal source '$PackageSourceName'." + # Remove the disabled entry (including any surrounding comments or whitespace on the same line) + sed -i.bak "//d" "$ConfigFile" + + # Add the source name to PackageSources for credential handling + PackageSources+=("$PackageSourceName") + return 0 # Found and enabled + fi + + return 1 # Not found in disabled sources +} + +# Add source entry to PackageSources +AddPackageSource() { + local SourceName="$1" + local SourceEndPoint="$2" + + # Check if source already exists + grep -i " /dev/null + if [ "$?" == "0" ]; then + echo "Package source $SourceName already present and enabled." + PackageSources+=("$SourceName") + return + fi + + echo "Adding package source $SourceName" + PackageSourcesNodeFooter="" + PackageSourceTemplate="${TB}" + + sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" "$ConfigFile" + PackageSources+=("$SourceName") +} + +# Adds or enables the package source with the given name +AddOrEnablePackageSource() { + local SourceName="$1" + local SourceEndPoint="$2" + + # Try to enable if disabled, if not found then add new source + EnableInternalPackageSource "$SourceName" + if [ "$?" != "0" ]; then + AddPackageSource "$SourceName" "$SourceEndPoint" + fi +} - sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" $ConfigFile -fi +# Enable all darc-int package sources +EnableMaestroInternalPackageSources() { + # Check if disabledPackageSources section exists + grep -i "" "$ConfigFile" > /dev/null + if [ "$?" != "0" ]; then + return # No disabled sources section + fi + + # Find all darc-int disabled sources + local DisabledDarcIntSources=() + DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' "$ConfigFile" | tr -d '"') + + for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do + if [[ $DisabledSourceName == darc-int* ]]; then + EnableInternalPackageSource "$DisabledSourceName" + fi + done +} -# Ensure there is a ... section. -grep -i "" $ConfigFile +# Ensure there is a ... section. +grep -i "" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding ... section." - - PackageSourcesNodeFooter="" - PackageSourceCredentialsTemplate="${TB}${NL}${TB}" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile + Write-PipelineTelemetryError -Category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile" + ExitWithExitCode 1 fi PackageSources=() -# Ensure dotnet3.1-internal and dotnet3.1-internal-transport are in the packageSources if the public dotnet3.1 feeds are present -grep -i "... section. + grep -i "" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding dotnet3.1-internal to the packageSources." - PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" + echo "Adding ... section." - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=('dotnet3.1-internal') - - grep -i "" $ConfigFile - if [ "$?" != "0" ]; then - echo "Adding dotnet3.1-internal-transport to the packageSources." PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" + PackageSourceCredentialsTemplate="${TB}${NL}${TB}" - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile + sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile fi - PackageSources+=('dotnet3.1-internal-transport') fi -DotNetVersions=('5' '6' '7' '8' '9') +# Check for disabledPackageSources; we'll enable any darc-int ones we find there +grep -i "" $ConfigFile > /dev/null +if [ "$?" == "0" ]; then + echo "Checking for any darc-int disabled package sources in the disabledPackageSources node" + EnableMaestroInternalPackageSources +fi + +DotNetVersions=('5' '6' '7' '8' '9' '10') for DotNetVersion in ${DotNetVersions[@]} ; do FeedPrefix="dotnet${DotNetVersion}"; - grep -i " /dev/null if [ "$?" == "0" ]; then - grep -i "" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=("$FeedPrefix-internal") - - grep -i "" $ConfigFile - if [ "$?" != "0" ]; then - echo "Adding $FeedPrefix-internal-transport to the packageSources." - PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=("$FeedPrefix-internal-transport") + AddOrEnablePackageSource "$FeedPrefix-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal/nuget/$FeedSuffix" + AddOrEnablePackageSource "$FeedPrefix-internal-transport" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal-transport/nuget/$FeedSuffix" fi done +# Check for dotnet-eng and add dotnet-eng-internal if present +grep -i " /dev/null +if [ "$?" == "0" ]; then + AddOrEnablePackageSource "dotnet-eng-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$FeedSuffix" +fi + +# Check for dotnet-tools and add dotnet-tools-internal if present +grep -i " /dev/null +if [ "$?" == "0" ]; then + AddOrEnablePackageSource "dotnet-tools-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$FeedSuffix" +fi + # I want things split line by line PrevIFS=$IFS IFS=$'\n' @@ -139,29 +198,12 @@ if [ "$CredToken" ]; then # Check if there is no existing credential for this FeedName grep -i "<$FeedName>" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding credentials for $FeedName." + echo " Inserting credential for feed: $FeedName" PackageSourceCredentialsNodeFooter="" - NewCredential="${TB}${TB}<$FeedName>${NL}${NL}${NL}" + NewCredential="${TB}${TB}<$FeedName>${NL}${TB}${NL}${TB}${TB}${NL}${TB}${TB}" sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile fi done fi - -# Re-enable any entries in disabledPackageSources where the feed name contains darc-int -grep -i "" $ConfigFile -if [ "$?" == "0" ]; then - DisabledDarcIntSources=() - echo "Re-enabling any disabled \"darc-int\" package sources in $ConfigFile" - DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' $ConfigFile | tr -d '"') - for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do - if [[ $DisabledSourceName == darc-int* ]] - then - OldDisableValue="" - NewDisableValue="" - sed -i.bak "s|$OldDisableValue|$NewDisableValue|" $ConfigFile - echo "Neutralized disablePackageSources entry for '$DisabledSourceName'" - fi - done -fi diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index 438f9920c43e..8cfee107e7a3 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -7,6 +7,7 @@ Param( [string] $msbuildEngine = $null, [bool] $warnAsError = $true, [bool] $nodeReuse = $true, + [switch] $buildCheck = $false, [switch][Alias('r')]$restore, [switch] $deployDeps, [switch][Alias('b')]$build, @@ -20,6 +21,7 @@ Param( [switch] $publish, [switch] $clean, [switch][Alias('pb')]$productBuild, + [switch]$fromVMR, [switch][Alias('bl')]$binaryLog, [switch][Alias('nobl')]$excludeCIBinarylog, [switch] $ci, @@ -71,6 +73,9 @@ function Print-Usage() { Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio" Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)" + Write-Host " -nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')" + Write-Host " -buildCheck Sets /check msbuild parameter" + Write-Host " -fromVMR Set when building from within the VMR" Write-Host "" Write-Host "Command line arguments not listed above are passed thru to msbuild." @@ -97,6 +102,7 @@ function Build { $bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' } $platformArg = if ($platform) { "/p:Platform=$platform" } else { '' } + $check = if ($buildCheck) { '/check' } else { '' } if ($projects) { # Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons. @@ -113,6 +119,7 @@ function Build { MSBuild $toolsetBuildProj ` $bl ` $platformArg ` + $check ` /p:Configuration=$configuration ` /p:RepoRoot=$RepoRoot ` /p:Restore=$restore ` @@ -122,11 +129,13 @@ function Build { /p:Deploy=$deploy ` /p:Test=$test ` /p:Pack=$pack ` - /p:DotNetBuildRepo=$productBuild ` + /p:DotNetBuild=$productBuild ` + /p:DotNetBuildFromVMR=$fromVMR ` /p:IntegrationTest=$integrationTest ` /p:PerformanceTest=$performanceTest ` /p:Sign=$sign ` /p:Publish=$publish ` + /p:RestoreStaticGraphEnableBinaryLogger=$binaryLog ` @properties } diff --git a/eng/common/build.sh b/eng/common/build.sh index ac1ee8620cd2..9767bb411a4f 100755 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -42,6 +42,8 @@ usage() echo " --prepareMachine Prepare machine for CI run, clean up processes after build" echo " --nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')" echo " --warnAsError Sets warnaserror msbuild parameter ('true' or 'false')" + echo " --buildCheck Sets /check msbuild parameter" + echo " --fromVMR Set when building from within the VMR" echo "" echo "Command line arguments not listed above are passed thru to msbuild." echo "Arguments can also be passed in with a single hyphen." @@ -63,6 +65,7 @@ restore=false build=false source_build=false product_build=false +from_vmr=false rebuild=false test=false integration_test=false @@ -76,6 +79,7 @@ clean=false warn_as_error=true node_reuse=true +build_check=false binary_log=false exclude_ci_binary_log=false pipelines_log=false @@ -87,7 +91,7 @@ verbosity='minimal' runtime_source_feed='' runtime_source_feed_key='' -properties='' +properties=() while [[ $# > 0 ]]; do opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")" case "$opt" in @@ -127,19 +131,22 @@ while [[ $# > 0 ]]; do -pack) pack=true ;; - -sourcebuild|-sb) + -sourcebuild|-source-build|-sb) build=true source_build=true product_build=true restore=true pack=true ;; - -productBuild|-pb) + -productbuild|-product-build|-pb) build=true product_build=true restore=true pack=true ;; + -fromvmr|-from-vmr) + from_vmr=true + ;; -test|-t) test=true ;; @@ -173,6 +180,9 @@ while [[ $# > 0 ]]; do node_reuse=$2 shift ;; + -buildcheck) + build_check=true + ;; -runtimesourcefeed) runtime_source_feed=$2 shift @@ -182,7 +192,7 @@ while [[ $# > 0 ]]; do shift ;; *) - properties="$properties $1" + properties+=("$1") ;; esac @@ -216,7 +226,7 @@ function Build { InitializeCustomToolset if [[ ! -z "$projects" ]]; then - properties="$properties /p:Projects=$projects" + properties+=("/p:Projects=$projects") fi local bl="" @@ -224,15 +234,21 @@ function Build { bl="/bl:\"$log_dir/Build.binlog\"" fi + local check="" + if [[ "$build_check" == true ]]; then + check="/check" + fi + MSBuild $_InitializeToolset \ $bl \ + $check \ /p:Configuration=$configuration \ /p:RepoRoot="$repo_root" \ /p:Restore=$restore \ /p:Build=$build \ - /p:DotNetBuildRepo=$product_build \ - /p:ArcadeBuildFromSource=$source_build \ + /p:DotNetBuild=$product_build \ /p:DotNetBuildSourceOnly=$source_build \ + /p:DotNetBuildFromVMR=$from_vmr \ /p:Rebuild=$rebuild \ /p:Test=$test \ /p:Pack=$pack \ @@ -240,7 +256,8 @@ function Build { /p:PerformanceTest=$performance_test \ /p:Sign=$sign \ /p:Publish=$publish \ - $properties + /p:RestoreStaticGraphEnableBinaryLogger=$binary_log \ + ${properties[@]+"${properties[@]}"} ExitWithExitCode 0 } diff --git a/eng/common/cibuild.sh b/eng/common/cibuild.sh index 1a02c0dec8fd..66e3b0ac61c3 100755 --- a/eng/common/cibuild.sh +++ b/eng/common/cibuild.sh @@ -13,4 +13,4 @@ while [[ -h $source ]]; do done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" -. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@ \ No newline at end of file +. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@ diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml index 8da43d3b5837..5ce518406198 100644 --- a/eng/common/core-templates/job/job.yml +++ b/eng/common/core-templates/job/job.yml @@ -19,11 +19,11 @@ parameters: # publishing defaults artifacts: '' enableMicrobuild: false + enableMicrobuildForMacAndLinux: false microbuildUseESRP: true enablePublishBuildArtifacts: false enablePublishBuildAssets: false enablePublishTestResults: false - enablePublishUsingPipelines: false enableBuildRetry: false mergeTestResults: false testRunTitle: '' @@ -74,9 +74,6 @@ jobs: - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE value: '$(Build.Repository.Uri)' - - ${{ if eq(parameters.enableRichCodeNavigation, 'true') }}: - - name: EnableRichCodeNavigation - value: 'true' # Retry signature validation up to three times, waiting 2 seconds between attempts. # See https://learn.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu3028#retry-untrusted-root-failures - name: NUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY @@ -128,23 +125,12 @@ jobs: - ${{ preStep }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ if eq(parameters.enableMicrobuild, 'true') }}: - - task: MicroBuildSigningPlugin@4 - displayName: Install MicroBuild plugin - inputs: - signType: $(_SignType) - zipSources: false - feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json - ${{ if eq(parameters.microbuildUseESRP, true) }}: - ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: - ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea - ${{ else }}: - ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca - env: - TeamName: $(_TeamName) - MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)' + - template: /eng/common/core-templates/steps/install-microbuild.yml + parameters: + enableMicrobuild: ${{ parameters.enableMicrobuild }} + enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} + microbuildUseESRP: ${{ parameters.microbuildUseESRP }} continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT')) - ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}: - task: NuGetAuthenticate@1 @@ -160,27 +146,15 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} - - ${{ if eq(parameters.enableRichCodeNavigation, true) }}: - - task: RichCodeNavIndexer@0 - displayName: RichCodeNav Upload - inputs: - languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }} - environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'internal') }} - richNavLogOutputDirectory: $(System.DefaultWorkingDirectory)/artifacts/bin - uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }} - continueOnError: true - - ${{ each step in parameters.componentGovernanceSteps }}: - ${{ step }} - - ${{ if eq(parameters.enableMicrobuild, 'true') }}: - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: MicroBuildCleanup@1 - displayName: Execute Microbuild cleanup tasks - condition: and(always(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT')) + - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - template: /eng/common/core-templates/steps/cleanup-microbuild.yml + parameters: + enableMicrobuild: ${{ parameters.enableMicrobuild }} + enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} continueOnError: ${{ parameters.continueOnError }} - env: - TeamName: $(_TeamName) # Publish test results - ${{ if or(and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')), eq(parameters.testResultsFormat, 'xunit')) }}: diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index edefa789d360..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -4,7 +4,7 @@ parameters: # Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool pool: '' - + CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex GithubPat: $(BotAccount-dotnet-bot-repo-PAT) @@ -27,7 +27,7 @@ parameters: is1ESPipeline: '' jobs: - job: OneLocBuild${{ parameters.JobNameSuffix }} - + dependsOn: ${{ parameters.dependsOn }} displayName: OneLocBuild${{ parameters.JobNameSuffix }} @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: @@ -86,8 +86,7 @@ jobs: isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }} ${{ if eq(parameters.CreatePr, true) }}: isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }} - ${{ if eq(parameters.RepoType, 'gitHub') }}: - isShouldReusePrSelected: ${{ parameters.ReusePr }} + isShouldReusePrSelected: ${{ parameters.ReusePr }} packageSourceAuth: patAuth patVariable: ${{ parameters.CeapexPat }} ${{ if eq(parameters.RepoType, 'gitHub') }}: @@ -100,22 +99,20 @@ jobs: mirrorBranch: ${{ parameters.MirrorBranch }} condition: ${{ parameters.condition }} - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} - args: - displayName: Publish Localization Files - pathToPublish: '$(Build.ArtifactStagingDirectory)/loc' - publishLocation: Container - artifactName: Loc - condition: ${{ parameters.condition }} + # Copy the locProject.json to the root of the Loc directory, then publish a pipeline artifact + - task: CopyFiles@2 + displayName: Copy LocProject.json + inputs: + SourceFolder: '$(System.DefaultWorkingDirectory)/eng/Localize/' + Contents: 'LocProject.json' + TargetFolder: '$(Build.ArtifactStagingDirectory)/loc' + condition: ${{ parameters.condition }} - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: - displayName: Publish LocProject.json - pathToPublish: '$(System.DefaultWorkingDirectory)/eng/Localize/' - publishLocation: Container - artifactName: Loc - condition: ${{ parameters.condition }} \ No newline at end of file + targetPath: '$(Build.ArtifactStagingDirectory)/loc' + artifactName: 'Loc' + displayName: 'Publish Localization Files' + condition: ${{ parameters.condition }} diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index 3cb20fb5041f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -20,9 +20,6 @@ parameters: # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects. runAsPublic: false - # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing - publishUsingPipelines: false - # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing publishAssetsImmediately: false @@ -32,6 +29,15 @@ parameters: is1ESPipeline: '' + # Optional: 🌤️ or not the build has assets it wants to publish to BAR + isAssetlessBuild: false + + # Optional, publishing version + publishingVersion: 3 + + # Optional: A minimatch pattern for the asset manifests to publish to BAR + assetManifestsPattern: '*/manifests/**/*.xml' + repositoryAlias: self officialBuildId: '' @@ -68,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: @@ -84,18 +90,44 @@ jobs: - checkout: ${{ parameters.repositoryAlias }} fetchDepth: 3 clean: true - - - task: DownloadBuildArtifacts@0 - displayName: Download artifact - inputs: - artifactName: AssetManifests - downloadPath: '$(Build.StagingDirectory)/Download' - checkDownloadedFiles: true - condition: ${{ parameters.condition }} - continueOnError: ${{ parameters.continueOnError }} + + - ${{ if eq(parameters.isAssetlessBuild, 'false') }}: + - ${{ if eq(parameters.publishingVersion, 3) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download Asset Manifests + inputs: + artifactName: AssetManifests + targetPath: '$(Build.StagingDirectory)/AssetManifests' + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} + - ${{ if eq(parameters.publishingVersion, 4) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download V4 asset manifests + inputs: + itemPattern: '*/manifests/**/*.xml' + targetPath: '$(Build.StagingDirectory)/AllAssetManifests' + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} + - task: CopyFiles@2 + displayName: Copy V4 asset manifests to AssetManifests + inputs: + SourceFolder: '$(Build.StagingDirectory)/AllAssetManifests' + Contents: ${{ parameters.assetManifestsPattern }} + TargetFolder: '$(Build.StagingDirectory)/AssetManifests' + flattenFolders: true + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} - task: NuGetAuthenticate@1 + # Populate internal runtime variables. + - template: /eng/common/templates/steps/enable-internal-sources.yml + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + parameters: + legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) + + - template: /eng/common/templates/steps/enable-internal-runtimes.yml + - task: AzureCLI@2 displayName: Publish Build Assets inputs: @@ -104,10 +136,13 @@ jobs: scriptLocation: scriptPath scriptPath: $(System.DefaultWorkingDirectory)/eng/common/sdk-task.ps1 arguments: -task PublishBuildAssets -restore -msbuildEngine dotnet - /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests' + /p:ManifestsPath='$(Build.StagingDirectory)/AssetManifests' + /p:IsAssetlessBuild=${{ parameters.isAssetlessBuild }} /p:MaestroApiEndpoint=https://maestro.dot.net - /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }} /p:OfficialBuildId=$(OfficialBuildId) + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' + condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} @@ -129,6 +164,17 @@ jobs: Copy-Item -Path $symbolExclusionfile -Destination "$(Build.StagingDirectory)/ReleaseConfigs" } + - ${{ if eq(parameters.publishingVersion, 4) }}: + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} + args: + targetPath: '$(Build.ArtifactStagingDirectory)/MergedManifest.xml' + artifactName: AssetManifests + displayName: 'Publish Merged Manifest' + retryCountOnTaskFailure: 10 # for any logs being locked + sbomEnabled: false # we don't need SBOM for logs + - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} @@ -138,7 +184,7 @@ jobs: publishLocation: Container artifactName: ReleaseConfigs - - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: + - ${{ if or(eq(parameters.publishAssetsImmediately, 'true'), eq(parameters.isAssetlessBuild, 'true')) }}: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: BARBuildId: ${{ parameters.BARBuildId }} @@ -164,6 +210,9 @@ jobs: -WaitPublishingFinish true -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' + -SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' - ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}: - template: /eng/common/core-templates/steps/publish-logs.yml diff --git a/eng/common/core-templates/job/source-build.yml b/eng/common/core-templates/job/source-build.yml index d943748ac10e..1997c2ae00d7 100644 --- a/eng/common/core-templates/job/source-build.yml +++ b/eng/common/core-templates/job/source-build.yml @@ -12,9 +12,10 @@ parameters: # The name of the job. This is included in the job ID. # targetRID: '' # The name of the target RID to use, instead of the one auto-detected by Arcade. - # nonPortable: false + # portableBuild: false # Enables non-portable mode. This means a more specific RID (e.g. fedora.32-x64 rather than - # linux-x64), and compiling against distro-provided packages rather than portable ones. + # linux-x64), and compiling against distro-provided packages rather than portable ones. The + # default is portable mode. # skipPublishValidation: false # Disables publishing validation. By default, a check is performed to ensure no packages are # published by source-build. @@ -33,9 +34,6 @@ parameters: # container and pool. platform: {} - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: '' # If set to true and running on a non-public project, @@ -62,7 +60,7 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')] - demands: ImageOverride -equals build.ubuntu.2004.amd64 + demands: ImageOverride -equals build.azurelinux.3.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')] image: build.azurelinux.3.amd64 @@ -71,10 +69,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')] - demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open + demands: ImageOverride -equals build.azurelinux.3.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')] - demands: ImageOverride -equals Build.Ubuntu.2204.Amd64 + demands: ImageOverride -equals build.azurelinux.3.amd64 ${{ if ne(parameters.platform.pool, '') }}: pool: ${{ parameters.platform.pool }} @@ -96,4 +94,3 @@ jobs: parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} platform: ${{ parameters.platform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index ddf8c2e00d80..76baf5c27258 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -1,8 +1,5 @@ parameters: runAsPublic: false - sourceIndexUploadPackageVersion: 2.0.0-20250425.2 - sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2 - sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci" preSteps: [] binlogPath: artifacts/log/Debug/Build.binlog @@ -16,12 +13,6 @@ jobs: dependsOn: ${{ parameters.dependsOn }} condition: ${{ parameters.condition }} variables: - - name: SourceIndexUploadPackageVersion - value: ${{ parameters.sourceIndexUploadPackageVersion }} - - name: SourceIndexProcessBinlogPackageVersion - value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }} - - name: SourceIndexPackageSource - value: ${{ parameters.sourceIndexPackageSource }} - name: BinlogPath value: ${{ parameters.binlogPath }} - template: /eng/common/core-templates/variables/pool-providers.yml @@ -34,12 +25,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - image: 1es-windows-2022-open - os: windows + image: windows.vs2026preview.scout.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 - os: windows + image: windows.vs2026preview.scout.amd64 steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: @@ -47,35 +36,9 @@ jobs: - ${{ each preStep in parameters.preSteps }}: - ${{ preStep }} - - - task: UseDotNet@2 - displayName: Use .NET 8 SDK - inputs: - packageType: sdk - version: 8.0.x - installationPath: $(Agent.TempDirectory)/dotnet - workingDirectory: $(Agent.TempDirectory) - - - script: | - $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools - $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools - displayName: Download Tools - # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. - workingDirectory: $(Agent.TempDirectory) - - script: ${{ parameters.sourceIndexBuildCommand }} displayName: Build Repository - - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output - displayName: Process Binlog into indexable sln - - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: AzureCLI@2 - displayName: Log in to Azure and upload stage1 artifacts to source index - inputs: - azureSubscription: 'SourceDotNet Stage1 Publish' - addSpnToEnvironment: true - scriptType: 'ps' - scriptLocation: 'inlineScript' - inlineScript: | - $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1 + - template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + binLogPath: ${{ parameters.binLogPath }} diff --git a/eng/common/core-templates/jobs/codeql-build.yml b/eng/common/core-templates/jobs/codeql-build.yml index 4571a7864df6..dbc14ac580a2 100644 --- a/eng/common/core-templates/jobs/codeql-build.yml +++ b/eng/common/core-templates/jobs/codeql-build.yml @@ -15,7 +15,6 @@ jobs: enablePublishBuildArtifacts: false enablePublishTestResults: false enablePublishBuildAssets: false - enablePublishUsingPipelines: false enableTelemetry: true variables: diff --git a/eng/common/core-templates/jobs/jobs.yml b/eng/common/core-templates/jobs/jobs.yml index bf33cdc2cc77..01ada7476651 100644 --- a/eng/common/core-templates/jobs/jobs.yml +++ b/eng/common/core-templates/jobs/jobs.yml @@ -5,9 +5,6 @@ parameters: # Optional: Include PublishBuildArtifacts task enablePublishBuildArtifacts: false - # Optional: Enable publishing using release pipelines - enablePublishUsingPipelines: false - # Optional: Enable running the source-build jobs to build repo from source enableSourceBuild: false @@ -30,6 +27,9 @@ parameters: # Optional: Publish the assets as soon as the publish to BAR stage is complete, rather doing so in a separate stage. publishAssetsImmediately: false + # Optional: 🌤️ or not the build has assets it wants to publish to BAR + isAssetlessBuild: false + # Optional: If using publishAssetsImmediately and additional parameters are needed, can be used to send along additional parameters (normally sent to post-build.yml) artifactsPublishingAdditionalParameters: '' signingValidationAdditionalParameters: '' @@ -85,7 +85,6 @@ jobs: - template: /eng/common/core-templates/jobs/source-build.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} - allCompletedJobId: Source_Build_Complete ${{ each parameter in parameters.sourceBuildParameters }}: ${{ parameter.key }}: ${{ parameter.value }} @@ -98,7 +97,7 @@ jobs: ${{ parameter.key }}: ${{ parameter.value }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}: + - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, ''), eq(parameters.isAssetlessBuild, true)) }}: - template: ../job/publish-build-assets.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} @@ -110,12 +109,10 @@ jobs: - ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}: - ${{ each job in parameters.jobs }}: - ${{ job.job }} - - ${{ if eq(parameters.enableSourceBuild, true) }}: - - Source_Build_Complete runAsPublic: ${{ parameters.runAsPublic }} - publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }} - publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }} + publishAssetsImmediately: ${{ or(parameters.publishAssetsImmediately, parameters.isAssetlessBuild) }} + isAssetlessBuild: ${{ parameters.isAssetlessBuild }} enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} diff --git a/eng/common/core-templates/jobs/source-build.yml b/eng/common/core-templates/jobs/source-build.yml index 0b408a67bd51..d92860cba208 100644 --- a/eng/common/core-templates/jobs/source-build.yml +++ b/eng/common/core-templates/jobs/source-build.yml @@ -2,28 +2,19 @@ parameters: # This template adds arcade-powered source-build to CI. A job is created for each platform, as # well as an optional server job that completes when all platform jobs complete. - # The name of the "join" job for all source-build platforms. If set to empty string, the job is - # not included. Existing repo pipelines can use this job depend on all source-build jobs - # completing without maintaining a separate list of every single job ID: just depend on this one - # server job. By default, not included. Recommended name if used: 'Source_Build_Complete'. - allCompletedJobId: '' - # See /eng/common/core-templates/job/source-build.yml jobNamePrefix: 'Source_Build' # This is the default platform provided by Arcade, intended for use by a managed-only repo. defaultManagedPlatform: name: 'Managed' - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-amd64' # Defines the platforms on which to run build jobs. One job is created for each platform, and the # object in this array is sent to the job template as 'platform'. If no platforms are specified, # one job runs on 'defaultManagedPlatform'. platforms: [] - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: '' # If set to true and running on a non-public project, @@ -34,23 +25,12 @@ parameters: jobs: -- ${{ if ne(parameters.allCompletedJobId, '') }}: - - job: ${{ parameters.allCompletedJobId }} - displayName: Source-Build Complete - pool: server - dependsOn: - - ${{ each platform in parameters.platforms }}: - - ${{ parameters.jobNamePrefix }}_${{ platform.name }} - - ${{ if eq(length(parameters.platforms), 0) }}: - - ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }} - - ${{ each platform in parameters.platforms }}: - template: /eng/common/core-templates/job/source-build.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ platform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} - ${{ if eq(length(parameters.platforms), 0) }}: @@ -59,5 +39,4 @@ jobs: is1ESPipeline: ${{ parameters.is1ESPipeline }} jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ parameters.defaultManagedPlatform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 864427d9694a..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -60,6 +60,11 @@ parameters: artifactNames: '' downloadArtifacts: true + - name: isAssetlessBuild + type: boolean + displayName: Is Assetless Build + default: false + # These parameters let the user customize the call to sdk-task.ps1 for publishing # symbols & general artifacts as well as for signing validation - name: symbolPublishingAdditionalParameters @@ -115,18 +120,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: windows.vs2022.amd64 + image: windows.vs2026preview.scout.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -159,18 +164,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -188,9 +193,6 @@ stages: buildId: $(AzDOBuildId) artifactName: PackageArtifacts checkDownloadedFiles: true - itemPattern: | - ** - !**/Microsoft.SourceBuild.Intermediate.*.nupkg # This is necessary whenever we want to publish/restore to an AzDO private feed # Since sdk-task.ps1 tries to restore packages we need to do this authentication here @@ -223,18 +225,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -284,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -305,6 +307,13 @@ stages: - task: NuGetAuthenticate@1 + # Populate internal runtime variables. + - template: /eng/common/templates/steps/enable-internal-sources.yml + parameters: + legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) + + - template: /eng/common/templates/steps/enable-internal-runtimes.yml + # Darc is targeting 8.0, so make sure it's installed - task: UseDotNet@2 inputs: @@ -325,3 +334,6 @@ stages: -RequireDefaultChannels ${{ parameters.requireDefaultChannels }} -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' + -SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' diff --git a/eng/common/core-templates/steps/cleanup-microbuild.yml b/eng/common/core-templates/steps/cleanup-microbuild.yml new file mode 100644 index 000000000000..c0fdcd3379d7 --- /dev/null +++ b/eng/common/core-templates/steps/cleanup-microbuild.yml @@ -0,0 +1,28 @@ +parameters: + # Enable cleanup tasks for MicroBuild + enableMicrobuild: false + # Enable cleanup tasks for MicroBuild on Mac and Linux + # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT' + enableMicrobuildForMacAndLinux: false + continueOnError: false + +steps: + - ${{ if eq(parameters.enableMicrobuild, 'true') }}: + - task: MicroBuildCleanup@1 + displayName: Execute Microbuild cleanup tasks + condition: and( + always(), + or( + and( + eq(variables['Agent.Os'], 'Windows_NT'), + in(variables['_SignType'], 'real', 'test') + ), + and( + ${{ eq(parameters.enableMicrobuildForMacAndLinux, true) }}, + ne(variables['Agent.Os'], 'Windows_NT'), + eq(variables['_SignType'], 'real') + ) + )) + continueOnError: ${{ parameters.continueOnError }} + env: + TeamName: $(_TeamName) diff --git a/eng/common/core-templates/steps/generate-sbom.yml b/eng/common/core-templates/steps/generate-sbom.yml index 7f5b84c4cb82..c05f65027979 100644 --- a/eng/common/core-templates/steps/generate-sbom.yml +++ b/eng/common/core-templates/steps/generate-sbom.yml @@ -5,7 +5,7 @@ # IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector. parameters: - PackageVersion: 9.0.0 + PackageVersion: 10.0.0 BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' PackageName: '.NET' ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom diff --git a/eng/common/core-templates/steps/get-delegation-sas.yml b/eng/common/core-templates/steps/get-delegation-sas.yml index 9db5617ea7de..d2901470a7f0 100644 --- a/eng/common/core-templates/steps/get-delegation-sas.yml +++ b/eng/common/core-templates/steps/get-delegation-sas.yml @@ -31,16 +31,7 @@ steps: # Calculate the expiration of the SAS token and convert to UTC $expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") - # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads - # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484 - $sas = "" - do { - $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv - if ($LASTEXITCODE -ne 0) { - Write-Error "Failed to generate SAS token." - exit 1 - } - } while($sas.IndexOf('/') -ne -1) + $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv if ($LASTEXITCODE -ne 0) { Write-Error "Failed to generate SAS token." diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml new file mode 100644 index 000000000000..553fce66b940 --- /dev/null +++ b/eng/common/core-templates/steps/install-microbuild.yml @@ -0,0 +1,110 @@ +parameters: + # Enable install tasks for MicroBuild + enableMicrobuild: false + # Enable install tasks for MicroBuild on Mac and Linux + # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT' + enableMicrobuildForMacAndLinux: false + # Determines whether the ESRP service connection information should be passed to the signing plugin. + # This overlaps with _SignType to some degree. We only need the service connection for real signing. + # It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place. + # Doing so will cause the service connection to be authorized for the pipeline, which isn't allowed and won't work for non-prod. + # Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The + # variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough. + microbuildUseESRP: true + # Microbuild installation directory + microBuildOutputFolder: $(Agent.TempDirectory)/MicroBuild + + continueOnError: false + +steps: + - ${{ if eq(parameters.enableMicrobuild, 'true') }}: + - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}: + # Needed to download the MicroBuild plugin nupkgs on Mac and Linux when nuget.exe is unavailable + - task: UseDotNet@2 + displayName: Install .NET 8.0 SDK for MicroBuild Plugin + inputs: + packageType: sdk + version: 8.0.x + installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + - script: | + set -euo pipefail + + # UseDotNet@2 prepends the dotnet executable path to the PATH variable, so we can call dotnet directly + version=$(dotnet --version) + cat << 'EOF' > ${{ parameters.microBuildOutputFolder }}/global.json + { + "sdk": { + "version": "$version", + "paths": [ + "${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild" + ], + "errorMessage": "The .NET SDK version $version is required to install the MicroBuild signing plugin." + } + } + EOF + displayName: 'Add global.json to MicroBuild Installation path' + workingDirectory: ${{ parameters.microBuildOutputFolder }} + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + - script: | + REM Check if ESRP is disabled while SignType is real + if /I "${{ parameters.microbuildUseESRP }}"=="false" if /I "$(_SignType)"=="real" ( + echo Error: ESRP must be enabled when SignType is real. + exit /b 1 + ) + displayName: 'Validate ESRP usage (Windows)' + condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT')) + - script: | + # Check if ESRP is disabled while SignType is real + if [ "${{ parameters.microbuildUseESRP }}" = "false" ] && [ "$(_SignType)" = "real" ]; then + echo "Error: ESRP must be enabled when SignType is real." + exit 1 + fi + displayName: 'Validate ESRP usage (Non-Windows)' + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + # Two different MB install steps. This is due to not being able to use the agent OS during + # YAML expansion, and Windows vs. Linux/Mac uses different service connections. However, + # we can avoid including the MB install step if not enabled at all. This avoids a bunch of + # extra pipeline authorizations, since most pipelines do not sign on non-Windows. + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin (Windows) + inputs: + signType: $(_SignType) + zipSources: false + feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea + ${{ else }}: + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca + env: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + continueOnError: ${{ parameters.continueOnError }} + condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test')) + + - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}: + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin (non-Windows) + inputs: + signType: $(_SignType) + zipSources: false + feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + workingDirectory: ${{ parameters.microBuildOutputFolder }} + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39 + ${{ else }}: + ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc + env: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + continueOnError: ${{ parameters.continueOnError }} + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real')) diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 0623ac6e1123..a9ea99ba6aaa 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -26,15 +26,18 @@ steps: # If the file exists - sensitive data for redaction will be sourced from it # (single entry per line, lines starting with '# ' are considered comments and skipped) arguments: -InputPath '$(System.DefaultWorkingDirectory)/PostBuildLogs' - -BinlogToolVersion ${{parameters.BinlogToolVersion}} + -BinlogToolVersion '${{parameters.BinlogToolVersion}}' -TokensFilePath '$(System.DefaultWorkingDirectory)/eng/BinlogSecretsRedactionFile.txt' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' '$(publishing-dnceng-devdiv-code-r-build-re)' - '$(MaestroAccessToken)' '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' '$(microsoft-symbol-server-pat)' '$(symweb-symbol-server-pat)' + '$(dnceng-symbol-server-pat)' '$(dn-bot-all-orgs-build-rw-code-rw)' + '$(System.AccessToken)' ${{parameters.CustomSensitiveDataList}} continueOnError: true condition: always() @@ -45,6 +48,7 @@ steps: SourceFolder: '$(System.DefaultWorkingDirectory)/PostBuildLogs' Contents: '**' TargetFolder: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' + condition: always() - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml index 7846584d2a77..b9c86c18ae42 100644 --- a/eng/common/core-templates/steps/source-build.yml +++ b/eng/common/core-templates/steps/source-build.yml @@ -11,10 +11,6 @@ parameters: # for details. The entire object is described in the 'job' template for simplicity, even though # the usage of the properties on this object is split between the 'job' and 'steps' templates. platform: {} - - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: false steps: @@ -23,25 +19,12 @@ steps: set -x df -h - # If file changes are detected, set CopyWipIntoInnerSourceBuildRepo to copy the WIP changes into the inner source build repo. - internalRestoreArgs= - if ! git diff --quiet; then - internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true' - # The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo. - # This only works if there is a username/email configured, which won't be the case in most CI runs. - git config --get user.email - if [ $? -ne 0 ]; then - git config user.email dn-bot@microsoft.com - git config user.name dn-bot - fi - fi - # If building on the internal project, the internal storage variable may be available (usually only if needed) # In that case, add variables to allow the download of internal runtimes if the specified versions are not found # in the default public locations. internalRuntimeDownloadArgs= if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then - internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)' + internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey '$(dotnetbuilds-internal-container-read-token-base64)'' fi buildConfig=Release @@ -50,88 +33,33 @@ steps: buildConfig='$(_BuildConfig)' fi - officialBuildArgs= - if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then - officialBuildArgs='/p:DotNetPublishUsingPipelines=true /p:OfficialBuildId=$(BUILD.BUILDNUMBER)' - fi - targetRidArgs= if [ '${{ parameters.platform.targetRID }}' != '' ]; then targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}' fi - runtimeOsArgs= - if [ '${{ parameters.platform.runtimeOS }}' != '' ]; then - runtimeOsArgs='/p:RuntimeOS=${{ parameters.platform.runtimeOS }}' - fi - - baseOsArgs= - if [ '${{ parameters.platform.baseOS }}' != '' ]; then - baseOsArgs='/p:BaseOS=${{ parameters.platform.baseOS }}' - fi - - publishArgs= - if [ '${{ parameters.platform.skipPublishValidation }}' != 'true' ]; then - publishArgs='--publish' - fi - - assetManifestFileName=SourceBuild_RidSpecific.xml - if [ '${{ parameters.platform.name }}' != '' ]; then - assetManifestFileName=SourceBuild_${{ parameters.platform.name }}.xml + portableBuildArgs= + if [ '${{ parameters.platform.portableBuild }}' != '' ]; then + portableBuildArgs='/p:PortableBuild=${{ parameters.platform.portableBuild }}' fi ${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \ --configuration $buildConfig \ - --restore --build --pack $publishArgs -bl \ + --restore --build --pack -bl \ + --source-build \ ${{ parameters.platform.buildArguments }} \ - $officialBuildArgs \ $internalRuntimeDownloadArgs \ - $internalRestoreArgs \ $targetRidArgs \ - $runtimeOsArgs \ - $baseOsArgs \ - /p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \ - /p:ArcadeBuildFromSource=true \ - /p:DotNetBuildSourceOnly=true \ - /p:DotNetBuildRepo=true \ - /p:AssetManifestFileName=$assetManifestFileName + $portableBuildArgs \ displayName: Build -# Upload build logs for diagnosis. -- task: CopyFiles@2 - displayName: Prepare BuildLogs staging directory - inputs: - SourceFolder: '$(System.DefaultWorkingDirectory)' - Contents: | - **/*.log - **/*.binlog - artifacts/sb/prebuilt-report/** - TargetFolder: '$(Build.StagingDirectory)/BuildLogs' - CleanTargetFolder: true - continueOnError: true - condition: succeededOrFailed() - - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: displayName: Publish BuildLogs - targetPath: '$(Build.StagingDirectory)/BuildLogs' + targetPath: artifacts/log/${{ coalesce(variables._BuildConfig, 'Release') }} artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt) continueOnError: true condition: succeededOrFailed() sbomEnabled: false # we don't need SBOM for logs - -# Manually inject component detection so that we can ignore the source build upstream cache, which contains -# a nupkg cache of input packages (a local feed). -# This path must match the upstream cache path in property 'CurrentRepoSourceBuiltNupkgCacheDir' -# in src\Microsoft.DotNet.Arcade.Sdk\tools\SourceBuild\SourceBuildArcade.targets -- template: /eng/common/core-templates/steps/component-governance.yml - parameters: - displayName: Component Detection (Exclude upstream cache) - is1ESPipeline: ${{ parameters.is1ESPipeline }} - ${{ if eq(length(parameters.componentGovernanceIgnoreDirectories), 0) }}: - componentGovernanceIgnoreDirectories: '$(System.DefaultWorkingDirectory)/artifacts/sb/src/artifacts/obj/source-built-upstream-cache' - ${{ else }}: - componentGovernanceIgnoreDirectories: ${{ join(',', parameters.componentGovernanceIgnoreDirectories) }} - disableComponentGovernance: ${{ eq(variables['System.TeamProject'], 'public') }} diff --git a/eng/common/core-templates/steps/source-index-stage1-publish.yml b/eng/common/core-templates/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..e9a694afa58e --- /dev/null +++ b/eng/common/core-templates/steps/source-index-stage1-publish.yml @@ -0,0 +1,35 @@ +parameters: + sourceIndexUploadPackageVersion: 2.0.0-20250818.1 + sourceIndexProcessBinlogPackageVersion: 1.0.1-20250818.1 + sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json + binlogPath: artifacts/log/Debug/Build.binlog + +steps: +- task: UseDotNet@2 + displayName: "Source Index: Use .NET 9 SDK" + inputs: + packageType: sdk + version: 9.0.x + installationPath: $(Agent.TempDirectory)/dotnet + workingDirectory: $(Agent.TempDirectory) + +- script: | + $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + displayName: "Source Index: Download netsourceindex Tools" + # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. + workingDirectory: $(Agent.TempDirectory) + +- script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i ${{parameters.BinlogPath}} -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output + displayName: "Source Index: Process Binlog into indexable sln" + +- ${{ if and(ne(parameters.runAsPublic, 'true'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - task: AzureCLI@2 + displayName: "Source Index: Upload Source Index stage1 artifacts to Azure" + inputs: + azureSubscription: 'SourceDotNet Stage1 Publish' + addSpnToEnvironment: true + scriptType: 'ps' + scriptLocation: 'inlineScript' + inlineScript: | + $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1 diff --git a/eng/common/cross/arm64/tizen/tizen.patch b/eng/common/cross/arm64/tizen/tizen.patch index af7c8be05906..2cebc547382e 100644 --- a/eng/common/cross/arm64/tizen/tizen.patch +++ b/eng/common/cross/arm64/tizen/tizen.patch @@ -5,5 +5,5 @@ diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf64-littleaarch64) --GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) ) +-GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-aarch64.so.1 ) ) +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-aarch64.so.1 ) ) diff --git a/eng/common/cross/build-android-rootfs.sh b/eng/common/cross/build-android-rootfs.sh index 7e9ba2b75ed3..fbd8d80848a6 100755 --- a/eng/common/cross/build-android-rootfs.sh +++ b/eng/common/cross/build-android-rootfs.sh @@ -6,10 +6,11 @@ usage() { echo "Creates a toolchain and sysroot used for cross-compiling for Android." echo - echo "Usage: $0 [BuildArch] [ApiLevel]" + echo "Usage: $0 [BuildArch] [ApiLevel] [--ndk NDKVersion]" echo echo "BuildArch is the target architecture of Android. Currently only arm64 is supported." echo "ApiLevel is the target Android API level. API levels usually match to Android releases. See https://source.android.com/source/build-numbers.html" + echo "NDKVersion is the version of Android NDK. The default is r21. See https://developer.android.com/ndk/downloads/revision_history" echo echo "By default, the toolchain and sysroot will be generated in cross/android-rootfs/toolchain/[BuildArch]. You can change this behavior" echo "by setting the TOOLCHAIN_DIR environment variable" @@ -25,10 +26,15 @@ __BuildArch=arm64 __AndroidArch=aarch64 __AndroidToolchain=aarch64-linux-android -for i in "$@" - do - lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")" - case $lowerI in +while :; do + if [[ "$#" -le 0 ]]; then + break + fi + + i=$1 + + lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")" + case $lowerI in -?|-h|--help) usage exit 1 @@ -43,6 +49,10 @@ for i in "$@" __AndroidArch=arm __AndroidToolchain=arm-linux-androideabi ;; + --ndk) + shift + __NDK_Version=$1 + ;; *[0-9]) __ApiLevel=$i ;; @@ -50,8 +60,17 @@ for i in "$@" __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i" ;; esac + shift done +if [[ "$__NDK_Version" == "r21" ]] || [[ "$__NDK_Version" == "r22" ]]; then + __NDK_File_Arch_Spec=-x86_64 + __SysRoot=sysroot +else + __NDK_File_Arch_Spec= + __SysRoot=toolchains/llvm/prebuilt/linux-x86_64/sysroot +fi + # Obtain the location of the bash script to figure out where the root of the repo is. __ScriptBaseDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -78,6 +97,7 @@ fi echo "Target API level: $__ApiLevel" echo "Target architecture: $__BuildArch" +echo "NDK version: $__NDK_Version" echo "NDK location: $__NDK_Dir" echo "Target Toolchain location: $__ToolchainDir" @@ -85,8 +105,8 @@ echo "Target Toolchain location: $__ToolchainDir" if [ ! -d $__NDK_Dir ]; then echo Downloading the NDK into $__NDK_Dir mkdir -p $__NDK_Dir - wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux-x86_64.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip - unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip -d $__CrossDir + wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux$__NDK_File_Arch_Spec.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux.zip + unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux.zip -d $__CrossDir fi if [ ! -d $__lldb_Dir ]; then @@ -116,16 +136,11 @@ for path in $(wget -qO- https://packages.termux.dev/termux-main-21/dists/stable/ fi done -cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/sysroot/usr/" +cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/$__SysRoot/usr/" # Generate platform file for build.sh script to assign to __DistroRid echo "Generating platform file..." -echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/sysroot/android_platform - -echo "Now to build coreclr, libraries and installers; run:" -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory coreclr -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory libraries -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory installer +echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/$__SysRoot/android_platform + +echo "Now to build coreclr, libraries and host; run:" +echo ROOTFS_DIR=$(realpath $__ToolchainDir/$__SysRoot) ./build.sh clr+libs+host --cross --arch $__BuildArch diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 4b5e8d7166bd..8abfb71f7275 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -5,7 +5,7 @@ set -e usage() { echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir ]" - echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86" + echo "BuildArch can be: arm(default), arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64, x86" echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine" echo " for alpine can be specified with version: alpineX.YY or alpineedge" echo " for FreeBSD can be: freebsd13, freebsd14" @@ -15,6 +15,7 @@ usage() echo "llvmx[.y] - optional, LLVM version for LLVM related packages." echo "--skipunmount - optional, will skip the unmount of rootfs folder." echo "--skipsigcheck - optional, will skip package signature checks (allowing untrusted packages)." + echo "--skipemulation - optional, will skip qemu and debootstrap requirement when building environment for debian based systems." echo "--use-mirror - optional, use mirror URL to fetch resources, when available." echo "--jobs N - optional, restrict to N jobs." exit 1 @@ -52,28 +53,27 @@ __UbuntuPackages+=" symlinks" __UbuntuPackages+=" libicu-dev" __UbuntuPackages+=" liblttng-ust-dev" __UbuntuPackages+=" libunwind8-dev" -__UbuntuPackages+=" libnuma-dev" __AlpinePackages+=" gettext-dev" __AlpinePackages+=" icu-dev" __AlpinePackages+=" libunwind-dev" __AlpinePackages+=" lttng-ust-dev" __AlpinePackages+=" compiler-rt" -__AlpinePackages+=" numactl-dev" # runtime libraries' dependencies __UbuntuPackages+=" libcurl4-openssl-dev" __UbuntuPackages+=" libkrb5-dev" __UbuntuPackages+=" libssl-dev" __UbuntuPackages+=" zlib1g-dev" +__UbuntuPackages+=" libbrotli-dev" __AlpinePackages+=" curl-dev" __AlpinePackages+=" krb5-dev" __AlpinePackages+=" openssl-dev" __AlpinePackages+=" zlib-dev" -__FreeBSDBase="13.3-RELEASE" -__FreeBSDPkg="1.17.0" +__FreeBSDBase="13.4-RELEASE" +__FreeBSDPkg="1.21.3" __FreeBSDABI="13" __FreeBSDPackages="libunwind" __FreeBSDPackages+=" icu" @@ -91,18 +91,18 @@ __HaikuPackages="gcc_syslibs" __HaikuPackages+=" gcc_syslibs_devel" __HaikuPackages+=" gmp" __HaikuPackages+=" gmp_devel" -__HaikuPackages+=" icu66" -__HaikuPackages+=" icu66_devel" +__HaikuPackages+=" icu[0-9]+" +__HaikuPackages+=" icu[0-9]*_devel" __HaikuPackages+=" krb5" __HaikuPackages+=" krb5_devel" __HaikuPackages+=" libiconv" __HaikuPackages+=" libiconv_devel" -__HaikuPackages+=" llvm12_libunwind" -__HaikuPackages+=" llvm12_libunwind_devel" +__HaikuPackages+=" llvm[0-9]*_libunwind" +__HaikuPackages+=" llvm[0-9]*_libunwind_devel" __HaikuPackages+=" mpfr" __HaikuPackages+=" mpfr_devel" -__HaikuPackages+=" openssl" -__HaikuPackages+=" openssl_devel" +__HaikuPackages+=" openssl3" +__HaikuPackages+=" openssl3_devel" __HaikuPackages+=" zlib" __HaikuPackages+=" zlib_devel" @@ -128,10 +128,12 @@ __AlpineKeys=' 616adfeb:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU\npNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X\n0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6\nADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ\nraQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy\nKLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj\n/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H\nKuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs\nmFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1\n/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq\nXIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4\nVORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ== 616ae350:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0\nXkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ\npiM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46\nxLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP\nODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM\nEyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr\nDzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+\nf53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF\nHwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk\nOk9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6\n9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT\nJZDr++FjKrnnijbyNF8b98UCAwEAAQ== 616db30d:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0\nlIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm\na6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw\ntO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C\nUS/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP\nhP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv\nLSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0\nx9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF\nwmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG\nLPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV\nGZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C\n8CM1S15HxV78s9dFntEqIokCAwEAAQ== +66ba20fe:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfB12w4ZgqsXWZDfUAV/\n6Y4aHUKIu3q4SXrNZ7CXF9nXoAVYrS7NAxJdAodsY3vPCN0g5O8DFXR+390LdOuQ\n+HsGKCc1k5tX5ZXld37EZNTNSbR0k+NKhd9h6X3u6wqPOx7SIKxwAQR8qeeFq4pP\nrt9GAGlxtuYgzIIcKJPwE0dZlcBCg+GnptCUZXp/38BP1eYC+xTXSL6Muq1etYfg\nodXdb7Yl+2h1IHuOwo5rjgY5kpY7GcAs8AjGk3lDD/av60OTYccknH0NCVSmPoXK\nvrxDBOn0LQRNBLcAfnTKgHrzy0Q5h4TNkkyTgxkoQw5ObDk9nnabTxql732yy9BY\ns+hM9+dSFO1HKeVXreYSA2n1ndF18YAvAumzgyqzB7I4pMHXq1kC/8bONMJxwSkS\nYm6CoXKyavp7RqGMyeVpRC7tV+blkrrUml0BwNkxE+XnwDRB3xDV6hqgWe0XrifD\nYTfvd9ScZQP83ip0r4IKlq4GMv/R5shcCRJSkSZ6QSGshH40JYSoiwJf5FHbj9ND\n7do0UAqebWo4yNx63j/wb2ULorW3AClv0BCFSdPsIrCStiGdpgJDBR2P2NZOCob3\nG9uMj+wJD6JJg2nWqNJxkANXX37Qf8plgzssrhrgOvB0fjjS7GYhfkfmZTJ0wPOw\nA8+KzFseBh4UFGgue78KwgkCAwEAAQ== ' __Keyring= __KeyringFile="/usr/share/keyrings/ubuntu-archive-keyring.gpg" __SkipSigCheck=0 +__SkipEmulation=0 __UseMirror=0 __UnprocessedBuildArgs= @@ -162,9 +164,13 @@ while :; do armel) __BuildArch=armel __UbuntuArch=armel - __UbuntuRepo="http://ftp.debian.org/debian/" - __CodeName=jessie + __UbuntuRepo="http://archive.debian.org/debian/" + __CodeName=buster __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + __LLDB_Package="liblldb-6.0-dev" + __UbuntuPackages="${__UbuntuPackages// libomp-dev/}" + __UbuntuPackages="${__UbuntuPackages// libomp5/}" + __UbuntuSuites= ;; armv6) __BuildArch=armv6 @@ -180,6 +186,18 @@ while :; do __Keyring="--keyring $__KeyringFile" fi ;; + loongarch64) + __BuildArch=loongarch64 + __AlpineArch=loongarch64 + __QEMUArch=loongarch64 + __UbuntuArch=loong64 + __UbuntuSuites=unreleased + __LLDB_Package="liblldb-19-dev" + + if [[ "$__CodeName" == "sid" ]]; then + __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" + fi + ;; riscv64) __BuildArch=riscv64 __AlpineArch=riscv64 @@ -264,44 +282,21 @@ while :; do ;; xenial) # Ubuntu 16.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=xenial - fi - ;; - zesty) # Ubuntu 17.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=zesty - fi + __CodeName=xenial ;; bionic) # Ubuntu 18.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=bionic - fi + __CodeName=bionic ;; focal) # Ubuntu 20.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=focal - fi + __CodeName=focal ;; jammy) # Ubuntu 22.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=jammy - fi + __CodeName=jammy ;; noble) # Ubuntu 24.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=noble - fi - if [[ -n "$__LLDB_Package" ]]; then - __LLDB_Package="liblldb-18-dev" - fi - ;; - jessie) # Debian 8 - __CodeName=jessie - __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" - - if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __CodeName=noble + if [[ -z "$__LLDB_Package" ]]; then + __LLDB_Package="liblldb-19-dev" fi ;; stretch) # Debian 9 @@ -319,7 +314,7 @@ while :; do __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuRepo="http://archive.debian.org/debian/" fi ;; bullseye) # Debian 11 @@ -340,10 +335,28 @@ while :; do ;; sid) # Debian sid __CodeName=sid - __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + __UbuntuSuites= - if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + # Debian-Ports architectures need different values + case "$__UbuntuArch" in + amd64|arm64|armel|armhf|i386|mips64el|ppc64el|riscv64|s390x) + __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + + if [[ -z "$__UbuntuRepo" ]]; then + __UbuntuRepo="http://ftp.debian.org/debian/" + fi + ;; + *) + __KeyringFile="/usr/share/keyrings/debian-ports-archive-keyring.gpg" + + if [[ -z "$__UbuntuRepo" ]]; then + __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" + fi + ;; + esac + + if [[ -e "$__KeyringFile" ]]; then + __Keyring="--keyring $__KeyringFile" fi ;; tizen) @@ -370,7 +383,7 @@ while :; do ;; freebsd14) __CodeName=freebsd - __FreeBSDBase="14.0-RELEASE" + __FreeBSDBase="14.2-RELEASE" __FreeBSDABI="14" __SkipUnmount=1 ;; @@ -388,6 +401,9 @@ while :; do --skipsigcheck) __SkipSigCheck=1 ;; + --skipemulation) + __SkipEmulation=1 + ;; --rootfsdir|-rootfsdir) shift __RootfsDir="$1" @@ -420,16 +436,15 @@ case "$__AlpineVersion" in elif [[ "$__AlpineArch" == "x86" ]]; then __AlpineVersion=3.17 # minimum version that supports lldb-dev __AlpinePackages+=" llvm15-libs" - elif [[ "$__AlpineArch" == "riscv64" ]]; then + elif [[ "$__AlpineArch" == "riscv64" || "$__AlpineArch" == "loongarch64" ]]; then + __AlpineVersion=3.21 # minimum version that supports lldb-dev + __AlpinePackages+=" llvm19-libs" + elif [[ -n "$__AlpineMajorVersion" ]]; then + # use whichever alpine version is provided and select the latest toolchain libs __AlpineLlvmLibsLookup=1 - __AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive) else __AlpineVersion=3.13 # 3.13 to maximize compatibility __AlpinePackages+=" llvm10-libs" - - if [[ "$__AlpineArch" == "armv7" ]]; then - __AlpinePackages="${__AlpinePackages//numactl-dev/}" - fi fi esac @@ -439,15 +454,6 @@ if [[ "$__AlpineVersion" =~ 3\.1[345] ]]; then __AlpinePackages="${__AlpinePackages/compiler-rt/compiler-rt-static}" fi -if [[ "$__BuildArch" == "armel" ]]; then - __LLDB_Package="lldb-3.5-dev" -fi - -if [[ "$__CodeName" == "xenial" && "$__UbuntuArch" == "armhf" ]]; then - # libnuma-dev is not available on armhf for xenial - __UbuntuPackages="${__UbuntuPackages//libnuma-dev/}" -fi - __UbuntuPackages+=" ${__LLDB_Package:-}" if [[ -z "$__UbuntuRepo" ]]; then @@ -496,7 +502,7 @@ if [[ "$__CodeName" == "alpine" ]]; then arch="$(uname -m)" ensureDownloadTool - + if [[ "$__hasWget" == 1 ]]; then wget -P "$__ApkToolsDir" "https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v$__ApkToolsVersion/$arch/apk.static" else @@ -512,11 +518,6 @@ if [[ "$__CodeName" == "alpine" ]]; then echo "$__ApkToolsSHA512SUM $__ApkToolsDir/apk.static" | sha512sum -c chmod +x "$__ApkToolsDir/apk.static" - if [[ -f "/usr/bin/qemu-$__QEMUArch-static" ]]; then - mkdir -p "$__RootfsDir"/usr/bin - cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin" - fi - if [[ "$__AlpineVersion" == "edge" ]]; then version=edge else @@ -536,6 +537,10 @@ if [[ "$__CodeName" == "alpine" ]]; then __ApkSignatureArg="--keys-dir $__ApkKeysDir" fi + if [[ "$__SkipEmulation" == "1" ]]; then + __NoEmulationArg="--no-scripts" + fi + # initialize DB # shellcheck disable=SC2086 "$__ApkToolsDir/apk.static" \ @@ -557,7 +562,7 @@ if [[ "$__CodeName" == "alpine" ]]; then "$__ApkToolsDir/apk.static" \ -X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \ -X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \ - -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" \ + -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" $__NoEmulationArg \ add $__AlpinePackages rm -r "$__ApkToolsDir" @@ -573,7 +578,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then curl -SL "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version fi echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf - echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf + echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf mkdir -p "$__RootfsDir"/tmp # get and build package manager if [[ "$__hasWget" == 1 ]]; then @@ -681,7 +686,7 @@ elif [[ "$__CodeName" == "haiku" ]]; then ensureDownloadTool - echo "Downloading Haiku package tool" + echo "Downloading Haiku package tools" git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 "$__RootfsDir/tmp/script" if [[ "$__hasWget" == 1 ]]; then wget -O "$__RootfsDir/tmp/download/hosttools.zip" "$("$__RootfsDir/tmp/script/fetch.sh" --hosttools)" @@ -691,34 +696,42 @@ elif [[ "$__CodeName" == "haiku" ]]; then unzip -o "$__RootfsDir/tmp/download/hosttools.zip" -d "$__RootfsDir/tmp/bin" - DepotBaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg" - HpkgBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current" + HaikuBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current" + HaikuPortsBaseUrl="https://eu.hpkg.haiku-os.org/haikuports/master/$__HaikuArch/current" + + echo "Downloading HaikuPorts package repository index..." + if [[ "$__hasWget" == 1 ]]; then + wget -P "$__RootfsDir/tmp/download" "$HaikuPortsBaseUrl/repo" + else + curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HaikuPortsBaseUrl/repo" + fi - # Download Haiku packages echo "Downloading Haiku packages" read -ra array <<<"$__HaikuPackages" for package in "${array[@]}"; do echo "Downloading $package..." - # API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60 - # The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598 + hpkgFilename="$(LD_LIBRARY_PATH="$__RootfsDir/tmp/bin" "$__RootfsDir/tmp/bin/package_repo" list -f "$__RootfsDir/tmp/download/repo" | + grep -E "${package}-" | sort -V | tail -n 1 | xargs)" + if [ -z "$hpkgFilename" ]; then + >&2 echo "ERROR: package $package missing." + exit 1 + fi + echo "Resolved filename: $hpkgFilename..." + hpkgDownloadUrl="$HaikuPortsBaseUrl/packages/$hpkgFilename" if [[ "$__hasWget" == 1 ]]; then - hpkgDownloadUrl="$(wget -qO- --post-data '{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \ - --header 'Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')" wget -P "$__RootfsDir/tmp/download" "$hpkgDownloadUrl" else - hpkgDownloadUrl="$(curl -sSL -XPOST --data '{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \ - --header 'Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')" curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$hpkgDownloadUrl" fi done for package in haiku haiku_devel; do echo "Downloading $package..." if [[ "$__hasWget" == 1 ]]; then - hpkgVersion="$(wget -qO- "$HpkgBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" - wget -P "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" + hpkgVersion="$(wget -qO- "$HaikuBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" + wget -P "$__RootfsDir/tmp/download" "$HaikuBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" else - hpkgVersion="$(curl -sSL "$HpkgBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" - curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" + hpkgVersion="$(curl -sSL "$HaikuBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" + curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HaikuBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" fi done @@ -744,25 +757,67 @@ elif [[ "$__CodeName" == "haiku" ]]; then popd rm -rf "$__RootfsDir/tmp" elif [[ -n "$__CodeName" ]]; then + __Suites="$__CodeName $(for suite in $__UbuntuSuites; do echo -n "$__CodeName-$suite "; done)" + + if [[ "$__SkipEmulation" == "1" ]]; then + if [[ -z "$AR" ]]; then + if command -v ar &>/dev/null; then + AR="$(command -v ar)" + elif command -v llvm-ar &>/dev/null; then + AR="$(command -v llvm-ar)" + else + echo "Unable to find ar or llvm-ar on PATH, add them to PATH or set AR environment variable pointing to the available AR tool" + exit 1 + fi + fi + + PYTHON=${PYTHON_EXECUTABLE:-python3} + + # shellcheck disable=SC2086,SC2046 + echo running "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ + $__UbuntuPackages + + # shellcheck disable=SC2086,SC2046 + "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ + $__UbuntuPackages + exit 0 + fi + + __UpdateOptions= if [[ "$__SkipSigCheck" == "0" ]]; then __Keyring="$__Keyring --force-check-gpg" + else + __Keyring= + __UpdateOptions="--allow-unauthenticated --allow-insecure-repositories" fi # shellcheck disable=SC2086 echo running debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" - debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" + # shellcheck disable=SC2086 + if ! debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"; then + echo "debootstrap failed! dumping debootstrap.log" + cat "$__RootfsDir/debootstrap/debootstrap.log" + exit 1 + fi + + rm -rf "$__RootfsDir"/etc/apt/*.{sources,list} "$__RootfsDir"/etc/apt/sources.list.d mkdir -p "$__RootfsDir/etc/apt/sources.list.d/" + + # shellcheck disable=SC2086 cat > "$__RootfsDir/etc/apt/sources.list.d/$__CodeName.sources" < token2) - (token1 < token2) + else: + return -1 if isinstance(token1, str) else 1 + + return len(tokens1) - len(tokens2) + +def compare_debian_versions(version1, version2): + """Compare two Debian package versions.""" + epoch1, upstream1, revision1 = parse_debian_version(version1) + epoch2, upstream2, revision2 = parse_debian_version(version2) + + if epoch1 != epoch2: + return epoch1 - epoch2 + + result = compare_upstream_version(upstream1, upstream2) + if result != 0: + return result + + return compare_upstream_version(revision1, revision2) + +def resolve_dependencies(packages, aliases, desired_packages): + """Recursively resolves dependencies for the desired packages.""" + resolved = [] + to_process = deque(desired_packages) + + while to_process: + current = to_process.popleft() + resolved_package = current if current in packages else aliases.get(current, [None])[0] + + if not resolved_package: + print(f"Error: Package '{current}' was not found in the available packages.") + sys.exit(1) + + if resolved_package not in resolved: + resolved.append(resolved_package) + + deps = packages.get(resolved_package, {}).get("Depends", "") + if deps: + deps = [dep.split(' ')[0] for dep in deps.split(', ') if dep] + for dep in deps: + if dep not in resolved and dep not in to_process and dep in packages: + to_process.append(dep) + + return resolved + +def parse_package_index(content): + """Parses the Packages.gz file and returns package information.""" + packages = {} + aliases = {} + entries = re.split(r'\n\n+', content) + + for entry in entries: + fields = dict(re.findall(r'^(\S+): (.+)$', entry, re.MULTILINE)) + if "Package" in fields: + package_name = fields["Package"] + version = fields.get("Version") + filename = fields.get("Filename") + depends = fields.get("Depends") + provides = fields.get("Provides", None) + + # Only update if package_name is not in packages or if the new version is higher + if package_name not in packages or compare_debian_versions(version, packages[package_name]["Version"]) > 0: + packages[package_name] = { + "Version": version, + "Filename": filename, + "Depends": depends + } + + # Update aliases if package provides any alternatives + if provides: + provides_list = [x.strip() for x in provides.split(",")] + for alias in provides_list: + # Strip version specifiers + alias_name = re.sub(r'\s*\(=.*\)', '', alias) + if alias_name not in aliases: + aliases[alias_name] = [] + if package_name not in aliases[alias_name]: + aliases[alias_name].append(package_name) + + return packages, aliases + +def install_packages(mirror, packages_info, aliases, tmp_dir, extract_dir, ar_tool, desired_packages): + """Downloads .deb files and extracts them.""" + resolved_packages = resolve_dependencies(packages_info, aliases, desired_packages) + print(f"Resolved packages (including dependencies): {resolved_packages}") + + packages_to_download = {} + + for pkg in resolved_packages: + if pkg in packages_info: + packages_to_download[pkg] = packages_info[pkg] + + if pkg in aliases: + for alias in aliases[pkg]: + if alias in packages_info: + packages_to_download[alias] = packages_info[alias] + + asyncio.run(download_deb_files_parallel(mirror, packages_to_download, tmp_dir)) + + package_to_deb_file_map = {} + for pkg in resolved_packages: + pkg_info = packages_info.get(pkg) + if pkg_info: + deb_filename = pkg_info.get("Filename") + if deb_filename: + deb_file_path = os.path.join(tmp_dir, os.path.basename(deb_filename)) + package_to_deb_file_map[pkg] = deb_file_path + + for pkg in reversed(resolved_packages): + deb_file = package_to_deb_file_map.get(pkg) + if deb_file and os.path.exists(deb_file): + extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool) + + print("All done!") + +def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool): + """Extract .deb file contents""" + + os.makedirs(extract_dir, exist_ok=True) + + with tempfile.TemporaryDirectory(dir=tmp_dir) as tmp_subdir: + result = subprocess.run(f"{ar_tool} t {os.path.abspath(deb_file)}", cwd=tmp_subdir, check=True, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + tar_filename = None + for line in result.stdout.decode().splitlines(): + if line.startswith("data.tar"): + tar_filename = line.strip() + break + + if not tar_filename: + raise FileNotFoundError(f"Could not find 'data.tar.*' in {deb_file}.") + + tar_file_path = os.path.join(tmp_subdir, tar_filename) + print(f"Extracting {tar_filename} from {deb_file}..") + + subprocess.run(f"{ar_tool} p {os.path.abspath(deb_file)} {tar_filename} > {tar_file_path}", check=True, shell=True) + + file_extension = os.path.splitext(tar_file_path)[1].lower() + + if file_extension == ".xz": + mode = "r:xz" + elif file_extension == ".gz": + mode = "r:gz" + elif file_extension == ".zst": + # zstd is not supported by standard library yet + decompressed_tar_path = tar_file_path.replace(".zst", "") + with open(tar_file_path, "rb") as zst_file, open(decompressed_tar_path, "wb") as decompressed_file: + dctx = zstandard.ZstdDecompressor() + dctx.copy_stream(zst_file, decompressed_file) + + tar_file_path = decompressed_tar_path + mode = "r" + else: + raise ValueError(f"Unsupported compression format: {file_extension}") + + with tarfile.open(tar_file_path, mode) as tar: + tar.extractall(path=extract_dir, filter='fully_trusted') + +def finalize_setup(rootfsdir): + lib_dir = os.path.join(rootfsdir, 'lib') + usr_lib_dir = os.path.join(rootfsdir, 'usr', 'lib') + + if os.path.exists(lib_dir): + if os.path.islink(lib_dir): + os.remove(lib_dir) + else: + os.makedirs(usr_lib_dir, exist_ok=True) + + for item in os.listdir(lib_dir): + src = os.path.join(lib_dir, item) + dest = os.path.join(usr_lib_dir, item) + + if os.path.isdir(src): + shutil.copytree(src, dest, dirs_exist_ok=True) + else: + shutil.copy2(src, dest) + + shutil.rmtree(lib_dir) + + os.symlink(usr_lib_dir, lib_dir) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Generate rootfs for .NET runtime on Debian-like OS") + parser.add_argument("--distro", required=False, help="Distro name (e.g., debian, ubuntu, etc.)") + parser.add_argument("--arch", required=True, help="Architecture (e.g., amd64, loong64, etc.)") + parser.add_argument("--rootfsdir", required=True, help="Destination directory.") + parser.add_argument('--suite', required=True, action='append', help='Specify one or more repository suites to collect index data.') + parser.add_argument("--mirror", required=False, help="Mirror (e.g., http://ftp.debian.org/debian-ports etc.)") + parser.add_argument("--artool", required=False, default="ar", help="ar tool to extract debs (e.g., ar, llvm-ar etc.)") + parser.add_argument("packages", nargs="+", help="List of package names to be installed.") + + args = parser.parse_args() + + if args.mirror is None: + if args.distro == "ubuntu": + args.mirror = "http://archive.ubuntu.com/ubuntu" if args.arch in ["amd64", "i386"] else "http://ports.ubuntu.com/ubuntu-ports" + elif args.distro == "debian": + args.mirror = "http://ftp.debian.org/debian-ports" + else: + raise Exception("Unsupported distro") + + DESIRED_PACKAGES = args.packages + [ # base packages + "dpkg", + "busybox", + "libc-bin", + "base-files", + "base-passwd", + "debianutils" + ] + + print(f"Creating rootfs. rootfsdir: {args.rootfsdir}, distro: {args.distro}, arch: {args.arch}, suites: {args.suite}, mirror: {args.mirror}") + + package_index_content = asyncio.run(download_package_index_parallel(args.mirror, args.arch, args.suite)) + + packages_info, aliases = parse_package_index(package_index_content) + + with tempfile.TemporaryDirectory() as tmp_dir: + install_packages(args.mirror, packages_info, aliases, tmp_dir, args.rootfsdir, args.artool, DESIRED_PACKAGES) + + finalize_setup(args.rootfsdir) diff --git a/eng/common/cross/tizen-build-rootfs.sh b/eng/common/cross/tizen-build-rootfs.sh old mode 100644 new mode 100755 diff --git a/eng/common/cross/tizen-fetch.sh b/eng/common/cross/tizen-fetch.sh old mode 100644 new mode 100755 index 28936ceef3a7..37c3a61f1de8 --- a/eng/common/cross/tizen-fetch.sh +++ b/eng/common/cross/tizen-fetch.sh @@ -156,13 +156,8 @@ fetch_tizen_pkgs() done } -if [ "$TIZEN_ARCH" == "riscv64" ]; then - BASE="Tizen-Base-RISCV" - UNIFIED="Tizen-Unified-RISCV" -else - BASE="Tizen-Base" - UNIFIED="Tizen-Unified" -fi +BASE="Tizen-Base" +UNIFIED="Tizen-Unified" Inform "Initialize ${TIZEN_ARCH} base" fetch_tizen_pkgs_init standard $BASE diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index 9a7ecfbd42c5..0ff85cf0367e 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -67,6 +67,13 @@ elseif(TARGET_ARCH_NAME STREQUAL "armv6") else() set(TOOLCHAIN "arm-linux-gnueabihf") endif() +elseif(TARGET_ARCH_NAME STREQUAL "loongarch64") + set(CMAKE_SYSTEM_PROCESSOR "loongarch64") + if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/loongarch64-alpine-linux-musl) + set(TOOLCHAIN "loongarch64-alpine-linux-musl") + else() + set(TOOLCHAIN "loongarch64-linux-gnu") + endif() elseif(TARGET_ARCH_NAME STREQUAL "ppc64le") set(CMAKE_SYSTEM_PROCESSOR ppc64le) if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/powerpc64le-alpine-linux-musl) @@ -118,7 +125,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86") set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu") endif() else() - message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!") + message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64 and x86 are supported!") endif() if(DEFINED ENV{TOOLCHAIN}) @@ -148,6 +155,25 @@ if(TIZEN) include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN}) endif() +function(locate_toolchain_exec exec var) + set(TOOLSET_PREFIX ${TOOLCHAIN}-) + string(TOUPPER ${exec} EXEC_UPPERCASE) + if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") + set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) + return() + endif() + + find_program(EXEC_LOCATION_${exec} + NAMES + "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" + "${TOOLSET_PREFIX}${exec}") + + if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") + message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") + endif() + set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) +endfunction() + if(ANDROID) if(TARGET_ARCH_NAME STREQUAL "arm") set(ANDROID_ABI armeabi-v7a) @@ -178,66 +204,24 @@ elseif(FREEBSD) set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld") elseif(ILLUMOS) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") + set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") + set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") include_directories(SYSTEM ${CROSS_ROOTFS}/include) - set(TOOLSET_PREFIX ${TOOLCHAIN}-) - function(locate_toolchain_exec exec var) - string(TOUPPER ${exec} EXEC_UPPERCASE) - if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") - set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) - return() - endif() - - find_program(EXEC_LOCATION_${exec} - NAMES - "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" - "${TOOLSET_PREFIX}${exec}") - - if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") - message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") - endif() - set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) - endfunction() - - set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") - locate_toolchain_exec(gcc CMAKE_C_COMPILER) locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) - - set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") - set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") elseif(HAIKU) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") set(CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH};${CROSS_ROOTFS}/cross-tools-x86_64/bin") - - set(TOOLSET_PREFIX ${TOOLCHAIN}-) - function(locate_toolchain_exec exec var) - string(TOUPPER ${exec} EXEC_UPPERCASE) - if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") - set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) - return() - endif() - - find_program(EXEC_LOCATION_${exec} - NAMES - "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" - "${TOOLSET_PREFIX}${exec}") - - if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") - message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") - endif() - set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) - endfunction() - set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") + set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") locate_toolchain_exec(gcc CMAKE_C_COMPILER) locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) - set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") - set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") - # let CMake set up the correct search paths include(Platform/Haiku) else() @@ -307,7 +291,7 @@ endif() # Specify compile options -if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) +if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh index 36dbd45e1ce8..e889f439b8dc 100755 --- a/eng/common/darc-init.sh +++ b/eng/common/darc-init.sh @@ -68,7 +68,7 @@ function InstallDarcCli { fi fi - local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" + local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" echo "Installing Darc CLI version $darcVersion..." echo "You may need to restart your command shell if this is the first dotnet tool you have installed." diff --git a/eng/common/dotnet.cmd b/eng/common/dotnet.cmd new file mode 100644 index 000000000000..527fa4bb38fb --- /dev/null +++ b/eng/common/dotnet.cmd @@ -0,0 +1,7 @@ +@echo off + +:: This script is used to install the .NET SDK. +:: It will also invoke the SDK with any provided arguments. + +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet.ps1""" %*" +exit /b %ErrorLevel% diff --git a/eng/common/dotnet.ps1 b/eng/common/dotnet.ps1 new file mode 100644 index 000000000000..45e5676c9ebd --- /dev/null +++ b/eng/common/dotnet.ps1 @@ -0,0 +1,11 @@ +# This script is used to install the .NET SDK. +# It will also invoke the SDK with any provided arguments. + +. $PSScriptRoot\tools.ps1 +$dotnetRoot = InitializeDotNetCli -install:$true + +# Invoke acquired SDK with args if they are provided +if ($args.count -gt 0) { + $env:DOTNET_NOLOGO=1 + & "$dotnetRoot\dotnet.exe" $args +} diff --git a/eng/common/dotnet.sh b/eng/common/dotnet.sh new file mode 100755 index 000000000000..2ef68235675f --- /dev/null +++ b/eng/common/dotnet.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# This script is used to install the .NET SDK. +# It will also invoke the SDK with any provided arguments. + +source="${BASH_SOURCE[0]}" +# resolve $SOURCE until the file is no longer a symlink +while [[ -h $source ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +source $scriptroot/tools.sh +InitializeDotNetCli true # install + +# Invoke acquired SDK with args if they are provided +if [[ $# > 0 ]]; then + __dotnetDir=${_InitializeDotNetCli} + dotnetPath=${__dotnetDir}/dotnet + ${dotnetPath} "$@" +fi diff --git a/eng/common/generate-locproject.ps1 b/eng/common/generate-locproject.ps1 index 524aaa57f2b7..fa1cdc2b3007 100644 --- a/eng/common/generate-locproject.ps1 +++ b/eng/common/generate-locproject.ps1 @@ -33,15 +33,27 @@ $jsonTemplateFiles | ForEach-Object { $jsonWinformsTemplateFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\\strings\.json" } # current winforms pattern +$wxlFilesV3 = @() +$wxlFilesV5 = @() $wxlFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\\.+\.wxl" -And -Not( $_.Directory.Name -Match "\d{4}" ) } # localized files live in four digit lang ID directories; this excludes them if (-not $wxlFiles) { $wxlEnFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\\1033\\.+\.wxl" } # pick up en files (1033 = en) specifically so we can copy them to use as the neutral xlf files if ($wxlEnFiles) { - $wxlFiles = @() - $wxlEnFiles | ForEach-Object { - $destinationFile = "$($_.Directory.Parent.FullName)\$($_.Name)" - $wxlFiles += Copy-Item "$($_.FullName)" -Destination $destinationFile -PassThru - } + $wxlFiles = @() + $wxlEnFiles | ForEach-Object { + $destinationFile = "$($_.Directory.Parent.FullName)\$($_.Name)" + $content = Get-Content $_.FullName -Raw + + # Split files on schema to select different parser settings in the generated project. + if ($content -like "*http://wixtoolset.org/schemas/v4/wxl*") + { + $wxlFilesV5 += Copy-Item $_.FullName -Destination $destinationFile -PassThru + } + elseif ($content -like "*http://schemas.microsoft.com/wix/2006/localization*") + { + $wxlFilesV3 += Copy-Item $_.FullName -Destination $destinationFile -PassThru + } + } } } @@ -114,7 +126,32 @@ $locJson = @{ CloneLanguageSet = "WiX_CloneLanguages" LssFiles = @( "wxl_loc.lss" ) LocItems = @( - $wxlFiles | ForEach-Object { + $wxlFilesV3 | ForEach-Object { + $outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\" + $continue = $true + foreach ($exclusion in $exclusions.Exclusions) { + if ($_.FullName.Contains($exclusion)) { + $continue = $false + } + } + $sourceFile = ($_.FullName | Resolve-Path -Relative) + if ($continue) + { + return @{ + SourceFile = $sourceFile + CopyOption = "LangIDOnPath" + OutputPath = $outputPath + } + } + } + ) + }, + @{ + LanguageSet = $LanguageSet + CloneLanguageSet = "WiX_CloneLanguages" + LssFiles = @( "P210WxlSchemaV4.lss" ) + LocItems = @( + $wxlFilesV5 | ForEach-Object { $outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\" $continue = $true foreach ($exclusion in $exclusions.Exclusions) { diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh old mode 100644 new mode 100755 diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh new file mode 100755 index 000000000000..477a44f335be --- /dev/null +++ b/eng/common/native/install-dependencies.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +set -e + +# This is a simple script primarily used for CI to install necessary dependencies +# +# Usage: +# +# ./install-dependencies.sh + +os="$(echo "$1" | tr "[:upper:]" "[:lower:]")" + +if [ -z "$os" ]; then + . "$(dirname "$0")"/init-os-and-arch.sh +fi + +case "$os" in + linux) + if [ -e /etc/os-release ]; then + . /etc/os-release + fi + + if [ "$ID" = "debian" ] || [ "$ID_LIKE" = "debian" ]; then + apt update + + apt install -y build-essential gettext locales cmake llvm clang lld lldb liblldb-dev libunwind8-dev libicu-dev liblttng-ust-dev \ + libssl-dev libkrb5-dev pigz cpio + + localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 + elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ]; then + pkg_mgr="$(command -v tdnf 2>/dev/null || command -v dnf)" + $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio + elif [ "$ID" = "alpine" ]; then + apk add build-base cmake bash curl clang llvm-dev lld lldb krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio + else + echo "Unsupported distro. distro: $ID" + exit 1 + fi + ;; + + osx|maccatalyst|ios|iossimulator|tvos|tvossimulator) + echo "Installed xcode version: $(xcode-select -p)" + + export HOMEBREW_NO_INSTALL_CLEANUP=1 + export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 + # Skip brew update for now, see https://github.com/actions/setup-python/issues/577 + # brew update --preinstall + brew bundle --no-upgrade --file=- < Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." + Write-Host " -excludeCIBinaryLog When running on CI, allow no binary log (short: -nobl)" Write-Host "" Write-Host "Command line arguments not listed above are passed thru to msbuild." } @@ -34,10 +39,11 @@ function Print-Usage() { function Build([string]$target) { $logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" } $log = Join-Path $LogDir "$task$logSuffix.binlog" + $binaryLogArg = if ($binaryLog) { "/bl:$log" } else { "" } $outputPath = Join-Path $ToolsetDir "$task\" MSBuild $taskProject ` - /bl:$log ` + $binaryLogArg ` /t:$target ` /p:Configuration=$configuration ` /p:RepoRoot=$RepoRoot ` @@ -64,7 +70,7 @@ try { $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty } if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { - $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.12.0" -MemberType NoteProperty + $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "18.0.0" -MemberType NoteProperty } if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true diff --git a/eng/common/sdk-task.sh b/eng/common/sdk-task.sh new file mode 100755 index 000000000000..3270f83fa9a7 --- /dev/null +++ b/eng/common/sdk-task.sh @@ -0,0 +1,121 @@ +#!/usr/bin/env bash + +show_usage() { + echo "Common settings:" + echo " --task Name of Arcade task (name of a project in SdkTasks directory of the Arcade SDK package)" + echo " --restore Restore dependencies" + echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]" + echo " --help Print help and exit" + echo "" + + echo "Advanced settings:" + echo " --excludeCIBinarylog Don't output binary log (short: -nobl)" + echo " --noWarnAsError Do not warn as error" + echo "" + echo "Command line arguments not listed above are passed thru to msbuild." +} + +source="${BASH_SOURCE[0]}" + +# resolve $source until the file is no longer a symlink +while [[ -h "$source" ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +Build() { + local target=$1 + local log_suffix="" + [[ "$target" != "Execute" ]] && log_suffix=".$target" + local log="$log_dir/$task$log_suffix.binlog" + local binaryLogArg="" + [[ $binary_log == true ]] && binaryLogArg="/bl:$log" + local output_path="$toolset_dir/$task/" + + MSBuild "$taskProject" \ + $binaryLogArg \ + /t:"$target" \ + /p:Configuration="$configuration" \ + /p:RepoRoot="$repo_root" \ + /p:BaseIntermediateOutputPath="$output_path" \ + /v:"$verbosity" \ + $properties +} + +binary_log=true +configuration="Debug" +verbosity="minimal" +exclude_ci_binary_log=false +restore=false +help=false +properties='' +warnAsError=true + +while (($# > 0)); do + lowerI="$(echo $1 | tr "[:upper:]" "[:lower:]")" + case $lowerI in + --task) + task=$2 + shift 2 + ;; + --restore) + restore=true + shift 1 + ;; + --verbosity) + verbosity=$2 + shift 2 + ;; + --excludecibinarylog|--nobl) + binary_log=false + exclude_ci_binary_log=true + shift 1 + ;; + --noWarnAsError) + warnAsError=false + shift 1 + ;; + --help) + help=true + shift 1 + ;; + *) + properties="$properties $1" + shift 1 + ;; + esac +done + +ci=true + +if $help; then + show_usage + exit 0 +fi + +. "$scriptroot/tools.sh" +InitializeToolset + +if [[ -z "$task" ]]; then + Write-PipelineTelemetryError -Category 'Task' -Name 'MissingTask' -Message "Missing required parameter '-task '" + ExitWithExitCode 1 +fi + +taskProject=$(GetSdkTaskProject "$task") +if [[ ! -e "$taskProject" ]]; then + Write-PipelineTelemetryError -Category 'Task' -Name 'UnknownTask' -Message "Unknown task: $task" + ExitWithExitCode 1 +fi + +if $restore; then + Build "Restore" +fi + +Build "Execute" + + +ExitWithExitCode 0 diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config index 4585cfd6bba1..e5f543ea68c2 100644 --- a/eng/common/sdl/packages.config +++ b/eng/common/sdl/packages.config @@ -1,4 +1,4 @@ - + diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index 81ea7a261f2d..92a0664f5647 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -31,6 +31,7 @@ jobs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts' ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked continueOnError: true - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - output: pipelineArtifact @@ -39,6 +40,7 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked sbomEnabled: false # we don't need SBOM for logs - ${{ if eq(parameters.enablePublishBuildArtifacts, true) }}: @@ -46,7 +48,7 @@ jobs: displayName: Publish Logs PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' publishLocation: Container - ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} + ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() sbomEnabled: false # we don't need SBOM for logs diff --git a/eng/common/templates-official/steps/publish-build-artifacts.yml b/eng/common/templates-official/steps/publish-build-artifacts.yml index 100a3fc98493..fcf6637b2ebc 100644 --- a/eng/common/templates-official/steps/publish-build-artifacts.yml +++ b/eng/common/templates-official/steps/publish-build-artifacts.yml @@ -24,6 +24,10 @@ parameters: - name: is1ESPipeline type: boolean default: true + +- name: retryCountOnTaskFailure + type: string + default: 10 steps: - ${{ if ne(parameters.is1ESPipeline, true) }}: @@ -38,4 +42,5 @@ steps: PathtoPublish: ${{ parameters.pathToPublish }} ${{ if parameters.artifactName }}: ArtifactName: ${{ parameters.artifactName }} - + ${{ if parameters.retryCountOnTaskFailure }}: + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} diff --git a/eng/common/templates-official/steps/source-index-stage1-publish.yml b/eng/common/templates-official/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..9b8b80942b5c --- /dev/null +++ b/eng/common/templates-official/steps/source-index-stage1-publish.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + is1ESPipeline: true + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index 5bdd3dd85fd2..238fa0818f7b 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -46,6 +46,7 @@ jobs: artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: @@ -56,6 +57,7 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked sbomEnabled: false # we don't need SBOM for logs - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}: @@ -66,7 +68,7 @@ jobs: displayName: Publish Logs pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' publishLocation: Container - artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} + artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() diff --git a/eng/common/templates/steps/publish-build-artifacts.yml b/eng/common/templates/steps/publish-build-artifacts.yml index 6428a98dfef6..605e602e94d1 100644 --- a/eng/common/templates/steps/publish-build-artifacts.yml +++ b/eng/common/templates/steps/publish-build-artifacts.yml @@ -25,6 +25,10 @@ parameters: type: string default: 'Container' +- name: retryCountOnTaskFailure + type: string + default: 10 + steps: - ${{ if eq(parameters.is1ESPipeline, true) }}: - 'eng/common/templates cannot be referenced from a 1ES managed template': error @@ -37,4 +41,6 @@ steps: PublishLocation: ${{ parameters.publishLocation }} PathtoPublish: ${{ parameters.pathToPublish }} ${{ if parameters.artifactName }}: - ArtifactName: ${{ parameters.artifactName }} \ No newline at end of file + ArtifactName: ${{ parameters.artifactName }} + ${{ if parameters.retryCountOnTaskFailure }}: + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} diff --git a/eng/common/templates/steps/source-index-stage1-publish.yml b/eng/common/templates/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..182cec33a7bb --- /dev/null +++ b/eng/common/templates/steps/source-index-stage1-publish.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + is1ESPipeline: false + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates/steps/vmr-sync.yml b/eng/common/templates/steps/vmr-sync.yml new file mode 100644 index 000000000000..eb619c502683 --- /dev/null +++ b/eng/common/templates/steps/vmr-sync.yml @@ -0,0 +1,186 @@ +### These steps synchronize new code from product repositories into the VMR (https://github.com/dotnet/dotnet). +### They initialize the darc CLI and pull the new updates. +### Changes are applied locally onto the already cloned VMR (located in $vmrPath). + +parameters: +- name: targetRef + displayName: Target revision in dotnet/ to synchronize + type: string + default: $(Build.SourceVersion) + +- name: vmrPath + displayName: Path where the dotnet/dotnet is checked out to + type: string + default: $(Agent.BuildDirectory)/vmr + +- name: additionalSyncs + displayName: Optional list of package names whose repo's source will also be synchronized in the local VMR, e.g. NuGet.Protocol + type: object + default: [] + +steps: +- checkout: vmr + displayName: Clone dotnet/dotnet + path: vmr + clean: true + +- checkout: self + displayName: Clone $(Build.Repository.Name) + path: repo + fetchDepth: 0 + +# This step is needed so that when we get a detached HEAD / shallow clone, +# we still pull the commit into the temporary repo clone to use it during the sync. +# Also unshallow the clone so that forwardflow command would work. +- script: | + git branch repo-head + git rev-parse HEAD + displayName: Label PR commit + workingDirectory: $(Agent.BuildDirectory)/repo + +- script: | + git config --global user.name "dotnet-maestro[bot]" + git config --global user.email "dotnet-maestro[bot]@users.noreply.github.com" + displayName: Set git author to dotnet-maestro[bot] + workingDirectory: ${{ parameters.vmrPath }} + +- script: | + ./eng/common/vmr-sync.sh \ + --vmr ${{ parameters.vmrPath }} \ + --tmp $(Agent.TempDirectory) \ + --azdev-pat '$(dn-bot-all-orgs-code-r)' \ + --ci \ + --debug + + if [ "$?" -ne 0 ]; then + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + fi + displayName: Sync repo into VMR (Unix) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + +- script: | + git config --global diff.astextplain.textconv echo + git config --system core.longpaths true + displayName: Configure Windows git (longpaths, astextplain) + condition: eq(variables['Agent.OS'], 'Windows_NT') + +- powershell: | + ./eng/common/vmr-sync.ps1 ` + -vmr ${{ parameters.vmrPath }} ` + -tmp $(Agent.TempDirectory) ` + -azdevPat '$(dn-bot-all-orgs-code-r)' ` + -ci ` + -debugOutput + + if ($LASTEXITCODE -ne 0) { + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + } + displayName: Sync repo into VMR (Windows) + condition: eq(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + +- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: + - task: CopyFiles@2 + displayName: Collect failed patches + condition: failed() + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: '*.patch' + TargetFolder: '$(Build.ArtifactStagingDirectory)/FailedPatches' + + - publish: '$(Build.ArtifactStagingDirectory)/FailedPatches' + artifact: $(System.JobDisplayName)_FailedPatches + displayName: Upload failed patches + condition: failed() + +- ${{ each assetName in parameters.additionalSyncs }}: + # The vmr-sync script ends up staging files in the local VMR so we have to commit those + - script: + git commit --allow-empty -am "Forward-flow $(Build.Repository.Name)" + displayName: Commit local VMR changes + workingDirectory: ${{ parameters.vmrPath }} + + - script: | + set -ex + + echo "Searching for details of asset ${{ assetName }}..." + + # Use darc to get dependencies information + dependencies=$(./.dotnet/dotnet darc get-dependencies --name '${{ assetName }}' --ci) + + # Extract repository URL and commit hash + repository=$(echo "$dependencies" | grep 'Repo:' | sed 's/Repo:[[:space:]]*//' | head -1) + + if [ -z "$repository" ]; then + echo "##vso[task.logissue type=error]Asset ${{ assetName }} not found in the dependency list" + exit 1 + fi + + commit=$(echo "$dependencies" | grep 'Commit:' | sed 's/Commit:[[:space:]]*//' | head -1) + + echo "Updating the VMR from $repository / $commit..." + cd .. + git clone $repository ${{ assetName }} + cd ${{ assetName }} + git checkout $commit + git branch "sync/$commit" + + ./eng/common/vmr-sync.sh \ + --vmr ${{ parameters.vmrPath }} \ + --tmp $(Agent.TempDirectory) \ + --azdev-pat '$(dn-bot-all-orgs-code-r)' \ + --ci \ + --debug + + if [ "$?" -ne 0 ]; then + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + fi + displayName: Sync ${{ assetName }} into (Unix) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + + - powershell: | + $ErrorActionPreference = 'Stop' + + Write-Host "Searching for details of asset ${{ assetName }}..." + + $dependencies = .\.dotnet\dotnet darc get-dependencies --name '${{ assetName }}' --ci + + $repository = $dependencies | Select-String -Pattern 'Repo:\s+([^\s]+)' | Select-Object -First 1 + $repository -match 'Repo:\s+([^\s]+)' | Out-Null + $repository = $matches[1] + + if ($repository -eq $null) { + Write-Error "Asset ${{ assetName }} not found in the dependency list" + exit 1 + } + + $commit = $dependencies | Select-String -Pattern 'Commit:\s+([^\s]+)' | Select-Object -First 1 + $commit -match 'Commit:\s+([^\s]+)' | Out-Null + $commit = $matches[1] + + Write-Host "Updating the VMR from $repository / $commit..." + cd .. + git clone $repository ${{ assetName }} + cd ${{ assetName }} + git checkout $commit + git branch "sync/$commit" + + .\eng\common\vmr-sync.ps1 ` + -vmr ${{ parameters.vmrPath }} ` + -tmp $(Agent.TempDirectory) ` + -azdevPat '$(dn-bot-all-orgs-code-r)' ` + -ci ` + -debugOutput + + if ($LASTEXITCODE -ne 0) { + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + } + displayName: Sync ${{ assetName }} into (Windows) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/eng/common/templates/vmr-build-pr.yml b/eng/common/templates/vmr-build-pr.yml new file mode 100644 index 000000000000..2f3694fa1323 --- /dev/null +++ b/eng/common/templates/vmr-build-pr.yml @@ -0,0 +1,43 @@ +# This pipeline is used for running the VMR verification of the PR changes in repo-level PRs. +# +# It will run a full set of verification jobs defined in: +# https://github.com/dotnet/dotnet/blob/10060d128e3f470e77265f8490f5e4f72dae738e/eng/pipelines/templates/stages/vmr-build.yml#L27-L38 +# +# For repos that do not need to run the full set, you would do the following: +# +# 1. Copy this YML file to a repo-specific location, i.e. outside of eng/common. +# +# 2. Add `verifications` parameter to VMR template reference +# +# Examples: +# - For source-build stage 1 verification, add the following: +# verifications: [ "source-build-stage1" ] +# +# - For Windows only verifications, add the following: +# verifications: [ "unified-build-windows-x64", "unified-build-windows-x86" ] + +trigger: none +pr: none + +variables: +- template: /eng/common/templates/variables/pool-providers.yml@self + +- name: skipComponentGovernanceDetection # we run CG on internal builds only + value: true + +- name: Codeql.Enabled # we run CodeQL on internal builds only + value: false + +resources: + repositories: + - repository: vmr + type: github + name: dotnet/dotnet + endpoint: dotnet + ref: refs/heads/main # Set to whatever VMR branch the PR build should insert into + +stages: +- template: /eng/pipelines/templates/stages/vmr-build.yml@vmr + parameters: + isBuiltFromVmr: false + scope: lite diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index a06513a59407..977a2d4b1039 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -65,10 +65,8 @@ $ErrorActionPreference = 'Stop' # Base-64 encoded SAS token that has permission to storage container described by $runtimeSourceFeed [string]$runtimeSourceFeedKey = if (Test-Path variable:runtimeSourceFeedKey) { $runtimeSourceFeedKey } else { $null } -# True if the build is a product build -[bool]$productBuild = if (Test-Path variable:productBuild) { $productBuild } else { $false } - -[String[]]$properties = if (Test-Path variable:properties) { $properties } else { @() } +# True when the build is running within the VMR. +[bool]$fromVMR = if (Test-Path variable:fromVMR) { $fromVMR } else { $false } function Create-Directory ([string[]] $path) { New-Item -Path $path -Force -ItemType 'Directory' | Out-Null @@ -259,7 +257,20 @@ function Retry($downloadBlock, $maxRetries = 5) { function GetDotNetInstallScript([string] $dotnetRoot) { $installScript = Join-Path $dotnetRoot 'dotnet-install.ps1' + $shouldDownload = $false + if (!(Test-Path $installScript)) { + $shouldDownload = $true + } else { + # Check if the script is older than 30 days + $fileAge = (Get-Date) - (Get-Item $installScript).LastWriteTime + if ($fileAge.Days -gt 30) { + Write-Host "Existing install script is too old, re-downloading..." + $shouldDownload = $true + } + } + + if ($shouldDownload) { Create-Directory $dotnetRoot $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit $uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1" @@ -383,8 +394,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = # If the version of msbuild is going to be xcopied, # use this version. Version matches a package here: - # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.12.0 - $defaultXCopyMSBuildVersion = '17.12.0' + # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/18.0.0 + $defaultXCopyMSBuildVersion = '18.0.0' if (!$vsRequirements) { if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') { @@ -533,7 +544,8 @@ function LocateVisualStudio([object]$vsRequirements = $null){ if (Get-Member -InputObject $GlobalJson.tools -Name 'vswhere') { $vswhereVersion = $GlobalJson.tools.vswhere } else { - $vswhereVersion = '2.5.2' + # keep this in sync with the VSWhereVersion in DefaultVersions.props + $vswhereVersion = '3.1.7' } $vsWhereDir = Join-Path $ToolsDir "vswhere\$vswhereVersion" @@ -541,7 +553,8 @@ function LocateVisualStudio([object]$vsRequirements = $null){ if (!(Test-Path $vsWhereExe)) { Create-Directory $vsWhereDir - Write-Host 'Downloading vswhere' + Write-Host "Downloading vswhere $vswhereVersion" + $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit Retry({ Invoke-WebRequest "https://netcorenativeassets.blob.core.windows.net/resource-packages/external/windows/vswhere/$vswhereVersion/vswhere.exe" -UseBasicParsing -OutFile $vswhereExe }) @@ -611,14 +624,7 @@ function InitializeBuildTool() { } $dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') - # Use override if it exists - commonly set by source-build - if ($null -eq $env:_OverrideArcadeInitializeBuildToolFramework) { - $initializeBuildToolFramework="net9.0" - } else { - $initializeBuildToolFramework=$env:_OverrideArcadeInitializeBuildToolFramework - } - - $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = $initializeBuildToolFramework } + $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'net' } } elseif ($msbuildEngine -eq "vs") { try { $msbuildPath = InitializeVisualStudioMSBuild -install:$restore @@ -627,7 +633,7 @@ function InitializeBuildTool() { ExitWithExitCode 1 } - $buildTool = @{ Path = $msbuildPath; Command = ""; Tool = "vs"; Framework = "net472"; ExcludePrereleaseVS = $excludePrereleaseVS } + $buildTool = @{ Path = $msbuildPath; Command = ""; Tool = "vs"; Framework = "netframework"; ExcludePrereleaseVS = $excludePrereleaseVS } } else { Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Unexpected value of -msbuildEngine: '$msbuildEngine'." ExitWithExitCode 1 @@ -660,7 +666,6 @@ function GetNuGetPackageCachePath() { $env:NUGET_PACKAGES = Join-Path $env:UserProfile '.nuget\packages\' } else { $env:NUGET_PACKAGES = Join-Path $RepoRoot '.packages\' - $env:RESTORENOHTTPCACHE = $true } } @@ -782,26 +787,13 @@ function MSBuild() { $toolsetBuildProject = InitializeToolset $basePath = Split-Path -parent $toolsetBuildProject - $possiblePaths = @( - # new scripts need to work with old packages, so we need to look for the old names/versions - (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.Arcade.Sdk.dll')), - (Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.Arcade.Sdk.dll')), - (Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.Arcade.Sdk.dll')) - ) - $selectedPath = $null - foreach ($path in $possiblePaths) { - if (Test-Path $path -PathType Leaf) { - $selectedPath = $path - break - } - } + $selectedPath = Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll') + if (-not $selectedPath) { - Write-PipelineTelemetryError -Category 'Build' -Message 'Unable to find arcade sdk logger assembly.' + Write-PipelineTelemetryError -Category 'Build' -Message "Unable to find arcade sdk logger assembly: $selectedPath" ExitWithExitCode 1 } + $args += "/logger:$selectedPath" } @@ -832,6 +824,11 @@ function MSBuild-Core() { $cmdArgs = "$($buildTool.Command) /m /nologo /clp:Summary /v:$verbosity /nr:$nodeReuse /p:ContinuousIntegrationBuild=$ci" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + if ($env:MSBUILD_MT_ENABLED -eq "1") { + $cmdArgs += ' -mt' + } + if ($warnAsError) { $cmdArgs += ' /warnaserror /p:TreatWarningsAsErrors=true' } @@ -864,8 +861,8 @@ function MSBuild-Core() { } # When running on Azure Pipelines, override the returned exit code to avoid double logging. - # Skip this when the build is a child of the VMR orchestrator build. - if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$productBuild -and -not($properties -like "*DotNetBuildRepo=true*")) { + # Skip this when the build is a child of the VMR build. + if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$fromVMR) { Write-PipelineSetResult -Result "Failed" -Message "msbuild execution failed." # Exiting with an exit code causes the azure pipelines task to log yet another "noise" error # The above Write-PipelineSetResult will cause the task to be marked as failure without adding yet another error diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 01b09b65796c..1b296f646c23 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -5,6 +5,9 @@ # CI mode - set to true on CI server for PR validation build or official build. ci=${ci:-false} +# Build mode +source_build=${source_build:-false} + # Set to true to use the pipelines logger which will enable Azure logging output. # https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md # This flag is meant as a temporary opt-opt for the feature while validate it across @@ -58,7 +61,8 @@ use_installed_dotnet_cli=${use_installed_dotnet_cli:-true} dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'} # True to use global NuGet cache instead of restoring packages to repository-local directory. -if [[ "$ci" == true ]]; then +# Keep in sync with NuGetPackageroot in Arcade SDK's RepositoryLayout.props. +if [[ "$ci" == true || "$source_build" == true ]]; then use_global_nuget_cache=${use_global_nuget_cache:-false} else use_global_nuget_cache=${use_global_nuget_cache:-true} @@ -68,8 +72,8 @@ fi runtime_source_feed=${runtime_source_feed:-''} runtime_source_feed_key=${runtime_source_feed_key:-''} -# True if the build is a product build -product_build=${product_build:-false} +# True when the build is running within the VMR. +from_vmr=${from_vmr:-false} # Resolve any symlinks in the given path. function ResolvePath { @@ -296,8 +300,29 @@ function GetDotNetInstallScript { local root=$1 local install_script="$root/dotnet-install.sh" local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh" + local timestamp_file="$root/.dotnet-install.timestamp" + local should_download=false if [[ ! -a "$install_script" ]]; then + should_download=true + elif [[ -f "$timestamp_file" ]]; then + # Check if the script is older than 30 days using timestamp file + local download_time=$(cat "$timestamp_file" 2>/dev/null || echo "0") + local current_time=$(date +%s) + local age_seconds=$((current_time - download_time)) + + # 30 days = 30 * 24 * 60 * 60 = 2592000 seconds + if [[ $age_seconds -gt 2592000 ]]; then + echo "Existing install script is too old, re-downloading..." + should_download=true + fi + else + # No timestamp file exists, assume script is old and re-download + echo "No timestamp found for existing install script, re-downloading..." + should_download=true + fi + + if [[ "$should_download" == true ]]; then mkdir -p "$root" echo "Downloading '$install_script_url'" @@ -324,6 +349,9 @@ function GetDotNetInstallScript { ExitWithExitCode $exit_code } fi + + # Create timestamp file to track download time in seconds from epoch + date +%s > "$timestamp_file" fi # return value _GetDotNetInstallScript="$install_script" @@ -339,22 +367,14 @@ function InitializeBuildTool { # return values _InitializeBuildTool="$_InitializeDotNetCli/dotnet" _InitializeBuildToolCommand="msbuild" - # use override if it exists - commonly set by source-build - if [[ "${_OverrideArcadeInitializeBuildToolFramework:-x}" == "x" ]]; then - _InitializeBuildToolFramework="net9.0" - else - _InitializeBuildToolFramework="${_OverrideArcadeInitializeBuildToolFramework}" - fi } -# Set RestoreNoHttpCache as a workaround for https://github.com/NuGet/Home/issues/3116 function GetNuGetPackageCachePath { if [[ -z ${NUGET_PACKAGES:-} ]]; then if [[ "$use_global_nuget_cache" == true ]]; then export NUGET_PACKAGES="$HOME/.nuget/packages/" else export NUGET_PACKAGES="$repo_root/.packages/" - export RESTORENOHTTPCACHE=true fi fi @@ -451,25 +471,13 @@ function MSBuild { fi local toolset_dir="${_InitializeToolset%/*}" - # new scripts need to work with old packages, so we need to look for the old names/versions - local selectedPath= - local possiblePaths=() - possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll" ) - possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.Arcade.Sdk.dll" ) - possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.Arcade.Sdk.dll" ) - for path in "${possiblePaths[@]}"; do - if [[ -f $path ]]; then - selectedPath=$path - break - fi - done + local selectedPath="$toolset_dir/net/Microsoft.DotNet.ArcadeLogging.dll" + if [[ -z "$selectedPath" ]]; then - Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly." + Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly: $selectedPath" ExitWithExitCode 1 fi + args+=( "-logger:$selectedPath" ) fi @@ -506,8 +514,8 @@ function MSBuild-Core { echo "Build failed with exit code $exit_code. Check errors above." # When running on Azure Pipelines, override the returned exit code to avoid double logging. - # Skip this when the build is a child of the VMR orchestrator build. - if [[ "$ci" == true && -n ${SYSTEM_TEAMPROJECT:-} && "$product_build" != true && "$properties" != *"DotNetBuildRepo=true"* ]]; then + # Skip this when the build is a child of the VMR build. + if [[ "$ci" == true && -n ${SYSTEM_TEAMPROJECT:-} && "$from_vmr" != true ]]; then Write-PipelineSetResult -result "Failed" -message "msbuild execution failed." # Exiting with an exit code causes the azure pipelines task to log yet another "noise" error # The above Write-PipelineSetResult will cause the task to be marked as failure without adding yet another error @@ -518,7 +526,13 @@ function MSBuild-Core { } } - RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + local mt_switch="" + if [[ "${MSBUILD_MT_ENABLED:-}" == "1" ]]; then + mt_switch="-mt" + fi + + RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } function GetDarc { @@ -530,6 +544,13 @@ function GetDarc { fi "$eng_root/common/darc-init.sh" --toolpath "$darc_path" $version + darc_tool="$darc_path/darc" +} + +# Returns a full path to an Arcade SDK task project file. +function GetSdkTaskProject { + taskName=$1 + echo "$(dirname $_InitializeToolset)/SdkTasks/$taskName.proj" } ResolvePath "${BASH_SOURCE[0]}" diff --git a/eng/common/vmr-sync.ps1 b/eng/common/vmr-sync.ps1 new file mode 100755 index 000000000000..b37992d91cf0 --- /dev/null +++ b/eng/common/vmr-sync.ps1 @@ -0,0 +1,164 @@ +<# +.SYNOPSIS + +This script is used for synchronizing the current repository into a local VMR. +It pulls the current repository's code into the specified VMR directory for local testing or +Source-Build validation. + +.DESCRIPTION + +The tooling used for synchronization will clone the VMR repository into a temporary folder if +it does not already exist. These clones can be reused in future synchronizations, so it is +recommended to dedicate a folder for this to speed up re-runs. + +.EXAMPLE + Synchronize current repository into a local VMR: + ./vmr-sync.ps1 -vmrDir "$HOME/repos/dotnet" -tmpDir "$HOME/repos/tmp" + +.PARAMETER tmpDir +Required. Path to the temporary folder where repositories will be cloned + +.PARAMETER vmrBranch +Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch + +.PARAMETER azdevPat +Optional. Azure DevOps PAT to use for cloning private repositories. + +.PARAMETER vmrDir +Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder + +.PARAMETER debugOutput +Optional. Enables debug logging in the darc vmr command. + +.PARAMETER ci +Optional. Denotes that the script is running in a CI environment. +#> +param ( + [Parameter(Mandatory=$true, HelpMessage="Path to the temporary folder where repositories will be cloned")] + [string][Alias('t', 'tmp')]$tmpDir, + [string][Alias('b', 'branch')]$vmrBranch, + [string]$remote, + [string]$azdevPat, + [string][Alias('v', 'vmr')]$vmrDir, + [switch]$ci, + [switch]$debugOutput +) + +function Fail { + Write-Host "> $($args[0])" -ForegroundColor 'Red' +} + +function Highlight { + Write-Host "> $($args[0])" -ForegroundColor 'Cyan' +} + +$verbosity = 'verbose' +if ($debugOutput) { + $verbosity = 'debug' +} +# Validation + +if (-not $tmpDir) { + Fail "Missing -tmpDir argument. Please specify the path to the temporary folder where the repositories will be cloned" + exit 1 +} + +# Sanitize the input + +if (-not $vmrDir) { + $vmrDir = Join-Path $tmpDir 'dotnet' +} + +if (-not (Test-Path -Path $tmpDir -PathType Container)) { + New-Item -ItemType Directory -Path $tmpDir | Out-Null +} + +# Prepare the VMR + +if (-not (Test-Path -Path $vmrDir -PathType Container)) { + Highlight "Cloning 'dotnet/dotnet' into $vmrDir.." + git clone https://github.com/dotnet/dotnet $vmrDir + + if ($vmrBranch) { + git -C $vmrDir switch -c $vmrBranch + } +} +else { + if ((git -C $vmrDir diff --quiet) -eq $false) { + Fail "There are changes in the working tree of $vmrDir. Please commit or stash your changes" + exit 1 + } + + if ($vmrBranch) { + Highlight "Preparing $vmrDir" + git -C $vmrDir checkout $vmrBranch + git -C $vmrDir pull + } +} + +Set-StrictMode -Version Latest + +# Prepare darc + +Highlight 'Installing .NET, preparing the tooling..' +. .\eng\common\tools.ps1 +$dotnetRoot = InitializeDotNetCli -install:$true +$env:DOTNET_ROOT = $dotnetRoot +$darc = Get-Darc + +Highlight "Starting the synchronization of VMR.." + +# Synchronize the VMR +$versionDetailsPath = Resolve-Path (Join-Path $PSScriptRoot '..\Version.Details.xml') | Select-Object -ExpandProperty Path +[xml]$versionDetails = Get-Content -Path $versionDetailsPath +$repoName = $versionDetails.SelectSingleNode('//Source').Mapping +if (-not $repoName) { + Fail "Failed to resolve repo mapping from $versionDetailsPath" + exit 1 +} + +$darcArgs = ( + "vmr", "forwardflow", + "--tmp", $tmpDir, + "--$verbosity", + $vmrDir +) + +if ($ci) { + $darcArgs += ("--ci") +} + +if ($azdevPat) { + $darcArgs += ("--azdev-pat", $azdevPat) +} + +& "$darc" $darcArgs + +if ($LASTEXITCODE -eq 0) { + Highlight "Synchronization succeeded" +} +else { + Highlight "Failed to flow code into the local VMR. Falling back to resetting the VMR to match repo contents..." + git -C $vmrDir reset --hard + + $resetArgs = ( + "vmr", "reset", + "${repoName}:HEAD", + "--vmr", $vmrDir, + "--tmp", $tmpDir, + "--additional-remotes", "${repoName}:${repoRoot}" + ) + + & "$darc" $resetArgs + + if ($LASTEXITCODE -eq 0) { + Highlight "Successfully reset the VMR using 'darc vmr reset'" + } + else { + Fail "Synchronization of repo to VMR failed!" + Fail "'$vmrDir' is left in its last state (re-run of this script will reset it)." + Fail "Please inspect the logs which contain path to the failing patch file (use -debugOutput to get all the details)." + Fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script." + exit 1 + } +} diff --git a/eng/common/vmr-sync.sh b/eng/common/vmr-sync.sh new file mode 100755 index 000000000000..198caec59bd4 --- /dev/null +++ b/eng/common/vmr-sync.sh @@ -0,0 +1,227 @@ +#!/bin/bash + +### This script is used for synchronizing the current repository into a local VMR. +### It pulls the current repository's code into the specified VMR directory for local testing or +### Source-Build validation. +### +### The tooling used for synchronization will clone the VMR repository into a temporary folder if +### it does not already exist. These clones can be reused in future synchronizations, so it is +### recommended to dedicate a folder for this to speed up re-runs. +### +### USAGE: +### Synchronize current repository into a local VMR: +### ./vmr-sync.sh --tmp "$HOME/repos/tmp" "$HOME/repos/dotnet" +### +### Options: +### -t, --tmp, --tmp-dir PATH +### Required. Path to the temporary folder where repositories will be cloned +### +### -b, --branch, --vmr-branch BRANCH_NAME +### Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch +### +### --debug +### Optional. Turns on the most verbose logging for the VMR tooling +### +### --remote name:URI +### Optional. Additional remote to use during the synchronization +### This can be used to synchronize to a commit from a fork of the repository +### Example: 'runtime:https://github.com/yourfork/runtime' +### +### --azdev-pat +### Optional. Azure DevOps PAT to use for cloning private repositories. +### +### -v, --vmr, --vmr-dir PATH +### Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder + +source="${BASH_SOURCE[0]}" + +# resolve $source until the file is no longer a symlink +while [[ -h "$source" ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +function print_help () { + sed -n '/^### /,/^$/p' "$source" | cut -b 5- +} + +COLOR_RED=$(tput setaf 1 2>/dev/null || true) +COLOR_CYAN=$(tput setaf 6 2>/dev/null || true) +COLOR_CLEAR=$(tput sgr0 2>/dev/null || true) +COLOR_RESET=uniquesearchablestring +FAILURE_PREFIX='> ' + +function fail () { + echo "${COLOR_RED}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_RED}}${COLOR_CLEAR}" >&2 +} + +function highlight () { + echo "${COLOR_CYAN}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_CYAN}}${COLOR_CLEAR}" +} + +tmp_dir='' +vmr_dir='' +vmr_branch='' +additional_remotes='' +verbosity=verbose +azdev_pat='' +ci=false + +while [[ $# -gt 0 ]]; do + opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")" + case "$opt" in + -t|--tmp|--tmp-dir) + tmp_dir=$2 + shift + ;; + -v|--vmr|--vmr-dir) + vmr_dir=$2 + shift + ;; + -b|--branch|--vmr-branch) + vmr_branch=$2 + shift + ;; + --remote) + additional_remotes="$additional_remotes $2" + shift + ;; + --azdev-pat) + azdev_pat=$2 + shift + ;; + --ci) + ci=true + ;; + -d|--debug) + verbosity=debug + ;; + -h|--help) + print_help + exit 0 + ;; + *) + fail "Invalid argument: $1" + print_help + exit 1 + ;; + esac + + shift +done + +# Validation + +if [[ -z "$tmp_dir" ]]; then + fail "Missing --tmp-dir argument. Please specify the path to the temporary folder where the repositories will be cloned" + exit 1 +fi + +# Sanitize the input + +if [[ -z "$vmr_dir" ]]; then + vmr_dir="$tmp_dir/dotnet" +fi + +if [[ ! -d "$tmp_dir" ]]; then + mkdir -p "$tmp_dir" +fi + +if [[ "$verbosity" == "debug" ]]; then + set -x +fi + +# Prepare the VMR + +if [[ ! -d "$vmr_dir" ]]; then + highlight "Cloning 'dotnet/dotnet' into $vmr_dir.." + git clone https://github.com/dotnet/dotnet "$vmr_dir" + + if [[ -n "$vmr_branch" ]]; then + git -C "$vmr_dir" switch -c "$vmr_branch" + fi +else + if ! git -C "$vmr_dir" diff --quiet; then + fail "There are changes in the working tree of $vmr_dir. Please commit or stash your changes" + exit 1 + fi + + if [[ -n "$vmr_branch" ]]; then + highlight "Preparing $vmr_dir" + git -C "$vmr_dir" checkout "$vmr_branch" + git -C "$vmr_dir" pull + fi +fi + +set -e + +# Prepare darc + +highlight 'Installing .NET, preparing the tooling..' +source "./eng/common/tools.sh" +InitializeDotNetCli true +GetDarc +dotnetDir=$( cd ./.dotnet/; pwd -P ) +dotnet=$dotnetDir/dotnet + +highlight "Starting the synchronization of VMR.." +set +e + +if [[ -n "$additional_remotes" ]]; then + additional_remotes="--additional-remotes $additional_remotes" +fi + +if [[ -n "$azdev_pat" ]]; then + azdev_pat="--azdev-pat $azdev_pat" +fi + +ci_arg='' +if [[ "$ci" == "true" ]]; then + ci_arg="--ci" +fi + +# Synchronize the VMR + +version_details_path=$(cd "$scriptroot/.."; pwd -P)/Version.Details.xml +repo_name=$(grep -m 1 ' Date: Fri, 10 Apr 2026 09:48:10 +0000 Subject: [PATCH 102/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 266 +++++++-------- eng/Version.Details.xml | 673 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 475 insertions(+), 474 deletions(-) diff --git a/NuGet.config b/NuGet.config index e226baf9b0b6..903609549285 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 94492476bae6..1a73d58a3c79 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,139 +8,139 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-preview.26203.109 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26203-109 - 7.0.2-rc.20409 - 10.0.106 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.0-preview.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 2.0.0-preview.1.26203.109 - 2.2.6 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26203.109 - 10.0.6 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26202.103 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26202-103 + 7.3.0-rc.20303 + 10.0.202 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.0-preview.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26202.103 + 10.0.4 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26203.109 - 10.0.6-servicing.26203.109 - 18.0.2-release-26203-109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 18.0.2-release-26203-109 - 18.0.2-release-26203-109 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26202.103 + 10.0.4-servicing.26119.110 + 18.3.0-release-26202-103 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 18.3.0-release-26202-103 + 18.3.0-release-26202-103 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 2.3.0-preview.26202.5 4.3.0-preview.26202.5 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3a7cdb3a56c8..a1ff22313714 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 https://github.com/microsoft/testfx @@ -569,9 +568,9 @@ https://github.com/microsoft/testfx cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 6f9207378ac4..0552121a41ea 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.109", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.109", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 08e9f088719d7f0db3cae6c8dbacf98e4122193a Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Fri, 10 Apr 2026 14:04:10 +0200 Subject: [PATCH 103/137] Improve support of nuget commands with file-based apps (#53535) --- .../Hidden/List/ListCommandDefinition.cs | 4 +- .../List/ListPackageCommandDefinition.cs | 4 +- .../List/ListReferenceCommandDefinition.cs | 2 +- .../Package/PackageListCommandDefinition.cs | 21 +- .../dotnet/Commands/CliCommandStrings.resx | 5 - src/Cli/dotnet/Commands/NuGet/NuGetCommand.cs | 44 ++- .../NuGet/NuGetVirtualProjectBuilder.cs | 47 +++ .../Commands/Package/Add/PackageAddCommand.cs | 300 ++++-------------- .../Package/List/PackageListCommand.cs | 75 +++-- .../Package/Remove/PackageRemoveCommand.cs | 43 +-- .../Package/VirtualProjectPackageReflector.cs | 63 ++++ .../Project/Convert/ProjectConvertCommand.cs | 1 + .../dotnet/Commands/Run/Api/RunApiCommand.cs | 5 +- .../Run/VirtualProjectBuildingCommand.cs | 10 +- .../Commands/xlf/CliCommandStrings.cs.xlf | 6 - .../Commands/xlf/CliCommandStrings.de.xlf | 6 - .../Commands/xlf/CliCommandStrings.es.xlf | 6 - .../Commands/xlf/CliCommandStrings.fr.xlf | 6 - .../Commands/xlf/CliCommandStrings.it.xlf | 6 - .../Commands/xlf/CliCommandStrings.ja.xlf | 6 - .../Commands/xlf/CliCommandStrings.ko.xlf | 6 - .../Commands/xlf/CliCommandStrings.pl.xlf | 6 - .../Commands/xlf/CliCommandStrings.pt-BR.xlf | 6 - .../Commands/xlf/CliCommandStrings.ru.xlf | 6 - .../Commands/xlf/CliCommandStrings.tr.xlf | 6 - .../xlf/CliCommandStrings.zh-Hans.xlf | 6 - .../xlf/CliCommandStrings.zh-Hant.xlf | 6 - src/Cli/dotnet/Parser.cs | 4 +- src/Common/EnvironmentVariableNames.cs | 1 + .../VirtualProjectBuilder.cs | 22 +- .../CommandTests/NuGet/GivenANuGetCommand.cs | 99 ++++++ .../Package/Add/GivenDotnetPackageAdd.cs | 64 ++-- .../Package/List/GivenDotnetListPackage.cs | 21 ++ .../Remove/GivenDotnetRemovePackage.cs | 6 +- .../Convert/DotnetProjectConvertTests.cs | 3 +- .../List/GivenDotnetListReference.cs | 12 +- .../CommandTests/Run/RunFileTests.cs | 52 +++ 37 files changed, 529 insertions(+), 457 deletions(-) create mode 100644 src/Cli/dotnet/Commands/NuGet/NuGetVirtualProjectBuilder.cs create mode 100644 src/Cli/dotnet/Commands/Package/VirtualProjectPackageReflector.cs diff --git a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListCommandDefinition.cs b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListCommandDefinition.cs index ec63176267cd..cefd8ab10014 100644 --- a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListCommandDefinition.cs +++ b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListCommandDefinition.cs @@ -20,7 +20,7 @@ public static Argument CreateSlnOrProjectArgument(string name, string de Arity = ArgumentArity.ZeroOrOne }.DefaultToCurrentDirectory(); - public readonly Argument SlnOrProjectArgument = CreateSlnOrProjectArgument(CommandDefinitionStrings.SolutionOrProjectArgumentName, CommandDefinitionStrings.SolutionOrProjectArgumentDescription); + public readonly Argument SlnOrProjectOrFileArgument = CreateSlnOrProjectArgument(CommandDefinitionStrings.SolutionOrProjectOrFileArgumentName, CommandDefinitionStrings.SolutionOrProjectOrFileArgumentDescription); public readonly ListPackageCommandDefinition PackageCommand = new(); public readonly ListReferenceCommandDefinition ReferenceCommand = new(); @@ -31,7 +31,7 @@ public ListCommandDefinition() Hidden = true; this.DocsLink = Link; - Arguments.Add(SlnOrProjectArgument); + Arguments.Add(SlnOrProjectOrFileArgument); Subcommands.Add(PackageCommand); Subcommands.Add(ReferenceCommand); } diff --git a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListPackageCommandDefinition.cs b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListPackageCommandDefinition.cs index f79679563733..6e9d02b473c8 100644 --- a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListPackageCommandDefinition.cs +++ b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListPackageCommandDefinition.cs @@ -12,6 +12,6 @@ internal sealed class ListPackageCommandDefinition() : PackageListCommandDefinit public ListCommandDefinition Parent => (ListCommandDefinition)Parents.Single(); - public override string? GetFileOrDirectory(ParseResult parseResult) - => parseResult.GetValue(Parent.SlnOrProjectArgument); + public override Argument? GetProjectOrFileArgument() + => Parent.SlnOrProjectOrFileArgument; } diff --git a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListReferenceCommandDefinition.cs b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListReferenceCommandDefinition.cs index 748187d7f4fe..d49e703a2d42 100644 --- a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListReferenceCommandDefinition.cs +++ b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Hidden/List/ListReferenceCommandDefinition.cs @@ -19,7 +19,7 @@ public ListReferenceCommandDefinition() : base(Name) public ListCommandDefinition Parent => (ListCommandDefinition)Parents.Single(); internal override string? GetFileOrDirectory(ParseResult parseResult) - => parseResult.GetValue(Parent.SlnOrProjectArgument); + => parseResult.GetValue(Parent.SlnOrProjectOrFileArgument); } internal abstract class ListReferenceCommandDefinitionBase : Command diff --git a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Package/PackageListCommandDefinition.cs b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Package/PackageListCommandDefinition.cs index 9e0eb70520c9..2db06fe0fb97 100644 --- a/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Package/PackageListCommandDefinition.cs +++ b/src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/Package/PackageListCommandDefinition.cs @@ -6,20 +6,12 @@ namespace Microsoft.DotNet.Cli.Commands.Package.List; -internal sealed class PackageListCommandDefinition : PackageListCommandDefinitionBase +internal sealed class PackageListCommandDefinition() : PackageListCommandDefinitionBase(Name) { public new const string Name = "list"; - public readonly Option ProjectOption = PackageCommandDefinition.CreateProjectOption(); - - public PackageListCommandDefinition() - : base(Name) - { - Options.Add(ProjectOption); - } - - public override string? GetFileOrDirectory(ParseResult parseResult) - => parseResult.GetValue(ProjectOption); + public override Argument? GetProjectOrFileArgument() + => null; } internal abstract class PackageListCommandDefinitionBase : Command @@ -110,6 +102,9 @@ internal abstract class PackageListCommandDefinitionBase : Command Description = CommandDefinitionStrings.CmdOutputVersionDescription }.ForwardAsSingle(o => $"--output-version:{o}"); + public readonly Option ProjectOption = PackageCommandDefinition.CreateProjectOption(); + public readonly Option FileOption = PackageCommandDefinition.CreateFileOption(); + public PackageListCommandDefinitionBase(string name) : base(name, CommandDefinitionStrings.PackageListAppFullName) { @@ -128,9 +123,11 @@ public PackageListCommandDefinitionBase(string name) Options.Add(FormatOption); Options.Add(OutputVersionOption); Options.Add(NoRestore); + Options.Add(ProjectOption); + Options.Add(FileOption); } - public abstract string? GetFileOrDirectory(ParseResult parseResult); + public abstract Argument? GetProjectOrFileArgument(); public void EnforceOptionRules(ParseResult parseResult) { diff --git a/src/Cli/dotnet/Commands/CliCommandStrings.resx b/src/Cli/dotnet/Commands/CliCommandStrings.resx index cb37e3792b84..8987541a2308 100644 --- a/src/Cli/dotnet/Commands/CliCommandStrings.resx +++ b/src/Cli/dotnet/Commands/CliCommandStrings.resx @@ -651,11 +651,6 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Specify only one package reference to remove. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - Command names conflict. Command names are case insensitive. {0} diff --git a/src/Cli/dotnet/Commands/NuGet/NuGetCommand.cs b/src/Cli/dotnet/Commands/NuGet/NuGetCommand.cs index 9a68c31b22e7..296e57ede7db 100644 --- a/src/Cli/dotnet/Commands/NuGet/NuGetCommand.cs +++ b/src/Cli/dotnet/Commands/NuGet/NuGetCommand.cs @@ -6,19 +6,36 @@ using System.CommandLine; using Microsoft.DotNet.Cli.Extensions; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ProjectTools; namespace Microsoft.DotNet.Cli.Commands.NuGet; -public class NuGetCommand +internal class NuGetCommand { - public static int Run(string[] args) + public static int Run(string[] args, bool isFileBasedApp = false) { - return Run(args, new NuGetCommandRunner()); + return Run(args, isFileBasedApp + ? new InProcessNuGetCommandRunner(NuGetVirtualProjectBuilder.Instance) + : new NuGetCommandRunner()); } public static int Run(ParseResult parseResult) { - return Run(parseResult.GetArguments(), new NuGetCommandRunner()); + ICommandRunner runner; + + if (parseResult.CommandResult.Command.Name == "why" + && parseResult.CommandResult.Command.Arguments.FirstOrDefault() is Argument pathArg + && parseResult.GetValue(pathArg) is { } path + && VirtualProjectBuilder.IsValidEntryPointPath(path)) + { + runner = new InProcessNuGetCommandRunner(NuGetVirtualProjectBuilder.Instance); + } + else + { + runner = new NuGetCommandRunner(); + } + + return Run(parseResult.GetArguments(), runner); } public static int Run(string[] args, ICommandRunner nugetCommandRunner) @@ -43,11 +60,28 @@ private class NuGetCommandRunner : ICommandRunner public int Run(string[] args) { var nugetApp = new NuGetForwardingApp(args); - nugetApp.WithEnvironmentVariable("DOTNET_HOST_PATH", GetDotnetPath()); + nugetApp.WithEnvironmentVariable(EnvironmentVariableNames.DOTNET_HOST_PATH, GetDotnetPath()); return nugetApp.Execute(); } } + private class InProcessNuGetCommandRunner(NuGetVirtualProjectBuilder virtualProjectBuilder) : ICommandRunner + { + public int Run(string[] args) + { + var originalDotNetHostPath = Environment.GetEnvironmentVariable(EnvironmentVariableNames.DOTNET_HOST_PATH); + Environment.SetEnvironmentVariable(EnvironmentVariableNames.DOTNET_HOST_PATH, GetDotnetPath()); + try + { + return global::NuGet.CommandLine.XPlat.Program.Run(args, virtualProjectBuilder); + } + finally + { + Environment.SetEnvironmentVariable(EnvironmentVariableNames.DOTNET_HOST_PATH, originalDotNetHostPath); + } + } + } + private static string GetDotnetPath() { return new Muxer().MuxerPath; diff --git a/src/Cli/dotnet/Commands/NuGet/NuGetVirtualProjectBuilder.cs b/src/Cli/dotnet/Commands/NuGet/NuGetVirtualProjectBuilder.cs new file mode 100644 index 000000000000..a37f3e2c7aa1 --- /dev/null +++ b/src/Cli/dotnet/Commands/NuGet/NuGetVirtualProjectBuilder.cs @@ -0,0 +1,47 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Microsoft.Build.Construction; +using Microsoft.Build.Evaluation; +using Microsoft.DotNet.Cli.Commands.Package; +using Microsoft.DotNet.Cli.Commands.Run; +using Microsoft.DotNet.FileBasedPrograms; +using Microsoft.DotNet.ProjectTools; +using NuGet.CommandLine.XPlat; + +namespace Microsoft.DotNet.Cli.Commands.NuGet; + +internal sealed class NuGetVirtualProjectBuilder : IVirtualProjectBuilder +{ + public static NuGetVirtualProjectBuilder Instance => field ??= new(); + + private NuGetVirtualProjectBuilder() { } + + public bool IsValidEntryPointPath(string entryPointFilePath) => VirtualProjectBuilder.IsValidEntryPointPath(entryPointFilePath); + + public string GetVirtualProjectPath(string entryPointFilePath) => VirtualProjectBuilder.GetVirtualProjectPath(entryPointFilePath); + + public ProjectRootElement CreateProjectRootElement(string entryPointFilePath, ProjectCollection projectCollection) + { + if (!Path.IsPathFullyQualified(entryPointFilePath)) + { + throw new ArgumentException($"'{entryPointFilePath}' is not a fully qualified path.", paramName: nameof(entryPointFilePath)); + } + + var builder = new VirtualProjectBuilder(entryPointFilePath, VirtualProjectBuildingCommand.TargetFramework); + + builder.CreateProjectInstance( + projectCollection, + ErrorReporters.IgnoringReporter, + project: out _, + out var projectRootElement, + evaluatedDirectives: out _); + + return projectRootElement; + } + + public void SaveProject(string entryPointFilePath, ProjectRootElement projectRootElement) + { + VirtualProjectPackageReflector.ReflectChangesToDirectives(projectRootElement, entryPointFilePath); + } +} diff --git a/src/Cli/dotnet/Commands/Package/Add/PackageAddCommand.cs b/src/Cli/dotnet/Commands/Package/Add/PackageAddCommand.cs index 7c2bbed46ac4..ceba7066a361 100644 --- a/src/Cli/dotnet/Commands/Package/Add/PackageAddCommand.cs +++ b/src/Cli/dotnet/Commands/Package/Add/PackageAddCommand.cs @@ -3,17 +3,12 @@ using System.CommandLine; using System.Diagnostics; -using Microsoft.Build.Construction; -using Microsoft.Build.Evaluation; -using Microsoft.CodeAnalysis; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Commands.MSBuild; using Microsoft.DotNet.Cli.Commands.NuGet; using Microsoft.DotNet.Cli.Commands.Run; using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.FileBasedPrograms; using Microsoft.DotNet.ProjectTools; -using NuGet.ProjectModel; namespace Microsoft.DotNet.Cli.Commands.Package.Add; @@ -31,16 +26,14 @@ public override int Execute() { var (fileOrDirectory, allowedAppKinds) = PackageCommandParser.ProcessPathOptions(Definition.FileOption, Definition.ProjectOption, Definition.GetProjectOrFileArgument(), _parseResult); - if (allowedAppKinds.HasFlag(AppKinds.FileBased) && VirtualProjectBuilder.IsValidEntryPointPath(fileOrDirectory)) - { - return ExecuteForFileBasedApp(fileOrDirectory); - } + bool isFileBasedApp = allowedAppKinds.HasFlag(AppKinds.FileBased) && VirtualProjectBuilder.IsValidEntryPointPath(fileOrDirectory); - Debug.Assert(allowedAppKinds.HasFlag(AppKinds.ProjectBased)); + Debug.Assert(isFileBasedApp || allowedAppKinds.HasFlag(AppKinds.ProjectBased)); string projectFilePath; if (!File.Exists(fileOrDirectory)) { + Debug.Assert(!isFileBasedApp); projectFilePath = MsbuildProject.GetProjectFileFromDirectory(fileOrDirectory); } else @@ -48,11 +41,15 @@ public override int Execute() projectFilePath = fileOrDirectory; } + if (isFileBasedApp) + { + projectFilePath = Path.GetFullPath(projectFilePath); + } + var tempDgFilePath = string.Empty; if (!_parseResult.GetValue(Definition.NoRestoreOption)) { - try { // Create a Dependency Graph file for the project @@ -64,46 +61,69 @@ public override int Execute() throw new GracefulException(string.Format(CliCommandStrings.CmdDGFileIOException, projectFilePath), ioex); } - GetProjectDependencyGraph(projectFilePath, tempDgFilePath); + GetProjectDependencyGraph(projectFilePath, tempDgFilePath, isFileBasedApp); } - var result = NuGetCommand.Run( - TransformArgs( - _packageId, - tempDgFilePath, - projectFilePath)); + var args = TransformArgs( + _packageId, + tempDgFilePath, + projectFilePath); + + var result = NuGetCommand.Run(args, isFileBasedApp); + DisposeTemporaryFile(tempDgFilePath); return result; } - private static void GetProjectDependencyGraph(string projectFilePath, string dgFilePath) + private static void GetProjectDependencyGraph(string projectFilePath, string dgFilePath, bool isFileBasedApp) { - List args = - [ - // Pass the project file path - projectFilePath, - - // Pass the task as generate restore Dependency Graph file - "-target:GenerateRestoreGraphFile", + int result; + if (isFileBasedApp) + { + result = new VirtualProjectBuildingCommand( + projectFilePath, + MSBuildArgs + .FromProperties(new Dictionary + { + { "RestoreGraphOutputPath", dgFilePath }, + { "RestoreRecursive", "false" }, + { "RestoreDotnetCliToolReferences", "false" }, + }.AsReadOnly()) + .CloneWithVerbosity(VerbosityOptions.quiet) + .CloneWithAdditionalTargets("GenerateRestoreGraphFile")) + { + NoRestore = true, + NoCache = true, + NoWriteBuildMarkers = true, + }.Execute(); + } + else + { + result = new MSBuildForwardingApp( + [ + // Pass the project file path + projectFilePath, - // Pass Dependency Graph file output path - $"-property:RestoreGraphOutputPath=\"{dgFilePath}\"", + // Pass the task as generate restore Dependency Graph file + "-target:GenerateRestoreGraphFile", - // Turn off recursive restore - $"-property:RestoreRecursive=false", + // Pass Dependency Graph file output path + $"-property:RestoreGraphOutputPath=\"{dgFilePath}\"", - // Turn off restore for Dotnet cli tool references so that we do not generate extra dg specs - $"-property:RestoreDotnetCliToolReferences=false", + // Turn off recursive restore + "-property:RestoreRecursive=false", - // Output should not include MSBuild version header - "--nologo", + // Turn off restore for Dotnet cli tool references so that we do not generate extra dg specs + "-property:RestoreDotnetCliToolReferences=false", - // Set verbosity to quiet to avoid cluttering the output for this 'inner' build - "-v:quiet" - ]; + // Output should not include MSBuild version header + "--nologo", - var result = new MSBuildForwardingApp(args).Execute(); + // Set verbosity to quiet to avoid cluttering the output for this 'inner' build + "-v:quiet" + ]).Execute(); + } if (result != 0) { @@ -152,210 +172,4 @@ private string[] TransformArgs(PackageIdentityWithRange packageId, string tempDg return [.. args]; } - - // More logic should live in NuGet: https://github.com/NuGet/Home/issues/14390 - private int ExecuteForFileBasedApp(string path) - { - // Check disallowed options. - ReadOnlySpan /// Path to send to the command - private string GetProjectOrSolution() + private static string GetProjectOrSolution(string fileOrDirectory) { - string resultPath = _fileOrDirectory; + string resultPath = fileOrDirectory; if (Directory.Exists(resultPath)) { diff --git a/src/Cli/dotnet/Commands/Package/Remove/PackageRemoveCommand.cs b/src/Cli/dotnet/Commands/Package/Remove/PackageRemoveCommand.cs index fb98ca18b83f..9a63a7f3f4ec 100644 --- a/src/Cli/dotnet/Commands/Package/Remove/PackageRemoveCommand.cs +++ b/src/Cli/dotnet/Commands/Package/Remove/PackageRemoveCommand.cs @@ -3,11 +3,10 @@ using System.CommandLine; using System.Diagnostics; +using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Commands.NuGet; using Microsoft.DotNet.Cli.Commands.Run; -using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.FileBasedPrograms; using Microsoft.DotNet.ProjectTools; namespace Microsoft.DotNet.Cli.Commands.Package.Remove; @@ -31,16 +30,14 @@ public override int Execute() _definition.GetProjectOrFileArgument(), _parseResult); - if (allowedAppKinds.HasFlag(AppKinds.FileBased) && VirtualProjectBuilder.IsValidEntryPointPath(fileOrDirectory)) - { - return ExecuteForFileBasedApp(path: fileOrDirectory, packageId: packageToRemove); - } + bool isFileBasedApp = allowedAppKinds.HasFlag(AppKinds.FileBased) && VirtualProjectBuilder.IsValidEntryPointPath(fileOrDirectory); - Debug.Assert(allowedAppKinds.HasFlag(AppKinds.ProjectBased)); + Debug.Assert(isFileBasedApp || allowedAppKinds.HasFlag(AppKinds.ProjectBased)); string projectFilePath; if (!File.Exists(fileOrDirectory)) { + Debug.Assert(!isFileBasedApp); projectFilePath = MsbuildProject.GetProjectFileFromDirectory(fileOrDirectory); } else @@ -48,7 +45,12 @@ public override int Execute() projectFilePath = fileOrDirectory; } - var result = NuGetCommand.Run(TransformArgs(packageToRemove, projectFilePath)); + if (isFileBasedApp) + { + projectFilePath = Path.GetFullPath(projectFilePath); + } + + var result = NuGetCommand.Run(TransformArgs(packageToRemove, projectFilePath), isFileBasedApp); return result; } @@ -71,29 +73,4 @@ private string[] TransformArgs(string packageId, string projectFilePath) return [.. args]; } - - private static int ExecuteForFileBasedApp(string path, string packageId) - { - var fullPath = Path.GetFullPath(path); - - // Remove #:package directive from the C# file. - // We go through the directives in reverse order so removing one doesn't affect spans of the remaining ones. - var editor = FileBasedAppSourceEditor.Load(SourceFile.Load(fullPath)); - var count = 0; - var directives = editor.Directives; - for (int i = directives.Length - 1; i >= 0; i--) - { - var directive = directives[i]; - if (directive is CSharpDirective.Package p && - string.Equals(p.Name, packageId, StringComparison.OrdinalIgnoreCase)) - { - editor.Remove(directive); - count++; - } - } - editor.SourceFile.Save(); - - Reporter.Output.WriteLine(CliCommandStrings.DirectivesRemoved, "#:package", count, packageId, fullPath); - return count > 0 ? 0 : 1; // success if any directives were found and removed - } } diff --git a/src/Cli/dotnet/Commands/Package/VirtualProjectPackageReflector.cs b/src/Cli/dotnet/Commands/Package/VirtualProjectPackageReflector.cs new file mode 100644 index 000000000000..9aff1c2c5416 --- /dev/null +++ b/src/Cli/dotnet/Commands/Package/VirtualProjectPackageReflector.cs @@ -0,0 +1,63 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Diagnostics; +using Microsoft.Build.Construction; +using Microsoft.DotNet.Cli.Commands.Run; +using Microsoft.DotNet.FileBasedPrograms; + +namespace Microsoft.DotNet.Cli.Commands.Package; + +/// +/// Utility for reflecting changes in a (modified by NuGet) +/// back to #:package directives in a C# source file. +/// +internal static class VirtualProjectPackageReflector +{ + /// + /// Reads PackageReference items from the given and + /// updates the #:package directives in the source file at to match. + /// + internal static void ReflectChangesToDirectives(ProjectRootElement projectRootElement, string entryPointFilePath) + { + // Collect PackageReference items from the modified virtual project. + var packageReferences = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var itemGroup in projectRootElement.ItemGroups) + { + foreach (var item in itemGroup.Items) + { + if (string.Equals(item.ItemType, "PackageReference", StringComparison.OrdinalIgnoreCase)) + { + Debug.Assert(!string.IsNullOrEmpty(item.Include), "Expected only PackageReference Include items in virtual project."); + var version = item.Metadata.FirstOrDefault( + m => string.Equals(m.Name, "Version", StringComparison.OrdinalIgnoreCase))?.Value; + packageReferences[item.Include] = version; + } + } + } + + // Load the source file and its current directives. + var editor = FileBasedAppSourceEditor.Load(SourceFile.Load(entryPointFilePath)); + var directives = editor.Directives; + + // Remove directives for packages that are no longer in the project. + // Process in reverse order to avoid invalidating spans. + for (int i = directives.Length - 1; i >= 0; i--) + { + if (directives[i] is CSharpDirective.Package p && + !packageReferences.ContainsKey(p.Name)) + { + editor.Remove(directives[i]); + } + } + + // Add or update directives for packages in the project. + foreach (var (name, version) in packageReferences) + { + // Always update existing directives (version might have changed) and add new ones. + editor.Add(new CSharpDirective.Package(default) { Name = name, Version = version }); + } + + editor.SourceFile.Save(); + } +} diff --git a/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs b/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs index fa79bd32a677..bab18b2e8ac2 100644 --- a/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs +++ b/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs @@ -54,6 +54,7 @@ public override int Execute() projectCollection, VirtualProjectBuildingCommand.ThrowingReporter, out var projectInstance, + projectRootElement: out _, out var evaluatedDirectives, validateAllDirectives: !_force); diff --git a/src/Cli/dotnet/Commands/Run/Api/RunApiCommand.cs b/src/Cli/dotnet/Commands/Run/Api/RunApiCommand.cs index 9504d64da1dd..42d361f2f850 100644 --- a/src/Cli/dotnet/Commands/Run/Api/RunApiCommand.cs +++ b/src/Cli/dotnet/Commands/Run/Api/RunApiCommand.cs @@ -75,7 +75,8 @@ public override RunApiOutput Execute() builder.CreateProjectInstance( new ProjectCollection(), errorReporter, - out var project, + project: out _, + out var projectRootElement, out var evaluatedDirectives, validateAllDirectives: true); @@ -91,7 +92,7 @@ public override RunApiOutput Execute() return new RunApiOutput.Project { Content = csprojWriter.ToString(), - ProjectPath = project.FullPath, + ProjectPath = projectRootElement.FullPath, Diagnostics = diagnostics.ToImmutableArray(), }; } diff --git a/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs b/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs index 2282adbd535c..0d8ea09da7ac 100644 --- a/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs +++ b/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs @@ -113,6 +113,8 @@ internal sealed class VirtualProjectBuildingCommand : CommandBase /// public bool NoWriteBuildMarkers { get; init; } + public bool NoConsoleLogger { get; init; } + public VirtualProjectBuilder Builder { get; } public MSBuildArgs MSBuildArgs { get; } @@ -162,7 +164,9 @@ public override int Execute() bool minimizeStdOut = msbuildGet && MSBuildArgs.GetResultOutputFile is null or []; var verbosity = MSBuildArgs.Verbosity ?? MSBuildForwardingAppWithoutLogging.DefaultVerbosity; - var consoleLogger = minimizeStdOut + var consoleLogger = NoConsoleLogger + ? null + : minimizeStdOut ? new SimpleErrorLogger() : CommonRunHelpers.GetConsoleLogger(MSBuildArgs.CloneWithExplicitArgs([$"--verbosity:{verbosity}", .. MSBuildArgs.OtherMSBuildArgs])); var binaryLogger = GetBinaryLogger(MSBuildArgs.OtherMSBuildArgs); @@ -274,7 +278,8 @@ public override int Execute() // Set up MSBuild. ReadOnlySpan binaryLoggers = binaryLogger is null ? [] : [binaryLogger.Value]; - IEnumerable loggers = [.. binaryLoggers, consoleLogger]; + ReadOnlySpan consoleLoggers = consoleLogger is null ? [] : [consoleLogger]; + IEnumerable loggers = [.. binaryLoggers, .. consoleLoggers]; var projectCollection = new ProjectCollection( MSBuildArgs.GlobalProperties, loggers, @@ -1165,6 +1170,7 @@ public ProjectInstance CreateProjectInstance(ProjectCollection projectCollection projectCollection, ThrowingReporter, out var project, + projectRootElement: out _, out var evaluatedDirectives, Directives, addGlobalProperties); diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf index 0c3e1c231eb2..5b25a0b4082e 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf @@ -378,12 +378,6 @@ Další informace najdete na https://aka.ms/dotnet-test/mtp. Vytvoří a spravuje certifikáty pro vývoj. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Odebrány direktivy {0} ({1}) pro {2} z umístění: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' Cílový adresář již existuje: {0}. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf index 71c827109717..6013df11d21e 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf @@ -378,12 +378,6 @@ Weitere Informationen finden Sie unter https://aka.ms/dotnet-test/mtp. Hiermit erstellen und verwalten Sie Entwicklungszertifikate. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Die „{0}“-Direktiven ({1}) für „{2}“ wurden aus folgender Datei entfernt: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' Das Zielverzeichnis ist bereits vorhanden: "{0}" diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf index 5d5198d5e4d7..808fabcec6f5 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf @@ -378,12 +378,6 @@ Consulte https://aka.ms/dotnet-test/mtp para obtener más información. Crea y administra certificados de desarrollo. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Se eliminaron las directivas '{0}' ({1}) para '{2}' de: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' El directorio de destino ya existe: "{0}" diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf index 5cbb4801ae70..7298d1c4f990 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf @@ -378,12 +378,6 @@ Pour découvrir plus d’informations, consultez https://aka.ms/dotnet-test/mtp. Créez et gérez des certificats de développement. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Instructions « {0} » ({1}) supprimées pour « {2} » dans : {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' Le répertoire cible existe déjà : « {0} » diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf index 1517e846f0e5..7ff173c7450f 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf @@ -378,12 +378,6 @@ Per altre informazioni, vedere https://aka.ms/dotnet-test/mtp. Consente di creare e gestire i certificati di sviluppo. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Sono state rimosse le direttive '{0}' ({1}) per '{2}' da: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' La directory di destinazione esiste già: '{0}' diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf index 775a01a53db6..9af952478d44 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf @@ -378,12 +378,6 @@ See https://aka.ms/dotnet-test/mtp for more information. 開発証明書を作成し、管理します。 - - Removed '{0}' directives ({1}) for '{2}' from: {3} - '{2}' の '{0}' ディレクティブ ({1}) を次から削除しました: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' ターゲット ディレクトリは既に存在します: '{0}' diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf index 7a5f96cd6908..f5a085361b43 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf @@ -378,12 +378,6 @@ See https://aka.ms/dotnet-test/mtp for more information. 개발 인증서를 만들고 관리합니다. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - 다음에서 '{2}'에 대한 '{0}' 지시문({1})을 제거했습니다. {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' 대상 디렉터리가 이미 있습니다. '{0}' diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf index 8919ef774606..68ff0ba7942d 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf @@ -378,12 +378,6 @@ Aby uzyskać więcej informacji, zobacz https://aka.ms/dotnet-test/mtp. Utwórz certyfikaty deweloperskie i zarządzaj nimi. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Usunięto dyrektywy „{0}” ({1}) dla „{2}” z pliku: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' Katalog docelowy już istnieje: „{0}” diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf index 37cf2fda2adc..3cee39fa42fa 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf @@ -378,12 +378,6 @@ Consulte https://aka.ms/dotnet-test/mtp para obter mais informações. Crie e gerencie certificados de desenvolvimento. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Diretivas "{0}" removidas ({1}) para "{2}" de: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' O diretório de destino já existe: "{0}" diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf index 69230de66319..4c2f8b799955 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf @@ -378,12 +378,6 @@ See https://aka.ms/dotnet-test/mtp for more information. Создание сертификатов разработки и управление ими. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - Удалены директивы "{0}" ({1}) для "{2}" из: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' Целевой каталог уже существует: "{0}" diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf index d8e935cf8383..f2cbb5075f24 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf @@ -378,12 +378,6 @@ Daha fazla bilgi için https://aka.ms/dotnet-test/mtp adresine bakın. Geliştirme sertifikaları oluşturun ve yönetin. - - Removed '{0}' directives ({1}) for '{2}' from: {3} - ‘{2}’ için ‘{0}’ yönergeleri ({1}) şuradan kaldırıldı: {3} - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' Hedef dizin zaten mevcut: '{0}' diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf index 832fdc332137..c851f5d272b1 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf @@ -378,12 +378,6 @@ See https://aka.ms/dotnet-test/mtp for more information. 创建和管理开发证书。 - - Removed '{0}' directives ({1}) for '{2}' from: {3} - 已从 {3} 移除“{2}”的“{0}”指令({1}) - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' 目标目录已存在: '{0}' diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf index e795d89891e2..a70f1ca045af 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf @@ -378,12 +378,6 @@ See https://aka.ms/dotnet-test/mtp for more information. 建立及管理開發憑證。 - - Removed '{0}' directives ({1}) for '{2}' from: {3} - 已從 {3} 移除 '{2}' 的 '{0}' 指令 ({1}) - {0} is a directive kind (like '#:package'). {1} is number of removed directives. - {2} is directive key (e.g., package name). {3} is file path from which directives were removed. - The target directory already exists: '{0}' 目標目錄已存在: '{0}' diff --git a/src/Cli/dotnet/Parser.cs b/src/Cli/dotnet/Parser.cs index 475d59655a3b..e5a241e4a49b 100644 --- a/src/Cli/dotnet/Parser.cs +++ b/src/Cli/dotnet/Parser.cs @@ -97,7 +97,7 @@ private static DotNetCommandDefinition CreateCommand() // https://github.com/NuGet/NuGet.Client/blob/bf048eb714eb6b1912ba868edca4c7cfec454841/src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Why/WhyCommand.cs // Add `why` subcommand to the definition instead. var nugetCommand = rootCommand.NuGetCommand; - NuGet.CommandLine.XPlat.Commands.Why.WhyCommand.GetWhyCommand(nugetCommand); + NuGet.CommandLine.XPlat.Commands.Why.WhyCommand.GetWhyCommand(nugetCommand, NuGetVirtualProjectBuilder.Instance); NuGetCommandParser.ConfigureCommand(nugetCommand); @@ -127,7 +127,7 @@ private static DotNetCommandDefinition CreateCommand() // TODO: https://github.com/dotnet/sdk/issues/52661 // https://github.com/NuGet/NuGet.Client/blob/bf048eb714eb6b1912ba868edca4c7cfec454841/src/NuGet.Core/NuGet.CommandLine.XPlat/NuGetCommands.cs // Add `package` subcommands to the definition instead. - NuGet.CommandLine.XPlat.NuGetCommands.Add(rootCommand, CommonOptions.CreateInteractiveOption(acceptArgument: true)); + NuGet.CommandLine.XPlat.NuGetCommands.Add(rootCommand, CommonOptions.CreateInteractiveOption(acceptArgument: true), NuGetVirtualProjectBuilder.Instance); rootCommand.SetAction(parseResult => { diff --git a/src/Common/EnvironmentVariableNames.cs b/src/Common/EnvironmentVariableNames.cs index 6d73b33ab38f..05eca5456fbe 100644 --- a/src/Common/EnvironmentVariableNames.cs +++ b/src/Common/EnvironmentVariableNames.cs @@ -17,6 +17,7 @@ static class EnvironmentVariableNames public static readonly string DOTNET_CLI_FORCE_UTF8_ENCODING = nameof(DOTNET_CLI_FORCE_UTF8_ENCODING); public static readonly string TELEMETRY_OPTOUT = "DOTNET_CLI_TELEMETRY_OPTOUT"; public static readonly string DOTNET_ROOT = "DOTNET_ROOT"; + public static readonly string DOTNET_HOST_PATH = "DOTNET_HOST_PATH"; public static readonly string DOTNET_MSBUILD_SDK_RESOLVER_ENABLE_LOG = "DOTNET_MSBUILD_SDK_RESOLVER_ENABLE_LOG"; public static readonly string DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR = "DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR"; public static readonly string DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER = "DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER"; diff --git a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs index b4adf03ea70c..f95baaa6a5a2 100644 --- a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs +++ b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs @@ -241,7 +241,8 @@ public static ProjectInstance CreateProjectInstance( projectCollection, (text, path, textSpan, message, _) => errorReporter(path, text.Lines.GetLinePositionSpan(textSpan).Start.Line + 1, message), out var projectInstance, - out _); + projectRootElement: out _, + evaluatedDirectives: out _); return projectInstance; } @@ -250,6 +251,7 @@ internal void CreateProjectInstance( ProjectCollection projectCollection, ErrorReporter reportError, out ProjectInstance project, + out ProjectRootElement projectRootElement, out ImmutableArray evaluatedDirectives, ImmutableArray directives = default, Action>? addGlobalProperties = null, @@ -262,7 +264,7 @@ internal void CreateProjectInstance( directives = FileLevelDirectiveHelpers.FindDirectives(EntryPointSourceFile, validateAllDirectives, reportError); } - (string ProjectFileText, ProjectInstance ProjectInstance)? lastProject = null; + (string ProjectFileText, ProjectInstance ProjectInstance, ProjectRootElement ProjectRootElement)? lastProject = null; // If we evaluated directives previously (e.g., during restore), reuse them. // We don't use the additional properties from `addGlobalProperties` @@ -271,7 +273,7 @@ internal void CreateProjectInstance( cached.Original == directivesOriginal) { evaluatedDirectives = cached.Evaluated; - project = CreateProjectInstanceNoEvaluation( + (project, projectRootElement) = CreateProjectInstanceNoEvaluation( projectCollection, evaluatedDirectives, addGlobalProperties); @@ -289,7 +291,7 @@ internal void CreateProjectInstance( do { // Create a project with properties from #:property directives so they can be expanded inside EvaluateDirectives. - project = CreateProjectInstanceNoEvaluation( + (project, projectRootElement) = CreateProjectInstanceNoEvaluation( projectCollection, [.. evaluatedDirectiveBuilder, .. directives], addGlobalProperties); @@ -302,7 +304,7 @@ internal void CreateProjectInstance( if (fileEvaluatedDirectives != directives) { // This project will contain items from #:include/#:exclude directives which we will traverse recursively. - project = CreateProjectInstanceNoEvaluation( + (project, projectRootElement) = CreateProjectInstanceNoEvaluation( projectCollection, evaluatedDirectiveBuilder.ToImmutable(), addGlobalProperties); @@ -345,7 +347,7 @@ bool TryGetNextFileToProcess() return false; } - ProjectInstance CreateProjectInstanceNoEvaluation( + (ProjectInstance, ProjectRootElement) CreateProjectInstanceNoEvaluation( ProjectCollection projectCollection, ImmutableArray directives, Action>? addGlobalProperties = null) @@ -366,7 +368,7 @@ ProjectInstance CreateProjectInstanceNoEvaluation( // If nothing changed, reuse the previous project instance to avoid unnecessary re-evaluations. if (lastProject is { } cachedProject && cachedProject.ProjectFileText == projectFileText) { - return cachedProject.ProjectInstance; + return (cachedProject.ProjectInstance, cachedProject.ProjectRootElement); } var projectRoot = CreateProjectRootElement(projectFileText, projectCollection); @@ -378,15 +380,15 @@ ProjectInstance CreateProjectInstanceNoEvaluation( addGlobalProperties(globalProperties); } - var result = ProjectInstance.FromProjectRootElement(projectRoot, new ProjectOptions + var project = ProjectInstance.FromProjectRootElement(projectRoot, new ProjectOptions { ProjectCollection = projectCollection, GlobalProperties = globalProperties, }); - lastProject = (projectFileText, result); + lastProject = (projectFileText, project, projectRoot); - return result; + return (project, projectRoot); ProjectRootElement CreateProjectRootElement(string projectFileText, ProjectCollection projectCollection) { diff --git a/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs b/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs index 58f4cf8c6dcd..9b64f46dbe79 100644 --- a/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs +++ b/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs @@ -136,6 +136,54 @@ public void ItHasAWhySubcommand() .And.HaveStdOutContaining("has the following dependency"); } + [Fact] + public void ItHasAWhySubcommand_FileBasedApp() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + var file = Path.Join(testInstance.Path, "Program.cs"); + File.WriteAllText(file, $""" + #:package Newtonsoft.Json@{ToolsetInfo.GetNewtonsoftJsonPackageVersion()} + Console.WriteLine(); + """); + + new DotnetCommand(Log, "restore", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdErr(); + + new DotnetCommand(Log, "nuget", "why", "Program.cs", "newtonsoft.json") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdErr() + .And.HaveStdOutContaining("has the following dependency"); + } + + [Fact] + public void ItHasAWhySubcommand_FileBasedApp_WithOptionsBeforePath() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + var file = Path.Join(testInstance.Path, "Program.cs"); + File.WriteAllText(file, $""" + #:package Newtonsoft.Json@{ToolsetInfo.GetNewtonsoftJsonPackageVersion()} + Console.WriteLine(); + """); + + new DotnetCommand(Log, "restore", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdErr(); + + new DotnetCommand(Log, "nuget", "why", "--framework", ToolsetInfo.CurrentTargetFramework, "Program.cs", "newtonsoft.json") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdErr() + .And.HaveStdOutContaining("has the following dependency"); + } + [Fact] public void ItCanUpdatePackages() { @@ -180,5 +228,56 @@ public void ItCanUpdatePackages() updatedVersion.Should().BeGreaterThan(v1); } + + [Fact] + public void ItCanUpdatePackages_FileBasedApp() + { + // Arrange + var testInstance = _testAssetsManager.CreateTestDirectory(); + var file = Path.Join(testInstance.Path, "Program.cs"); + File.WriteAllText(file, """ + Console.WriteLine(); + """); + + NuGetConfigWriter.Write(testInstance.Path, SdkTestContext.Current.TestPackages); + + new DotnetCommand(Log, "package", "add", "dotnet-hello@1.0.0", "--file", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should() + .Pass() + .And.NotHaveStdErr(); + + // Act + var commandResult = new DotnetCommand(Log, "package", "update", "dotnet-hello", "--file", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should() + .Pass() + .And.NotHaveStdErr(); + + // Assert + var listPackageCommandResult = new DotnetCommand(Log, "package", "list", "--format", "json", "--file", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute(); + listPackageCommandResult.Should() + .Pass() + .And.NotHaveStdErr(); + + var updatedPackageVersionString = JObject.Parse(listPackageCommandResult.StdOut) + .SelectToken("$.projects[0].frameworks[0].topLevelPackages[?(@.id == 'dotnet-hello')].requestedVersion") + .ToString(); + + var v1 = NuGetVersion.Parse("1.0.0"); + var updatedVersion = NuGetVersion.Parse(updatedPackageVersionString); + + updatedVersion.Should().BeGreaterThan(v1); + + File.ReadAllText(file).Should().Be($""" + #:package dotnet-hello@{updatedPackageVersionString} + + Console.WriteLine(); + """); + } } } diff --git a/test/dotnet.Tests/CommandTests/Package/Add/GivenDotnetPackageAdd.cs b/test/dotnet.Tests/CommandTests/Package/Add/GivenDotnetPackageAdd.cs index a3727336d7dd..6d6da4f0fdb9 100644 --- a/test/dotnet.Tests/CommandTests/Package/Add/GivenDotnetPackageAdd.cs +++ b/test/dotnet.Tests/CommandTests/Package/Add/GivenDotnetPackageAdd.cs @@ -363,7 +363,7 @@ public void FileBasedApp_ReplaceExisting( .Should().Pass(); File.ReadAllText(file).Should().Be($""" - #:package Newtonsoft.Json@{ToolsetInfo.GetNewtonsoftJsonPackageVersion()} + #:package {sourceFilePackageId}@{ToolsetInfo.GetNewtonsoftJsonPackageVersion()} Console.WriteLine(); """); } @@ -472,7 +472,7 @@ public void FileBasedApp_VersionAndPrerelease(bool legacyForm, bool versionOptio .WithWorkingDirectory(testInstance.Path) .Execute() .Should().Fail() - .And.HaveStdErrContaining(CliCommandStrings.PrereleaseAndVersionAreNotSupportedAtTheSameTime); + .And.HaveStdOutContaining(CliCommandStrings.PrereleaseAndVersionAreNotSupportedAtTheSameTime); File.ReadAllText(file).Should().Be(source); } @@ -600,27 +600,51 @@ public void FileBasedApp_CentralPackageManagement_ReplaceExisting(bool wasInFile """); - new DotnetCommand(Log, args) - .WithWorkingDirectory(testInstance.Path) - .Execute() - .Should().Pass(); + var directoryPackagesPropsOriginal = File.ReadAllText(directoryPackagesProps); - File.ReadAllText(file).Should().Be(""" - #:package Newtonsoft.Json + var result = new DotnetCommand(Log, args) + .WithWorkingDirectory(testInstance.Path) + .Execute(); - Console.WriteLine(); - """); + if (wasInFile && !noRestore) + { + // When a version is already pinned in both the #:package directive and + // Directory.Packages.props, this is the same invalid state as a project-based CPM + // app with version on both and . NuGet rejects it. + result.Should().Fail(); + File.ReadAllText(file).Should().Be(source); + File.ReadAllText(directoryPackagesProps).Should().Be(directoryPackagesPropsOriginal); + } + else + { + result.Should().Pass(); - File.ReadAllText(directoryPackagesProps).Should().Be($""" - - - true - - - - - - """); + if (wasInFile) + { + // With --no-restore, NuGet doesn't validate the conflicting state. The command + // succeeds, the source file is unchanged but the CPM version is updated. + File.ReadAllText(file).Should().Be(source); + } + else + { + File.ReadAllText(file).Should().Be(""" + #:package Newtonsoft.Json + + Console.WriteLine(); + """); + } + + File.ReadAllText(directoryPackagesProps).Should().Be($""" + + + true + + + + + + """); + } } [Theory, CombinatorialData] diff --git a/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs b/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs index 451ea085133a..709815cedc9f 100644 --- a/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs +++ b/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs @@ -165,6 +165,27 @@ public void RestoresAndLists() .And.HaveStdOutContaining("NewtonSoft.Json"); } + [Fact] + public void RestoresAndLists_FileBasedApp() + { + var packageId = "Newtonsoft.Json"; + var packageVersion = ToolsetInfo.GetNewtonsoftJsonPackageVersion(); + + var testInstance = _testAssetsManager.CreateTestDirectory(); + var file = Path.Join(testInstance.Path, "file.cs"); + File.WriteAllText(file, $""" + #:package {packageId}@{packageVersion} + Console.WriteLine(); + """); + + new DotnetCommand(Log, "list", "file.cs", "package") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOutContaining(packageId) + .And.HaveStdOutContaining(packageVersion); + } + [Fact] public void ItListsTransitivePackage() { diff --git a/test/dotnet.Tests/CommandTests/Package/Remove/GivenDotnetRemovePackage.cs b/test/dotnet.Tests/CommandTests/Package/Remove/GivenDotnetRemovePackage.cs index 9f52282c8d48..f9f56b2791f1 100644 --- a/test/dotnet.Tests/CommandTests/Package/Remove/GivenDotnetRemovePackage.cs +++ b/test/dotnet.Tests/CommandTests/Package/Remove/GivenDotnetRemovePackage.cs @@ -128,7 +128,7 @@ public void FileBasedApp() .WithWorkingDirectory(testInstance.Path) .Execute() .Should().Pass() - .And.HaveStdOut(string.Format(CliCommandStrings.DirectivesRemoved, "#:package", 1, "Humanizer", file)); + .And.HaveStdOutContaining("Removing PackageReference for package 'Humanizer'"); File.ReadAllText(file).Should().Be(""" Console.WriteLine(); @@ -153,7 +153,7 @@ public void FileBasedApp_Multiple() .WithWorkingDirectory(testInstance.Path) .Execute() .Should().Pass() - .And.HaveStdOut(string.Format(CliCommandStrings.DirectivesRemoved, "#:package", 2, "Humanizer", file)); + .And.HaveStdOutContaining("Removing PackageReference for package 'Humanizer'"); File.ReadAllText(file).Should().Be(""" #:package Another@1.0.0 @@ -176,7 +176,7 @@ public void FileBasedApp_None() .WithWorkingDirectory(testInstance.Path) .Execute() .Should().Fail() - .And.HaveStdOut(string.Format(CliCommandStrings.DirectivesRemoved, "#:package", 0, "Humanizer", file)); + .And.HaveStdOutContaining("does not contain any PackageReference 'Humanizer' to Remove"); File.ReadAllText(file).Should().Be(""" Console.WriteLine(); diff --git a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs index 26b00a68e870..3bb43deb767c 100644 --- a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs +++ b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs @@ -1950,7 +1950,8 @@ private static void Convert( builder.CreateProjectInstance( new ProjectCollection(), errorReporter, - out _, + project: out _, + projectRootElement: out _, out directives); } else diff --git a/test/dotnet.Tests/CommandTests/Reference/List/GivenDotnetListReference.cs b/test/dotnet.Tests/CommandTests/Reference/List/GivenDotnetListReference.cs index c4dfc6144e83..800a92809ffe 100644 --- a/test/dotnet.Tests/CommandTests/Reference/List/GivenDotnetListReference.cs +++ b/test/dotnet.Tests/CommandTests/Reference/List/GivenDotnetListReference.cs @@ -13,25 +13,25 @@ public class GivenDotnetListReference : SdkTest List all project-to-project references of the project. Usage: - dotnet list [] reference [options] + dotnet list [] reference [options] Arguments: - The project file to operate on. If a file is not specified, the command will search the current directory for one. [default: {PathUtilities.EnsureTrailingSlash(defaultVal)}] + The project or solution or C# (file-based program) file to operate on. If a file is not specified, the command will search the current directory for a project or solution. [default: {PathUtilities.EnsureTrailingSlash(defaultVal)}] Options: - -?, -h, --help Show command line help."; + -?, -h, --help Show command line help."; private Func ListCommandHelpText = (defaultVal) => $@"Description: List references or packages of a .NET project. Usage: - dotnet list [] [command] [options] + dotnet list [] [command] [options] Arguments: - The project or solution file to operate on. If a file is not specified, the command will search the current directory for one. [default: {PathUtilities.EnsureTrailingSlash(defaultVal)}] + The project or solution or C# (file-based program) file to operate on. If a file is not specified, the command will search the current directory for a project or solution. [default: {PathUtilities.EnsureTrailingSlash(defaultVal)}] Options: - -?, -h, --help Show command line help. + -?, -h, --help Show command line help. Commands: package List all package references of the project or solution. diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index cab95ebf77b3..6cca02d6f4b3 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -11,6 +11,7 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Text; using Microsoft.DotNet.Cli.Commands; +using Microsoft.DotNet.Cli.Commands.NuGet; using Microsoft.DotNet.Cli.Commands.Run; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.FileBasedPrograms; @@ -6203,6 +6204,57 @@ public void Api_RunCommand() """); } + [Fact] + public void Api_VirtualProjectBuilder_CreateProjectRootElement() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + var libDir = Path.Join(testInstance.Path, "Lib"); + Directory.CreateDirectory(libDir); + + File.WriteAllText(Path.Join(libDir, "Lib.csproj"), $""" + + + {ToolsetInfo.CurrentTargetFramework} + + + """); + + File.WriteAllText(Path.Join(libDir, "Lib.cs"), """ + namespace Lib; + public class LibClass + { + public static string GetMessage() => "Hello from Lib"; + } + """); + + var appDir = Path.Join(testInstance.Path, "App"); + Directory.CreateDirectory(appDir); + + var appPath = Path.Join(appDir, "Program.cs"); + File.WriteAllText(appPath, """ + #:project ../$(LibProjectName) + #:property LibProjectName=Lib + Console.WriteLine(Lib.LibClass.GetMessage()); + """); + + using var projectCollection = new ProjectCollection(); + var projectRootElement = NuGetVirtualProjectBuilder.Instance.CreateProjectRootElement(appPath, projectCollection); + + var xml = projectRootElement.RawXml; + Log.WriteLine(xml); + + xml.Should() + // directives are evaluated + .Contain("""""".Replace('\\', Path.DirectorySeparatorChar)) + // it's the virtual project + .And.Contain("true") + // correct target framework is used + .And.Contain($"{ToolsetInfo.CurrentTargetFramework}"); + + projectRootElement.FullPath.Should().Be(VirtualProjectBuilder.GetVirtualProjectPath(appPath)); + } + [Theory, CombinatorialData] public void EntryPointFilePath(bool cscOnly) { From 90c2460bb53268e24fb66cc441a6e7a34cb53994 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 11 Apr 2026 10:09:20 +0200 Subject: [PATCH 104/137] [release/10.0.1xx] Fix working directory of simple file-based apps (#53803) Co-authored-by: Jan Jones --- src/Cli/dotnet/Commands/Run/RunCommand.cs | 3 +- .../CommandTests/Run/RunFileTests.cs | 124 +++++++++++++++++- 2 files changed, 122 insertions(+), 5 deletions(-) diff --git a/src/Cli/dotnet/Commands/Run/RunCommand.cs b/src/Cli/dotnet/Commands/Run/RunCommand.cs index 542fc76ffbcd..c1fc0d0ff9a2 100644 --- a/src/Cli/dotnet/Commands/Run/RunCommand.cs +++ b/src/Cli/dotnet/Commands/Run/RunCommand.cs @@ -469,8 +469,7 @@ static ICommand CreateCommandForCscBuiltProgram(string entryPointFileFullPath, s var artifactsPath = VirtualProjectBuildingCommand.GetArtifactsPath(entryPointFileFullPath); var exePath = Path.Join(artifactsPath, "bin", "debug", Path.GetFileNameWithoutExtension(entryPointFileFullPath) + FileNameSuffixes.CurrentPlatform.Exe); var commandSpec = new CommandSpec(path: exePath, args: ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(args)); - var command = CommandFactoryUsingResolver.Create(commandSpec) - .WorkingDirectory(Path.GetDirectoryName(entryPointFileFullPath)); + var command = CommandFactoryUsingResolver.Create(commandSpec); SetRootVariableName( command, diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index 145200be148c..044f3bdd8419 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -866,6 +866,124 @@ public void EmptyFile() .And.HaveStdOutContaining("error CS5001:"); // Program does not contain a static 'Main' method suitable for an entry point } + /// + /// See . + /// + [Theory, CombinatorialData] + public void WorkingDirectory(bool cscOnly) + { + var testInstance = _testAssetsManager.CreateTestDirectory(baseDirectory: cscOnly ? OutOfTreeBaseDirectory : null); + var programPath = Path.Join(testInstance.Path, "Program.cs"); + + var code = """ + Console.WriteLine("v1"); + Console.WriteLine(Environment.CurrentDirectory); + Console.WriteLine(Directory.GetCurrentDirectory()); + Console.WriteLine(new DirectoryInfo(".").FullName); + Console.WriteLine(AppContext.GetData("EntryPointFileDirectoryPath")); + """; + + File.WriteAllText(programPath, code); + + var workDir = TestPathUtility.ResolveTempPrefixLink(Path.GetTempPath()).TrimEnd(Path.DirectorySeparatorChar); + + var artifactsDir = VirtualProjectBuildingCommand.GetArtifactsPath(programPath); + if (Directory.Exists(artifactsDir)) Directory.Delete(artifactsDir, recursive: true); + + Build(testInstance, + expectedLevel: cscOnly ? BuildLevel.Csc : BuildLevel.All, + programFileName: programPath, + workDir: workDir, + expectedOutput: GetExpectedOutput("v1", workDir)); + + code = code.Replace("v1", "v2"); + File.WriteAllText(programPath, code); + + Build(testInstance, + expectedLevel: BuildLevel.Csc, + programFileName: programPath, + workDir: workDir, + expectedOutput: GetExpectedOutput("v2", workDir)); + + string GetExpectedOutput(string version, string workDir) => $""" + {version} + {workDir} + {workDir} + {workDir} + {Path.GetDirectoryName(programPath)} + """; + } + + /// + /// Combination of and . + /// + [Fact] + public void WorkingDirectory_CscOnly_AfterMSBuild() + { + var testInstance = _testAssetsManager.CreateTestDirectory(baseDirectory: OutOfTreeBaseDirectory); + var programPath = Path.Join(testInstance.Path, "Program.cs"); + + var code = """ + #:property Configuration=Release + Console.WriteLine("v1"); + Console.WriteLine(Environment.CurrentDirectory); + Console.WriteLine(Directory.GetCurrentDirectory()); + Console.WriteLine(new DirectoryInfo(".").FullName); + Console.WriteLine(AppContext.GetData("EntryPointFileDirectoryPath")); + """; + + File.WriteAllText(programPath, code); + + var workDir = TestPathUtility.ResolveTempPrefixLink(Path.GetTempPath()).TrimEnd(Path.DirectorySeparatorChar); + + var artifactsDir = VirtualProjectBuildingCommand.GetArtifactsPath(programPath); + if (Directory.Exists(artifactsDir)) Directory.Delete(artifactsDir, recursive: true); + + Build(testInstance, + expectedLevel: BuildLevel.All, + programFileName: programPath, + workDir: workDir, + expectedOutput: GetExpectedOutput("v1", workDir)); + + Build(testInstance, + expectedLevel: BuildLevel.None, + programFileName: programPath, + workDir: workDir, + expectedOutput: GetExpectedOutput("v1", workDir)); + + code = code.Replace("v1", "v2"); + File.WriteAllText(programPath, code); + + Build(testInstance, + expectedLevel: BuildLevel.Csc, + programFileName: programPath, + workDir: workDir, + expectedOutput: GetExpectedOutput("v2", workDir)); + + // Can be overridden with a #:property. + var workDir2 = Path.Join(testInstance.Path, "dir2"); + Directory.CreateDirectory(workDir2); + code = $""" + #:property RunWorkingDirectory={workDir2} + {code} + """; + File.WriteAllText(programPath, code); + + Build(testInstance, + expectedLevel: BuildLevel.All, + programFileName: programPath, + workDir: workDir, + expectedOutput: GetExpectedOutput("v2", workDir2)); + + string GetExpectedOutput(string version, string workDir) => $""" + {version} + {workDir} + {workDir} + {workDir} + {Path.GetDirectoryName(programPath)} + """; + } + /// /// Implicit build files have an effect. /// @@ -3134,7 +3252,7 @@ Release config Build(testInstance, BuildLevel.Csc); } - private void Build(TestDirectory testInstance, BuildLevel expectedLevel, ReadOnlySpan args = default, string expectedOutput = "Hello from Program", string programFileName = "Program.cs") + private void Build(TestDirectory testInstance, BuildLevel expectedLevel, ReadOnlySpan args = default, string expectedOutput = "Hello from Program", string programFileName = "Program.cs", string? workDir = null) { string prefix = expectedLevel switch { @@ -3145,12 +3263,12 @@ private void Build(TestDirectory testInstance, BuildLevel expectedLevel, ReadOnl }; new DotnetCommand(Log, ["run", programFileName, "-bl", .. args]) - .WithWorkingDirectory(testInstance.Path) + .WithWorkingDirectory(workDir ?? testInstance.Path) .Execute() .Should().Pass() .And.HaveStdOut(prefix + expectedOutput); - var binlogs = new DirectoryInfo(testInstance.Path) + var binlogs = new DirectoryInfo(workDir ?? testInstance.Path) .EnumerateFiles("*.binlog", SearchOption.TopDirectoryOnly); binlogs.Select(f => f.Name) From 0a8a0b120a6445a6bd4ef3d6e6d2d0de61338651 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 11 Apr 2026 08:10:19 +0000 Subject: [PATCH 105/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 266 +++++++-------- eng/Version.Details.xml | 673 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 475 insertions(+), 474 deletions(-) diff --git a/NuGet.config b/NuGet.config index e226baf9b0b6..903609549285 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 94492476bae6..1a73d58a3c79 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,139 +8,139 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-preview.26203.109 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26203-109 - 7.0.2-rc.20409 - 10.0.106 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.0-preview.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 2.0.0-preview.1.26203.109 - 2.2.6 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26203.109 - 10.0.6 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26202.103 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26202-103 + 7.3.0-rc.20303 + 10.0.202 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.0-preview.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26202.103 + 10.0.4 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26203.109 - 10.0.6-servicing.26203.109 - 18.0.2-release-26203-109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 18.0.2-release-26203-109 - 18.0.2-release-26203-109 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26202.103 + 10.0.4-servicing.26119.110 + 18.3.0-release-26202-103 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 18.3.0-release-26202-103 + 18.3.0-release-26202-103 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 2.3.0-preview.26202.5 4.3.0-preview.26202.5 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3a7cdb3a56c8..a1ff22313714 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 https://github.com/microsoft/testfx @@ -569,9 +568,9 @@ https://github.com/microsoft/testfx cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 6f9207378ac4..0552121a41ea 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.109", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.109", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From e2a4d88e75fc01458062141027208c854a1bf4f3 Mon Sep 17 00:00:00 2001 From: "Donna Chen (BEYONDSOFT CONSULTING INC)" Date: Mon, 13 Apr 2026 14:35:35 +0800 Subject: [PATCH 106/137] Revert the change on RunFileTests.cs --- .../CommandTests/Run/RunFileTests.cs | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index 976ba34a730f..166bee41841e 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Runtime.Versioning; @@ -1012,7 +1012,7 @@ public void WorkingDirectory(bool cscOnly) var workDir = TestPathUtility.ResolveTempPrefixLink(Path.GetTempPath()).TrimEnd(Path.DirectorySeparatorChar); - var artifactsDir = VirtualProjectBuildingCommand.GetArtifactsPath(programPath); + var artifactsDir = VirtualProjectBuilder.GetArtifactsPath(programPath); if (Directory.Exists(artifactsDir)) Directory.Delete(artifactsDir, recursive: true); Build(testInstance, @@ -1061,7 +1061,7 @@ public void WorkingDirectory_CscOnly_AfterMSBuild() var workDir = TestPathUtility.ResolveTempPrefixLink(Path.GetTempPath()).TrimEnd(Path.DirectorySeparatorChar); - var artifactsDir = VirtualProjectBuildingCommand.GetArtifactsPath(programPath); + var artifactsDir = VirtualProjectBuilder.GetArtifactsPath(programPath); if (Directory.Exists(artifactsDir)) Directory.Delete(artifactsDir, recursive: true); Build(testInstance, @@ -3523,7 +3523,14 @@ Release config Build(testInstance, BuildLevel.Csc); } - private void Build(TestDirectory testInstance, BuildLevel expectedLevel, ReadOnlySpan args = default, string expectedOutput = "Hello from Program", string programFileName = "Program.cs", string? workDir = null) + private void Build( + TestDirectory testInstance, + BuildLevel expectedLevel, + ReadOnlySpan args = default, + string expectedOutput = "Hello from Program", + string programFileName = "Program.cs", + string? workDir = null, + Func? customizeCommand = null) { string prefix = expectedLevel switch { @@ -3533,13 +3540,18 @@ private void Build(TestDirectory testInstance, BuildLevel expectedLevel, ReadOnl _ => throw new ArgumentOutOfRangeException(paramName: nameof(expectedLevel)), }; - new DotnetCommand(Log, ["run", programFileName, "-bl", .. args]) - .WithWorkingDirectory(workDir ?? testInstance.Path) - .Execute() + var command = new DotnetCommand(Log, ["run", programFileName, "-bl", .. args]) + .WithWorkingDirectory(workDir ?? testInstance.Path); + + if (customizeCommand != null) + { + command = customizeCommand(command); + } + + command.Execute() .Should().Pass() .And.HaveStdOut(prefix + expectedOutput); - var binlogs = new DirectoryInfo(workDir ?? testInstance.Path) var binlogs = new DirectoryInfo(workDir ?? testInstance.Path) .EnumerateFiles("*.binlog", SearchOption.TopDirectoryOnly); From 37730698d53edc963fff5ec2548377d5e9ad042c Mon Sep 17 00:00:00 2001 From: "Donna Chen (BEYONDSOFT CONSULTING INC)" Date: Mon, 13 Apr 2026 14:42:06 +0800 Subject: [PATCH 107/137] Revert the change on RunFileTests.cs --- test/dotnet.Tests/CommandTests/Run/RunFileTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index 166bee41841e..e775adea5da0 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -1,4 +1,4 @@ -// Licensed to the .NET Foundation under one or more agreements. +// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Runtime.Versioning; From efcd7c0066c95a4ae21efde6934eaa4596da3b69 Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Mon, 13 Apr 2026 19:43:33 +0200 Subject: [PATCH 108/137] Fix `dotnet clean file-based-apps` in docs (#53806) --- documentation/general/dotnet-run-file.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/general/dotnet-run-file.md b/documentation/general/dotnet-run-file.md index 9636bc0ff88b..9b731cc3e561 100644 --- a/documentation/general/dotnet-run-file.md +++ b/documentation/general/dotnet-run-file.md @@ -167,7 +167,7 @@ removes current user's `dotnet run` build outputs that haven't been used in 30 d They are not cleaned immediately because they can be re-used on subsequent runs for better performance. The automatic cleanup can be disabled by environment variable `DOTNET_CLI_DISABLE_FILE_BASED_APP_ARTIFACTS_AUTOMATIC_CLEANUP=true`, but other parameters of the automatic cleanup are currently not configurable. -The same cleanup can be performed manually via command `dotnet clean-file-based-app-artifacts`. +The same cleanup can be performed manually via command `dotnet clean file-based-apps`. ## Directives for project metadata From 775c884a50c59e4b7aca37a1da42227a8a1a0f0a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 07:06:32 +0000 Subject: [PATCH 109/137] Reset files to release/10.0.1xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 52 +- eng/Version.Details.props | 290 +++++ eng/Version.Details.xml | 1081 ++++++++--------- eng/common/CIBuild.cmd | 2 +- eng/common/SetupNugetSources.ps1 | 90 +- eng/common/SetupNugetSources.sh | 192 +-- eng/common/build.ps1 | 11 +- eng/common/build.sh | 33 +- eng/common/cibuild.sh | 2 +- eng/common/core-templates/job/job.yml | 48 +- eng/common/core-templates/job/onelocbuild.yml | 39 +- .../job/publish-build-assets.yml | 83 +- .../core-templates/job/source-build.yml | 15 +- .../job/source-index-stage1.yml | 47 +- .../core-templates/jobs/codeql-build.yml | 1 - eng/common/core-templates/jobs/jobs.yml | 15 +- .../core-templates/jobs/source-build.yml | 23 +- .../core-templates/post-build/post-build.yml | 42 +- .../steps/cleanup-microbuild.yml | 28 + .../core-templates/steps/generate-sbom.yml | 2 +- .../steps/get-delegation-sas.yml | 11 +- .../steps/install-microbuild.yml | 110 ++ .../core-templates/steps/publish-logs.yml | 8 +- .../core-templates/steps/source-build.yml | 88 +- .../steps/source-index-stage1-publish.yml | 35 + eng/common/cross/arm64/tizen/tizen.patch | 2 +- eng/common/cross/build-android-rootfs.sh | 49 +- eng/common/cross/build-rootfs.sh | 237 ++-- eng/common/cross/install-debs.py | 334 +++++ eng/common/cross/tizen-build-rootfs.sh | 0 eng/common/cross/tizen-fetch.sh | 9 +- eng/common/cross/toolchain.cmake | 82 +- eng/common/darc-init.sh | 2 +- eng/common/dotnet.cmd | 7 + eng/common/dotnet.ps1 | 11 + eng/common/dotnet.sh | 26 + eng/common/generate-locproject.ps1 | 49 +- eng/common/generate-sbom-prep.sh | 0 eng/common/native/install-dependencies.sh | 62 + eng/common/post-build/publish-using-darc.ps1 | 9 +- eng/common/post-build/redact-logs.ps1 | 5 +- eng/common/sdk-task.ps1 | 14 +- eng/common/sdk-task.sh | 121 ++ eng/common/sdl/packages.config | 2 +- eng/common/templates-official/job/job.yml | 4 +- .../steps/publish-build-artifacts.yml | 7 +- .../steps/source-index-stage1-publish.yml | 7 + .../variables/pool-providers.yml | 2 +- eng/common/templates/job/job.yml | 4 +- .../steps/publish-build-artifacts.yml | 8 +- .../steps/source-index-stage1-publish.yml | 7 + eng/common/templates/steps/vmr-sync.yml | 186 +++ .../templates/variables/pool-providers.yml | 2 +- eng/common/templates/vmr-build-pr.yml | 43 + eng/common/tools.ps1 | 71 +- eng/common/tools.sh | 81 +- eng/common/vmr-sync.ps1 | 164 +++ eng/common/vmr-sync.sh | 227 ++++ global.json | 21 +- 59 files changed, 2940 insertions(+), 1263 deletions(-) create mode 100644 eng/Version.Details.props mode change 100644 => 100755 eng/common/SetupNugetSources.sh create mode 100644 eng/common/core-templates/steps/cleanup-microbuild.yml create mode 100644 eng/common/core-templates/steps/install-microbuild.yml create mode 100644 eng/common/core-templates/steps/source-index-stage1-publish.yml create mode 100755 eng/common/cross/install-debs.py mode change 100644 => 100755 eng/common/cross/tizen-build-rootfs.sh mode change 100644 => 100755 eng/common/cross/tizen-fetch.sh create mode 100644 eng/common/dotnet.cmd create mode 100644 eng/common/dotnet.ps1 create mode 100755 eng/common/dotnet.sh mode change 100644 => 100755 eng/common/generate-sbom-prep.sh create mode 100755 eng/common/native/install-dependencies.sh create mode 100755 eng/common/sdk-task.sh create mode 100644 eng/common/templates-official/steps/source-index-stage1-publish.yml create mode 100644 eng/common/templates/steps/source-index-stage1-publish.yml create mode 100644 eng/common/templates/steps/vmr-sync.yml create mode 100644 eng/common/templates/vmr-build-pr.yml create mode 100755 eng/common/vmr-sync.ps1 create mode 100755 eng/common/vmr-sync.sh diff --git a/NuGet.config b/NuGet.config index 4460caf81a88..e226baf9b0b6 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,44 +3,15 @@ - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - @@ -51,6 +22,8 @@ + + @@ -60,19 +33,14 @@ + + + - - - - - - - - diff --git a/eng/Version.Details.props b/eng/Version.Details.props new file mode 100644 index 000000000000..94492476bae6 --- /dev/null +++ b/eng/Version.Details.props @@ -0,0 +1,290 @@ + + + + + 2.1.0 + + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-preview.26203.109 + 10.0.6 + 10.0.6 + 18.0.11 + 18.0.11-servicing-26203-109 + 7.0.2-rc.20409 + 10.0.106 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.0-preview.26203.109 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 2.0.0-preview.1.26203.109 + 2.2.6 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6-servicing.26203.109 + 10.0.0-beta.26203.109 + 10.0.0-beta.26203.109 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 14.0.106-servicing.26203.109 + 10.0.6 + 5.0.0-2.26203.109 + 5.0.0-2.26203.109 + 10.0.6-servicing.26203.109 + 10.0.6 + 10.0.6 + 10.0.0-preview.7.25377.103 + 10.0.0-preview.26203.109 + 10.0.6-servicing.26203.109 + 18.0.2-release-26203-109 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106 + 10.0.106-servicing.26203.109 + 10.0.106 + 10.0.106-servicing.26203.109 + 10.0.106 + 10.0.106 + 10.0.106-servicing.26203.109 + 18.0.2-release-26203-109 + 18.0.2-release-26203-109 + 3.2.6 + 10.0.6 + 10.0.6-servicing.26203.109 + 10.0.6 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 7.0.2-rc.20409 + 10.0.6 + 2.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + + 2.3.0-preview.26202.5 + 4.3.0-preview.26202.5 + + + + + $(NETStandardLibraryRefPackageVersion) + + $(dotnetdevcertsPackageVersion) + $(dotnetuserjwtsPackageVersion) + $(dotnetusersecretsPackageVersion) + $(MicrosoftAspNetCoreAnalyzersPackageVersion) + $(MicrosoftAspNetCoreAppRefPackageVersion) + $(MicrosoftAspNetCoreAppRefInternalPackageVersion) + $(MicrosoftAspNetCoreAuthenticationFacebookPackageVersion) + $(MicrosoftAspNetCoreAuthenticationGooglePackageVersion) + $(MicrosoftAspNetCoreAuthenticationMicrosoftAccountPackageVersion) + $(MicrosoftAspNetCoreAuthorizationPackageVersion) + $(MicrosoftAspNetCoreComponentsPackageVersion) + $(MicrosoftAspNetCoreComponentsAnalyzersPackageVersion) + $(MicrosoftAspNetCoreComponentsFormsPackageVersion) + $(MicrosoftAspNetCoreComponentsSdkAnalyzersPackageVersion) + $(MicrosoftAspNetCoreComponentsWebPackageVersion) + $(MicrosoftAspNetCoreComponentsWebAssemblyPackageVersion) + $(MicrosoftAspNetCoreComponentsWebAssemblyServerPackageVersion) + $(MicrosoftAspNetCoreComponentsWebViewPackageVersion) + $(MicrosoftAspNetCoreDeveloperCertificatesXPlatPackageVersion) + $(MicrosoftAspNetCoreMetadataPackageVersion) + $(MicrosoftAspNetCoreMvcAnalyzersPackageVersion) + $(MicrosoftAspNetCoreMvcApiAnalyzersPackageVersion) + $(MicrosoftAspNetCoreMvcRazorExtensionsToolingInternalPackageVersion) + $(MicrosoftAspNetCoreTestHostPackageVersion) + $(MicrosoftBclAsyncInterfacesPackageVersion) + $(MicrosoftBuildPackageVersion) + $(MicrosoftBuildLocalizationPackageVersion) + $(MicrosoftBuildNuGetSdkResolverPackageVersion) + $(MicrosoftBuildTasksGitPackageVersion) + $(MicrosoftCodeAnalysisPackageVersion) + $(MicrosoftCodeAnalysisBuildClientPackageVersion) + $(MicrosoftCodeAnalysisCSharpPackageVersion) + $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) + $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) + $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) + $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftDeploymentDotNetReleasesPackageVersion) + $(MicrosoftDiaSymReaderPackageVersion) + $(MicrosoftDotNetArcadeSdkPackageVersion) + $(MicrosoftDotNetBuildTasksInstallersPackageVersion) + $(MicrosoftDotNetBuildTasksTemplatingPackageVersion) + $(MicrosoftDotNetBuildTasksWorkloadsPackageVersion) + $(MicrosoftDotNetHelixSdkPackageVersion) + $(MicrosoftDotNetSignToolPackageVersion) + $(MicrosoftDotNetWebItemTemplates100PackageVersion) + $(MicrosoftDotNetWebProjectTemplates100PackageVersion) + $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) + $(MicrosoftDotNetXliffTasksPackageVersion) + $(MicrosoftDotNetXUnitExtensionsPackageVersion) + $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyModelPackageVersion) + $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) + $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) + $(MicrosoftExtensionsFileSystemGlobbingPackageVersion) + $(MicrosoftExtensionsLoggingPackageVersion) + $(MicrosoftExtensionsLoggingAbstractionsPackageVersion) + $(MicrosoftExtensionsLoggingConsolePackageVersion) + $(MicrosoftExtensionsObjectPoolPackageVersion) + $(MicrosoftFSharpCompilerPackageVersion) + $(MicrosoftJSInteropPackageVersion) + $(MicrosoftNetCompilersToolsetPackageVersion) + $(MicrosoftNetCompilersToolsetFrameworkPackageVersion) + $(MicrosoftNETHostModelPackageVersion) + $(MicrosoftNETILLinkTasksPackageVersion) + $(MicrosoftNETRuntimeEmscripten3156Cachewinx64PackageVersion) + $(MicrosoftNETRuntimeEmscriptenSdkInternalPackageVersion) + $(MicrosoftNETSdkRazorSourceGeneratorsTransportPackageVersion) + $(MicrosoftNETSdkWindowsDesktopPackageVersion) + $(MicrosoftNETTestSdkPackageVersion) + $(MicrosoftNETCoreAppRefPackageVersion) + $(MicrosoftNETCorePlatformsPackageVersion) + $(MicrosoftSourceLinkAzureReposGitPackageVersion) + $(MicrosoftSourceLinkBitbucketGitPackageVersion) + $(MicrosoftSourceLinkCommonPackageVersion) + $(MicrosoftSourceLinkGitHubPackageVersion) + $(MicrosoftSourceLinkGitLabPackageVersion) + $(MicrosoftTemplateEngineAbstractionsPackageVersion) + $(MicrosoftTemplateEngineAuthoringTemplateVerifierPackageVersion) + $(MicrosoftTemplateEngineEdgePackageVersion) + $(MicrosoftTemplateEngineMocksPackageVersion) + $(MicrosoftTemplateEngineOrchestratorRunnableProjectsPackageVersion) + $(MicrosoftTemplateEngineTestHelperPackageVersion) + $(MicrosoftTemplateEngineUtilsPackageVersion) + $(MicrosoftTemplateSearchCommonPackageVersion) + $(MicrosoftTemplateSearchTemplateDiscoveryPackageVersion) + $(MicrosoftTestPlatformBuildPackageVersion) + $(MicrosoftTestPlatformCLIPackageVersion) + $(MicrosoftWebXdtPackageVersion) + $(MicrosoftWin32SystemEventsPackageVersion) + $(MicrosoftWindowsDesktopAppInternalPackageVersion) + $(MicrosoftWindowsDesktopAppRefPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksConsolePackageVersion) + $(NuGetBuildTasksPackPackageVersion) + $(NuGetCommandLineXPlatPackageVersion) + $(NuGetCommandsPackageVersion) + $(NuGetCommonPackageVersion) + $(NuGetConfigurationPackageVersion) + $(NuGetCredentialsPackageVersion) + $(NuGetDependencyResolverCorePackageVersion) + $(NuGetFrameworksPackageVersion) + $(NuGetLibraryModelPackageVersion) + $(NuGetLocalizationPackageVersion) + $(NuGetPackagingPackageVersion) + $(NuGetProjectModelPackageVersion) + $(NuGetProtocolPackageVersion) + $(NuGetVersioningPackageVersion) + $(SystemCodeDomPackageVersion) + $(SystemCommandLinePackageVersion) + $(SystemComponentModelCompositionPackageVersion) + $(SystemCompositionAttributedModelPackageVersion) + $(SystemCompositionConventionPackageVersion) + $(SystemCompositionHostingPackageVersion) + $(SystemCompositionRuntimePackageVersion) + $(SystemCompositionTypedPartsPackageVersion) + $(SystemConfigurationConfigurationManagerPackageVersion) + $(SystemDiagnosticsDiagnosticSourcePackageVersion) + $(SystemFormatsAsn1PackageVersion) + $(SystemIOHashingPackageVersion) + $(SystemReflectionMetadataLoadContextPackageVersion) + $(SystemResourcesExtensionsPackageVersion) + $(SystemSecurityCryptographyPkcsPackageVersion) + $(SystemSecurityCryptographyProtectedDataPackageVersion) + $(SystemSecurityCryptographyXmlPackageVersion) + $(SystemSecurityPermissionsPackageVersion) + $(SystemServiceProcessServiceControllerPackageVersion) + $(SystemTextEncodingCodePagesPackageVersion) + $(SystemTextJsonPackageVersion) + $(SystemWindowsExtensionsPackageVersion) + + $(MicrosoftTestingPlatformPackageVersion) + $(MSTestPackageVersion) + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 25d8b3f5e48f..3a7cdb3a56c8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,634 +1,577 @@ + - - https://github.com/dotnet/templating - 34a5893f3ec336db55d3da5621a96106b418db5b - - - https://github.com/dotnet/templating - 34a5893f3ec336db55d3da5621a96106b418db5b - - - - https://github.com/dotnet/templating - b73682307aa0128c5edbec94c2e6a070d13ae6bb - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://github.com/dotnet/core-setup 7d57652f33493fa022125b7f63aad0d70c52d810 - - https://github.com/dotnet/emsdk - fb1326b0f4622f04f21584dc133f1c71f7554509 - - - - https://github.com/dotnet/emsdk - fb1326b0f4622f04f21584dc133f1c71f7554509 - - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - - https://github.com/dotnet/msbuild - 2a0eb78b31025538b6e749ecd80dfabfcfa43a42 - - - - https://github.com/dotnet/fsharp - 14987c804f33917bf15f4c25e0cd16ecd01807f4 - - - - https://github.com/dotnet/fsharp - 14987c804f33917bf15f4c25e0cd16ecd01807f4 - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 - - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6a953e76162f3f079405f80e28664fa51b136740 + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/nuget/nuget.client - 0da03caba83448ee887f0f1846dd05e1f1705d45 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 - - - - https://github.com/microsoft/vstest - 51441adcd6c424ae7315d66ce7e96baf34d70369 - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f3d1a3c90c44fd18aecd8fb8a7006807f64b2710 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 72d4e0415ec4ae0771a5df3e05260691a5d6775b - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - - https://github.com/dotnet/razor - 41f3afd466695ac2460260431537fe4d779ff446 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-winforms - 9399df09f8f8a187dcf1941b1d07a538ca197171 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 72d4e0415ec4ae0771a5df3e05260691a5d6775b - - - https://github.com/dotnet/xdt - 63ae81154c50a1cf9287cc47d8351d55b4289e6d - - - - https://github.com/dotnet/xdt - 63ae81154c50a1cf9287cc47d8351d55b4289e6d - - - - https://github.com/dotnet/roslyn-analyzers - 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 - - - https://github.com/dotnet/roslyn - 450493a9b4ec6337bced0120e97cb76f4ed783db - - - - https://github.com/dotnet/roslyn-analyzers - 04fb1b300056f8ef08045c4aed1bbb0a876ea9b8 - - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - - https://github.com/dotnet/symreader - 0710a7892d89999956e8808c28e9dd0512bd53f3 - - - - https://github.com/dotnet/command-line-api - 803d8598f98fb4efd94604b32627ee9407f246db - - - - - https://github.com/dotnet/source-build-externals - 71dbdccd13f28cfd1a35649263b55ebbeab26ee7 - - - - - https://github.com/dotnet/source-build-reference-packages - 6092b62b7f35fddbd6bf31e19b2ab64bbe2443ae - - - - https://github.com/dotnet/deployment-tools - b2d5c0c5841de4bc036ef4c84b5db3532504e5f3 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - - https://github.com/dotnet/sourcelink - 657ade4711e607cc4759e89e0943aa1ca8aadc63 - - - - - https://github.com/dotnet/deployment-tools - b2d5c0c5841de4bc036ef4c84b5db3532504e5f3 - - - - - https://github.com/dotnet/symreader - 0710a7892d89999956e8808c28e9dd0512bd53f3 - + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - baa6b294e728e6171378b4e8c52e42e7c4d4ed63 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - - https://github.com/dotnet/arcade - 01c94b66e75697e9298eb79a49db74489f8d343e - - - - https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 19c07820cb72aafc554c3bc8fe3c54010f5123f0 - - - https://github.com/dotnet/arcade-services - e156e649f28395d9d0ee1e848225a689b59e0fd3 - - - https://github.com/dotnet/arcade-services - e156e649f28395d9d0ee1e848225a689b59e0fd3 - - - https://github.com/dotnet/scenario-tests - 0f750c53b3052a593c6daacc0d60eb8c0d2d9cf1 - - - - https://github.com/dotnet/scenario-tests - 0f750c53b3052a593c6daacc0d60eb8c0d2d9cf1 - - - - - https://github.com/dotnet/aspire - 5fa9337a84a52e9bd185d04d156eccbdcf592f74 - - - - https://github.com/dotnet/aspire - 5fa9337a84a52e9bd185d04d156eccbdcf592f74 - - - - https://github.com/dotnet/runtime - e77011b31a3e5c47d931248a64b47f9b2d47853d + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + + https://github.com/microsoft/testfx + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + + + https://github.com/microsoft/testfx + cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + + + https://github.com/dotnet/dotnet + 6165bd7ac3499cb712ca489f2ce44bb665174a1a diff --git a/eng/common/CIBuild.cmd b/eng/common/CIBuild.cmd index 56c2f25ac22f..ac1f72bf94e0 100644 --- a/eng/common/CIBuild.cmd +++ b/eng/common/CIBuild.cmd @@ -1,2 +1,2 @@ @echo off -powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*" \ No newline at end of file +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*" diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1 index 792b60b49d42..65ed3a8adef0 100644 --- a/eng/common/SetupNugetSources.ps1 +++ b/eng/common/SetupNugetSources.ps1 @@ -1,13 +1,14 @@ # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables -# disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, +# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. +# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # # See example call for this script below. # # - task: PowerShell@2 -# displayName: Setup Private Feeds Credentials +# displayName: Setup internal Feeds Credentials # condition: eq(variables['Agent.OS'], 'Windows_NT') # inputs: # filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.ps1 @@ -34,19 +35,28 @@ Set-StrictMode -Version 2.0 . $PSScriptRoot\tools.ps1 +# Adds or enables the package source with the given name +function AddOrEnablePackageSource($sources, $disabledPackageSources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) { + if ($disabledPackageSources -eq $null -or -not (EnableInternalPackageSource -DisabledPackageSources $disabledPackageSources -Creds $creds -PackageSourceName $SourceName)) { + AddPackageSource -Sources $sources -SourceName $SourceName -SourceEndPoint $SourceEndPoint -Creds $creds -Username $userName -pwd $Password + } +} + # Add source entry to PackageSources function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) { $packageSource = $sources.SelectSingleNode("add[@key='$SourceName']") if ($packageSource -eq $null) { + Write-Host "Adding package source $SourceName" + $packageSource = $doc.CreateElement("add") $packageSource.SetAttribute("key", $SourceName) $packageSource.SetAttribute("value", $SourceEndPoint) $sources.AppendChild($packageSource) | Out-Null } else { - Write-Host "Package source $SourceName already present." + Write-Host "Package source $SourceName already present and enabled." } AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd @@ -59,6 +69,8 @@ function AddCredential($creds, $source, $username, $pwd) { return; } + Write-Host "Inserting credential for feed: " $source + # Looks for credential configuration for the given SourceName. Create it if none is found. $sourceElement = $creds.SelectSingleNode($Source) if ($sourceElement -eq $null) @@ -91,24 +103,27 @@ function AddCredential($creds, $source, $username, $pwd) { $passwordElement.SetAttribute("value", $pwd) } -function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) { - $maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]") - - Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds." - - ForEach ($PackageSource in $maestroPrivateSources) { - Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key - AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd +# Enable all darc-int package sources. +function EnableMaestroInternalPackageSources($DisabledPackageSources, $Creds) { + $maestroInternalSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]") + ForEach ($DisabledPackageSource in $maestroInternalSources) { + EnableInternalPackageSource -DisabledPackageSources $DisabledPackageSources -Creds $Creds -PackageSourceName $DisabledPackageSource.key } } -function EnablePrivatePackageSources($DisabledPackageSources) { - $maestroPrivateSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]") - ForEach ($DisabledPackageSource in $maestroPrivateSources) { - Write-Host "`tEnsuring private source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource" +# Enables an internal package source by name, if found. Returns true if the package source was found and enabled, false otherwise. +function EnableInternalPackageSource($DisabledPackageSources, $Creds, $PackageSourceName) { + $DisabledPackageSource = $DisabledPackageSources.SelectSingleNode("add[@key='$PackageSourceName']") + if ($DisabledPackageSource) { + Write-Host "Enabling internal source '$($DisabledPackageSource.key)'." + # Due to https://github.com/NuGet/Home/issues/10291, we must actually remove the disabled entries $DisabledPackageSources.RemoveChild($DisabledPackageSource) + + AddCredential -Creds $creds -Source $DisabledPackageSource.Key -Username $userName -pwd $Password + return $true } + return $false } if (!(Test-Path $ConfigFile -PathType Leaf)) { @@ -121,15 +136,17 @@ $doc = New-Object System.Xml.XmlDocument $filename = (Get-Item $ConfigFile).FullName $doc.Load($filename) -# Get reference to or create one if none exist already +# Get reference to - fail if none exist $sources = $doc.DocumentElement.SelectSingleNode("packageSources") if ($sources -eq $null) { - $sources = $doc.CreateElement("packageSources") - $doc.DocumentElement.AppendChild($sources) | Out-Null + Write-PipelineTelemetryError -Category 'Build' -Message "Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile" + ExitWithExitCode 1 } $creds = $null +$feedSuffix = "v3/index.json" if ($Password) { + $feedSuffix = "v2" # Looks for a node. Create it if none is found. $creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials") if ($creds -eq $null) { @@ -138,34 +155,35 @@ if ($Password) { } } +$userName = "dn-bot" + # Check for disabledPackageSources; we'll enable any darc-int ones we find there $disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources") if ($disabledSources -ne $null) { Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node" - EnablePrivatePackageSources -DisabledPackageSources $disabledSources + EnableMaestroInternalPackageSources -DisabledPackageSources $disabledSources -Creds $creds } - -$userName = "dn-bot" - -# Insert credential nodes for Maestro's private feeds -InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password - -# 3.1 uses a different feed url format so it's handled differently here -$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']") -if ($dotnet31Source -ne $null) { - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password - AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password -} - -$dotnetVersions = @('5','6','7','8','9') +$dotnetVersions = @('5','6','7','8','9','10') foreach ($dotnetVersion in $dotnetVersions) { $feedPrefix = "dotnet" + $dotnetVersion; $dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']") if ($dotnetSource -ne $null) { - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password - AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password } } +# Check for dotnet-eng and add dotnet-eng-internal if present +$dotnetEngSource = $sources.SelectSingleNode("add[@key='dotnet-eng']") +if ($dotnetEngSource -ne $null) { + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-eng-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password +} + +# Check for dotnet-tools and add dotnet-tools-internal if present +$dotnetToolsSource = $sources.SelectSingleNode("add[@key='dotnet-tools']") +if ($dotnetToolsSource -ne $null) { + AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-tools-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password +} + $doc.Save($filename) diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh old mode 100644 new mode 100755 index facb415ca6ff..b2163abbe71b --- a/eng/common/SetupNugetSources.sh +++ b/eng/common/SetupNugetSources.sh @@ -1,8 +1,9 @@ #!/usr/bin/env bash # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables -# disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, +# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. +# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # @@ -52,81 +53,139 @@ if [[ `uname -s` == "Darwin" ]]; then TB='' fi -# Ensure there is a ... section. -grep -i "" $ConfigFile -if [ "$?" != "0" ]; then - echo "Adding ... section." - ConfigNodeHeader="" - PackageSourcesTemplate="${TB}${NL}${TB}" +# Enables an internal package source by name, if found. Returns 0 if found and enabled, 1 if not found. +EnableInternalPackageSource() { + local PackageSourceName="$1" + + # Check if disabledPackageSources section exists + grep -i "" "$ConfigFile" > /dev/null + if [ "$?" != "0" ]; then + return 1 # No disabled sources section + fi + + # Check if this source name is disabled + grep -i " /dev/null + if [ "$?" == "0" ]; then + echo "Enabling internal source '$PackageSourceName'." + # Remove the disabled entry (including any surrounding comments or whitespace on the same line) + sed -i.bak "//d" "$ConfigFile" + + # Add the source name to PackageSources for credential handling + PackageSources+=("$PackageSourceName") + return 0 # Found and enabled + fi + + return 1 # Not found in disabled sources +} + +# Add source entry to PackageSources +AddPackageSource() { + local SourceName="$1" + local SourceEndPoint="$2" + + # Check if source already exists + grep -i " /dev/null + if [ "$?" == "0" ]; then + echo "Package source $SourceName already present and enabled." + PackageSources+=("$SourceName") + return + fi + + echo "Adding package source $SourceName" + PackageSourcesNodeFooter="" + PackageSourceTemplate="${TB}" + + sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" "$ConfigFile" + PackageSources+=("$SourceName") +} + +# Adds or enables the package source with the given name +AddOrEnablePackageSource() { + local SourceName="$1" + local SourceEndPoint="$2" + + # Try to enable if disabled, if not found then add new source + EnableInternalPackageSource "$SourceName" + if [ "$?" != "0" ]; then + AddPackageSource "$SourceName" "$SourceEndPoint" + fi +} - sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" $ConfigFile -fi +# Enable all darc-int package sources +EnableMaestroInternalPackageSources() { + # Check if disabledPackageSources section exists + grep -i "" "$ConfigFile" > /dev/null + if [ "$?" != "0" ]; then + return # No disabled sources section + fi + + # Find all darc-int disabled sources + local DisabledDarcIntSources=() + DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' "$ConfigFile" | tr -d '"') + + for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do + if [[ $DisabledSourceName == darc-int* ]]; then + EnableInternalPackageSource "$DisabledSourceName" + fi + done +} -# Ensure there is a ... section. -grep -i "" $ConfigFile +# Ensure there is a ... section. +grep -i "" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding ... section." - - PackageSourcesNodeFooter="" - PackageSourceCredentialsTemplate="${TB}${NL}${TB}" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile + Write-PipelineTelemetryError -Category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile" + ExitWithExitCode 1 fi PackageSources=() -# Ensure dotnet3.1-internal and dotnet3.1-internal-transport are in the packageSources if the public dotnet3.1 feeds are present -grep -i "... section. + grep -i "" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding dotnet3.1-internal to the packageSources." - PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" + echo "Adding ... section." - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=('dotnet3.1-internal') - - grep -i "" $ConfigFile - if [ "$?" != "0" ]; then - echo "Adding dotnet3.1-internal-transport to the packageSources." PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" + PackageSourceCredentialsTemplate="${TB}${NL}${TB}" - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile + sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile fi - PackageSources+=('dotnet3.1-internal-transport') fi -DotNetVersions=('5' '6' '7' '8' '9') +# Check for disabledPackageSources; we'll enable any darc-int ones we find there +grep -i "" $ConfigFile > /dev/null +if [ "$?" == "0" ]; then + echo "Checking for any darc-int disabled package sources in the disabledPackageSources node" + EnableMaestroInternalPackageSources +fi + +DotNetVersions=('5' '6' '7' '8' '9' '10') for DotNetVersion in ${DotNetVersions[@]} ; do FeedPrefix="dotnet${DotNetVersion}"; - grep -i " /dev/null if [ "$?" == "0" ]; then - grep -i "" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=("$FeedPrefix-internal") - - grep -i "" $ConfigFile - if [ "$?" != "0" ]; then - echo "Adding $FeedPrefix-internal-transport to the packageSources." - PackageSourcesNodeFooter="" - PackageSourceTemplate="${TB}" - - sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile - fi - PackageSources+=("$FeedPrefix-internal-transport") + AddOrEnablePackageSource "$FeedPrefix-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal/nuget/$FeedSuffix" + AddOrEnablePackageSource "$FeedPrefix-internal-transport" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal-transport/nuget/$FeedSuffix" fi done +# Check for dotnet-eng and add dotnet-eng-internal if present +grep -i " /dev/null +if [ "$?" == "0" ]; then + AddOrEnablePackageSource "dotnet-eng-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$FeedSuffix" +fi + +# Check for dotnet-tools and add dotnet-tools-internal if present +grep -i " /dev/null +if [ "$?" == "0" ]; then + AddOrEnablePackageSource "dotnet-tools-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$FeedSuffix" +fi + # I want things split line by line PrevIFS=$IFS IFS=$'\n' @@ -139,29 +198,12 @@ if [ "$CredToken" ]; then # Check if there is no existing credential for this FeedName grep -i "<$FeedName>" $ConfigFile if [ "$?" != "0" ]; then - echo "Adding credentials for $FeedName." + echo " Inserting credential for feed: $FeedName" PackageSourceCredentialsNodeFooter="" - NewCredential="${TB}${TB}<$FeedName>${NL}${NL}${NL}" + NewCredential="${TB}${TB}<$FeedName>${NL}${TB}${NL}${TB}${TB}${NL}${TB}${TB}" sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile fi done fi - -# Re-enable any entries in disabledPackageSources where the feed name contains darc-int -grep -i "" $ConfigFile -if [ "$?" == "0" ]; then - DisabledDarcIntSources=() - echo "Re-enabling any disabled \"darc-int\" package sources in $ConfigFile" - DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' $ConfigFile | tr -d '"') - for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do - if [[ $DisabledSourceName == darc-int* ]] - then - OldDisableValue="" - NewDisableValue="" - sed -i.bak "s|$OldDisableValue|$NewDisableValue|" $ConfigFile - echo "Neutralized disablePackageSources entry for '$DisabledSourceName'" - fi - done -fi diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index 438f9920c43e..8cfee107e7a3 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -7,6 +7,7 @@ Param( [string] $msbuildEngine = $null, [bool] $warnAsError = $true, [bool] $nodeReuse = $true, + [switch] $buildCheck = $false, [switch][Alias('r')]$restore, [switch] $deployDeps, [switch][Alias('b')]$build, @@ -20,6 +21,7 @@ Param( [switch] $publish, [switch] $clean, [switch][Alias('pb')]$productBuild, + [switch]$fromVMR, [switch][Alias('bl')]$binaryLog, [switch][Alias('nobl')]$excludeCIBinarylog, [switch] $ci, @@ -71,6 +73,9 @@ function Print-Usage() { Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio" Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)" + Write-Host " -nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')" + Write-Host " -buildCheck Sets /check msbuild parameter" + Write-Host " -fromVMR Set when building from within the VMR" Write-Host "" Write-Host "Command line arguments not listed above are passed thru to msbuild." @@ -97,6 +102,7 @@ function Build { $bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' } $platformArg = if ($platform) { "/p:Platform=$platform" } else { '' } + $check = if ($buildCheck) { '/check' } else { '' } if ($projects) { # Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons. @@ -113,6 +119,7 @@ function Build { MSBuild $toolsetBuildProj ` $bl ` $platformArg ` + $check ` /p:Configuration=$configuration ` /p:RepoRoot=$RepoRoot ` /p:Restore=$restore ` @@ -122,11 +129,13 @@ function Build { /p:Deploy=$deploy ` /p:Test=$test ` /p:Pack=$pack ` - /p:DotNetBuildRepo=$productBuild ` + /p:DotNetBuild=$productBuild ` + /p:DotNetBuildFromVMR=$fromVMR ` /p:IntegrationTest=$integrationTest ` /p:PerformanceTest=$performanceTest ` /p:Sign=$sign ` /p:Publish=$publish ` + /p:RestoreStaticGraphEnableBinaryLogger=$binaryLog ` @properties } diff --git a/eng/common/build.sh b/eng/common/build.sh index ac1ee8620cd2..9767bb411a4f 100755 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -42,6 +42,8 @@ usage() echo " --prepareMachine Prepare machine for CI run, clean up processes after build" echo " --nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')" echo " --warnAsError Sets warnaserror msbuild parameter ('true' or 'false')" + echo " --buildCheck Sets /check msbuild parameter" + echo " --fromVMR Set when building from within the VMR" echo "" echo "Command line arguments not listed above are passed thru to msbuild." echo "Arguments can also be passed in with a single hyphen." @@ -63,6 +65,7 @@ restore=false build=false source_build=false product_build=false +from_vmr=false rebuild=false test=false integration_test=false @@ -76,6 +79,7 @@ clean=false warn_as_error=true node_reuse=true +build_check=false binary_log=false exclude_ci_binary_log=false pipelines_log=false @@ -87,7 +91,7 @@ verbosity='minimal' runtime_source_feed='' runtime_source_feed_key='' -properties='' +properties=() while [[ $# > 0 ]]; do opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")" case "$opt" in @@ -127,19 +131,22 @@ while [[ $# > 0 ]]; do -pack) pack=true ;; - -sourcebuild|-sb) + -sourcebuild|-source-build|-sb) build=true source_build=true product_build=true restore=true pack=true ;; - -productBuild|-pb) + -productbuild|-product-build|-pb) build=true product_build=true restore=true pack=true ;; + -fromvmr|-from-vmr) + from_vmr=true + ;; -test|-t) test=true ;; @@ -173,6 +180,9 @@ while [[ $# > 0 ]]; do node_reuse=$2 shift ;; + -buildcheck) + build_check=true + ;; -runtimesourcefeed) runtime_source_feed=$2 shift @@ -182,7 +192,7 @@ while [[ $# > 0 ]]; do shift ;; *) - properties="$properties $1" + properties+=("$1") ;; esac @@ -216,7 +226,7 @@ function Build { InitializeCustomToolset if [[ ! -z "$projects" ]]; then - properties="$properties /p:Projects=$projects" + properties+=("/p:Projects=$projects") fi local bl="" @@ -224,15 +234,21 @@ function Build { bl="/bl:\"$log_dir/Build.binlog\"" fi + local check="" + if [[ "$build_check" == true ]]; then + check="/check" + fi + MSBuild $_InitializeToolset \ $bl \ + $check \ /p:Configuration=$configuration \ /p:RepoRoot="$repo_root" \ /p:Restore=$restore \ /p:Build=$build \ - /p:DotNetBuildRepo=$product_build \ - /p:ArcadeBuildFromSource=$source_build \ + /p:DotNetBuild=$product_build \ /p:DotNetBuildSourceOnly=$source_build \ + /p:DotNetBuildFromVMR=$from_vmr \ /p:Rebuild=$rebuild \ /p:Test=$test \ /p:Pack=$pack \ @@ -240,7 +256,8 @@ function Build { /p:PerformanceTest=$performance_test \ /p:Sign=$sign \ /p:Publish=$publish \ - $properties + /p:RestoreStaticGraphEnableBinaryLogger=$binary_log \ + ${properties[@]+"${properties[@]}"} ExitWithExitCode 0 } diff --git a/eng/common/cibuild.sh b/eng/common/cibuild.sh index 1a02c0dec8fd..66e3b0ac61c3 100755 --- a/eng/common/cibuild.sh +++ b/eng/common/cibuild.sh @@ -13,4 +13,4 @@ while [[ -h $source ]]; do done scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" -. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@ \ No newline at end of file +. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@ diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml index 8da43d3b5837..5ce518406198 100644 --- a/eng/common/core-templates/job/job.yml +++ b/eng/common/core-templates/job/job.yml @@ -19,11 +19,11 @@ parameters: # publishing defaults artifacts: '' enableMicrobuild: false + enableMicrobuildForMacAndLinux: false microbuildUseESRP: true enablePublishBuildArtifacts: false enablePublishBuildAssets: false enablePublishTestResults: false - enablePublishUsingPipelines: false enableBuildRetry: false mergeTestResults: false testRunTitle: '' @@ -74,9 +74,6 @@ jobs: - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE value: '$(Build.Repository.Uri)' - - ${{ if eq(parameters.enableRichCodeNavigation, 'true') }}: - - name: EnableRichCodeNavigation - value: 'true' # Retry signature validation up to three times, waiting 2 seconds between attempts. # See https://learn.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu3028#retry-untrusted-root-failures - name: NUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY @@ -128,23 +125,12 @@ jobs: - ${{ preStep }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ if eq(parameters.enableMicrobuild, 'true') }}: - - task: MicroBuildSigningPlugin@4 - displayName: Install MicroBuild plugin - inputs: - signType: $(_SignType) - zipSources: false - feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json - ${{ if eq(parameters.microbuildUseESRP, true) }}: - ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: - ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea - ${{ else }}: - ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca - env: - TeamName: $(_TeamName) - MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)' + - template: /eng/common/core-templates/steps/install-microbuild.yml + parameters: + enableMicrobuild: ${{ parameters.enableMicrobuild }} + enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} + microbuildUseESRP: ${{ parameters.microbuildUseESRP }} continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT')) - ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}: - task: NuGetAuthenticate@1 @@ -160,27 +146,15 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} - - ${{ if eq(parameters.enableRichCodeNavigation, true) }}: - - task: RichCodeNavIndexer@0 - displayName: RichCodeNav Upload - inputs: - languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }} - environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'internal') }} - richNavLogOutputDirectory: $(System.DefaultWorkingDirectory)/artifacts/bin - uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }} - continueOnError: true - - ${{ each step in parameters.componentGovernanceSteps }}: - ${{ step }} - - ${{ if eq(parameters.enableMicrobuild, 'true') }}: - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: MicroBuildCleanup@1 - displayName: Execute Microbuild cleanup tasks - condition: and(always(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT')) + - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - template: /eng/common/core-templates/steps/cleanup-microbuild.yml + parameters: + enableMicrobuild: ${{ parameters.enableMicrobuild }} + enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} continueOnError: ${{ parameters.continueOnError }} - env: - TeamName: $(_TeamName) # Publish test results - ${{ if or(and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')), eq(parameters.testResultsFormat, 'xunit')) }}: diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index edefa789d360..eefed3b667a4 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -4,7 +4,7 @@ parameters: # Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool pool: '' - + CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex GithubPat: $(BotAccount-dotnet-bot-repo-PAT) @@ -27,7 +27,7 @@ parameters: is1ESPipeline: '' jobs: - job: OneLocBuild${{ parameters.JobNameSuffix }} - + dependsOn: ${{ parameters.dependsOn }} displayName: OneLocBuild${{ parameters.JobNameSuffix }} @@ -52,13 +52,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows steps: @@ -86,8 +86,7 @@ jobs: isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }} ${{ if eq(parameters.CreatePr, true) }}: isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }} - ${{ if eq(parameters.RepoType, 'gitHub') }}: - isShouldReusePrSelected: ${{ parameters.ReusePr }} + isShouldReusePrSelected: ${{ parameters.ReusePr }} packageSourceAuth: patAuth patVariable: ${{ parameters.CeapexPat }} ${{ if eq(parameters.RepoType, 'gitHub') }}: @@ -100,22 +99,20 @@ jobs: mirrorBranch: ${{ parameters.MirrorBranch }} condition: ${{ parameters.condition }} - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} - args: - displayName: Publish Localization Files - pathToPublish: '$(Build.ArtifactStagingDirectory)/loc' - publishLocation: Container - artifactName: Loc - condition: ${{ parameters.condition }} + # Copy the locProject.json to the root of the Loc directory, then publish a pipeline artifact + - task: CopyFiles@2 + displayName: Copy LocProject.json + inputs: + SourceFolder: '$(System.DefaultWorkingDirectory)/eng/Localize/' + Contents: 'LocProject.json' + TargetFolder: '$(Build.ArtifactStagingDirectory)/loc' + condition: ${{ parameters.condition }} - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: - displayName: Publish LocProject.json - pathToPublish: '$(System.DefaultWorkingDirectory)/eng/Localize/' - publishLocation: Container - artifactName: Loc - condition: ${{ parameters.condition }} \ No newline at end of file + targetPath: '$(Build.ArtifactStagingDirectory)/loc' + artifactName: 'Loc' + displayName: 'Publish Localization Files' + condition: ${{ parameters.condition }} diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index 3cb20fb5041f..9afcb8ae1590 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -20,9 +20,6 @@ parameters: # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects. runAsPublic: false - # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing - publishUsingPipelines: false - # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing publishAssetsImmediately: false @@ -32,6 +29,15 @@ parameters: is1ESPipeline: '' + # Optional: 🌤️ or not the build has assets it wants to publish to BAR + isAssetlessBuild: false + + # Optional, publishing version + publishingVersion: 3 + + # Optional: A minimatch pattern for the asset manifests to publish to BAR + assetManifestsPattern: '*/manifests/**/*.xml' + repositoryAlias: self officialBuildId: '' @@ -68,13 +74,13 @@ jobs: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: @@ -84,18 +90,44 @@ jobs: - checkout: ${{ parameters.repositoryAlias }} fetchDepth: 3 clean: true - - - task: DownloadBuildArtifacts@0 - displayName: Download artifact - inputs: - artifactName: AssetManifests - downloadPath: '$(Build.StagingDirectory)/Download' - checkDownloadedFiles: true - condition: ${{ parameters.condition }} - continueOnError: ${{ parameters.continueOnError }} + + - ${{ if eq(parameters.isAssetlessBuild, 'false') }}: + - ${{ if eq(parameters.publishingVersion, 3) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download Asset Manifests + inputs: + artifactName: AssetManifests + targetPath: '$(Build.StagingDirectory)/AssetManifests' + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} + - ${{ if eq(parameters.publishingVersion, 4) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download V4 asset manifests + inputs: + itemPattern: '*/manifests/**/*.xml' + targetPath: '$(Build.StagingDirectory)/AllAssetManifests' + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} + - task: CopyFiles@2 + displayName: Copy V4 asset manifests to AssetManifests + inputs: + SourceFolder: '$(Build.StagingDirectory)/AllAssetManifests' + Contents: ${{ parameters.assetManifestsPattern }} + TargetFolder: '$(Build.StagingDirectory)/AssetManifests' + flattenFolders: true + condition: ${{ parameters.condition }} + continueOnError: ${{ parameters.continueOnError }} - task: NuGetAuthenticate@1 + # Populate internal runtime variables. + - template: /eng/common/templates/steps/enable-internal-sources.yml + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + parameters: + legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) + + - template: /eng/common/templates/steps/enable-internal-runtimes.yml + - task: AzureCLI@2 displayName: Publish Build Assets inputs: @@ -104,10 +136,13 @@ jobs: scriptLocation: scriptPath scriptPath: $(System.DefaultWorkingDirectory)/eng/common/sdk-task.ps1 arguments: -task PublishBuildAssets -restore -msbuildEngine dotnet - /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests' + /p:ManifestsPath='$(Build.StagingDirectory)/AssetManifests' + /p:IsAssetlessBuild=${{ parameters.isAssetlessBuild }} /p:MaestroApiEndpoint=https://maestro.dot.net - /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }} /p:OfficialBuildId=$(OfficialBuildId) + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' + condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} @@ -129,6 +164,17 @@ jobs: Copy-Item -Path $symbolExclusionfile -Destination "$(Build.StagingDirectory)/ReleaseConfigs" } + - ${{ if eq(parameters.publishingVersion, 4) }}: + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} + args: + targetPath: '$(Build.ArtifactStagingDirectory)/MergedManifest.xml' + artifactName: AssetManifests + displayName: 'Publish Merged Manifest' + retryCountOnTaskFailure: 10 # for any logs being locked + sbomEnabled: false # we don't need SBOM for logs + - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} @@ -138,7 +184,7 @@ jobs: publishLocation: Container artifactName: ReleaseConfigs - - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}: + - ${{ if or(eq(parameters.publishAssetsImmediately, 'true'), eq(parameters.isAssetlessBuild, 'true')) }}: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: BARBuildId: ${{ parameters.BARBuildId }} @@ -164,6 +210,9 @@ jobs: -WaitPublishingFinish true -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' + -SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' - ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}: - template: /eng/common/core-templates/steps/publish-logs.yml diff --git a/eng/common/core-templates/job/source-build.yml b/eng/common/core-templates/job/source-build.yml index d943748ac10e..1997c2ae00d7 100644 --- a/eng/common/core-templates/job/source-build.yml +++ b/eng/common/core-templates/job/source-build.yml @@ -12,9 +12,10 @@ parameters: # The name of the job. This is included in the job ID. # targetRID: '' # The name of the target RID to use, instead of the one auto-detected by Arcade. - # nonPortable: false + # portableBuild: false # Enables non-portable mode. This means a more specific RID (e.g. fedora.32-x64 rather than - # linux-x64), and compiling against distro-provided packages rather than portable ones. + # linux-x64), and compiling against distro-provided packages rather than portable ones. The + # default is portable mode. # skipPublishValidation: false # Disables publishing validation. By default, a check is performed to ensure no packages are # published by source-build. @@ -33,9 +34,6 @@ parameters: # container and pool. platform: {} - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: '' # If set to true and running on a non-public project, @@ -62,7 +60,7 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')] - demands: ImageOverride -equals build.ubuntu.2004.amd64 + demands: ImageOverride -equals build.azurelinux.3.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')] image: build.azurelinux.3.amd64 @@ -71,10 +69,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')] - demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open + demands: ImageOverride -equals build.azurelinux.3.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')] - demands: ImageOverride -equals Build.Ubuntu.2204.Amd64 + demands: ImageOverride -equals build.azurelinux.3.amd64 ${{ if ne(parameters.platform.pool, '') }}: pool: ${{ parameters.platform.pool }} @@ -96,4 +94,3 @@ jobs: parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} platform: ${{ parameters.platform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index ddf8c2e00d80..76baf5c27258 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -1,8 +1,5 @@ parameters: runAsPublic: false - sourceIndexUploadPackageVersion: 2.0.0-20250425.2 - sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2 - sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci" preSteps: [] binlogPath: artifacts/log/Debug/Build.binlog @@ -16,12 +13,6 @@ jobs: dependsOn: ${{ parameters.dependsOn }} condition: ${{ parameters.condition }} variables: - - name: SourceIndexUploadPackageVersion - value: ${{ parameters.sourceIndexUploadPackageVersion }} - - name: SourceIndexProcessBinlogPackageVersion - value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }} - - name: SourceIndexPackageSource - value: ${{ parameters.sourceIndexPackageSource }} - name: BinlogPath value: ${{ parameters.binlogPath }} - template: /eng/common/core-templates/variables/pool-providers.yml @@ -34,12 +25,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - image: 1es-windows-2022-open - os: windows + image: windows.vs2026preview.scout.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 - os: windows + image: windows.vs2026preview.scout.amd64 steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: @@ -47,35 +36,9 @@ jobs: - ${{ each preStep in parameters.preSteps }}: - ${{ preStep }} - - - task: UseDotNet@2 - displayName: Use .NET 8 SDK - inputs: - packageType: sdk - version: 8.0.x - installationPath: $(Agent.TempDirectory)/dotnet - workingDirectory: $(Agent.TempDirectory) - - - script: | - $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools - $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools - displayName: Download Tools - # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. - workingDirectory: $(Agent.TempDirectory) - - script: ${{ parameters.sourceIndexBuildCommand }} displayName: Build Repository - - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output - displayName: Process Binlog into indexable sln - - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - task: AzureCLI@2 - displayName: Log in to Azure and upload stage1 artifacts to source index - inputs: - azureSubscription: 'SourceDotNet Stage1 Publish' - addSpnToEnvironment: true - scriptType: 'ps' - scriptLocation: 'inlineScript' - inlineScript: | - $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1 + - template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + binLogPath: ${{ parameters.binLogPath }} diff --git a/eng/common/core-templates/jobs/codeql-build.yml b/eng/common/core-templates/jobs/codeql-build.yml index 4571a7864df6..dbc14ac580a2 100644 --- a/eng/common/core-templates/jobs/codeql-build.yml +++ b/eng/common/core-templates/jobs/codeql-build.yml @@ -15,7 +15,6 @@ jobs: enablePublishBuildArtifacts: false enablePublishTestResults: false enablePublishBuildAssets: false - enablePublishUsingPipelines: false enableTelemetry: true variables: diff --git a/eng/common/core-templates/jobs/jobs.yml b/eng/common/core-templates/jobs/jobs.yml index bf33cdc2cc77..01ada7476651 100644 --- a/eng/common/core-templates/jobs/jobs.yml +++ b/eng/common/core-templates/jobs/jobs.yml @@ -5,9 +5,6 @@ parameters: # Optional: Include PublishBuildArtifacts task enablePublishBuildArtifacts: false - # Optional: Enable publishing using release pipelines - enablePublishUsingPipelines: false - # Optional: Enable running the source-build jobs to build repo from source enableSourceBuild: false @@ -30,6 +27,9 @@ parameters: # Optional: Publish the assets as soon as the publish to BAR stage is complete, rather doing so in a separate stage. publishAssetsImmediately: false + # Optional: 🌤️ or not the build has assets it wants to publish to BAR + isAssetlessBuild: false + # Optional: If using publishAssetsImmediately and additional parameters are needed, can be used to send along additional parameters (normally sent to post-build.yml) artifactsPublishingAdditionalParameters: '' signingValidationAdditionalParameters: '' @@ -85,7 +85,6 @@ jobs: - template: /eng/common/core-templates/jobs/source-build.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} - allCompletedJobId: Source_Build_Complete ${{ each parameter in parameters.sourceBuildParameters }}: ${{ parameter.key }}: ${{ parameter.value }} @@ -98,7 +97,7 @@ jobs: ${{ parameter.key }}: ${{ parameter.value }} - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}: + - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, ''), eq(parameters.isAssetlessBuild, true)) }}: - template: ../job/publish-build-assets.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} @@ -110,12 +109,10 @@ jobs: - ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}: - ${{ each job in parameters.jobs }}: - ${{ job.job }} - - ${{ if eq(parameters.enableSourceBuild, true) }}: - - Source_Build_Complete runAsPublic: ${{ parameters.runAsPublic }} - publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }} - publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }} + publishAssetsImmediately: ${{ or(parameters.publishAssetsImmediately, parameters.isAssetlessBuild) }} + isAssetlessBuild: ${{ parameters.isAssetlessBuild }} enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }} artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }} signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }} diff --git a/eng/common/core-templates/jobs/source-build.yml b/eng/common/core-templates/jobs/source-build.yml index 0b408a67bd51..d92860cba208 100644 --- a/eng/common/core-templates/jobs/source-build.yml +++ b/eng/common/core-templates/jobs/source-build.yml @@ -2,28 +2,19 @@ parameters: # This template adds arcade-powered source-build to CI. A job is created for each platform, as # well as an optional server job that completes when all platform jobs complete. - # The name of the "join" job for all source-build platforms. If set to empty string, the job is - # not included. Existing repo pipelines can use this job depend on all source-build jobs - # completing without maintaining a separate list of every single job ID: just depend on this one - # server job. By default, not included. Recommended name if used: 'Source_Build_Complete'. - allCompletedJobId: '' - # See /eng/common/core-templates/job/source-build.yml jobNamePrefix: 'Source_Build' # This is the default platform provided by Arcade, intended for use by a managed-only repo. defaultManagedPlatform: name: 'Managed' - container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9' + container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-amd64' # Defines the platforms on which to run build jobs. One job is created for each platform, and the # object in this array is sent to the job template as 'platform'. If no platforms are specified, # one job runs on 'defaultManagedPlatform'. platforms: [] - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: '' # If set to true and running on a non-public project, @@ -34,23 +25,12 @@ parameters: jobs: -- ${{ if ne(parameters.allCompletedJobId, '') }}: - - job: ${{ parameters.allCompletedJobId }} - displayName: Source-Build Complete - pool: server - dependsOn: - - ${{ each platform in parameters.platforms }}: - - ${{ parameters.jobNamePrefix }}_${{ platform.name }} - - ${{ if eq(length(parameters.platforms), 0) }}: - - ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }} - - ${{ each platform in parameters.platforms }}: - template: /eng/common/core-templates/job/source-build.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ platform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} - ${{ if eq(length(parameters.platforms), 0) }}: @@ -59,5 +39,4 @@ jobs: is1ESPipeline: ${{ parameters.is1ESPipeline }} jobNamePrefix: ${{ parameters.jobNamePrefix }} platform: ${{ parameters.defaultManagedPlatform }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} enableInternalSources: ${{ parameters.enableInternalSources }} diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 864427d9694a..2df4acb76859 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -60,6 +60,11 @@ parameters: artifactNames: '' downloadArtifacts: true + - name: isAssetlessBuild + type: boolean + displayName: Is Assetless Build + default: false + # These parameters let the user customize the call to sdk-task.ps1 for publishing # symbols & general artifacts as well as for signing validation - name: symbolPublishingAdditionalParameters @@ -115,18 +120,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: windows.vs2022.amd64 + image: windows.vs2026preview.scout.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -159,18 +164,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -188,9 +193,6 @@ stages: buildId: $(AzDOBuildId) artifactName: PackageArtifacts checkDownloadedFiles: true - itemPattern: | - ** - !**/Microsoft.SourceBuild.Intermediate.*.nupkg # This is necessary whenever we want to publish/restore to an AzDO private feed # Since sdk-task.ps1 tries to restore packages we need to do this authentication here @@ -223,18 +225,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: 1es-windows-2022 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026preview.scout.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -284,18 +286,18 @@ stages: # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: name: AzurePipelines-EO - image: 1ESPT-Windows2022 + image: 1ESPT-Windows2025 demands: Cmd os: windows # If it's not devdiv, it's dnceng ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal - image: windows.vs2022.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: NetCore1ESPool-Publishing-Internal - demands: ImageOverride -equals windows.vs2022.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml parameters: @@ -305,6 +307,13 @@ stages: - task: NuGetAuthenticate@1 + # Populate internal runtime variables. + - template: /eng/common/templates/steps/enable-internal-sources.yml + parameters: + legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) + + - template: /eng/common/templates/steps/enable-internal-runtimes.yml + # Darc is targeting 8.0, so make sure it's installed - task: UseDotNet@2 inputs: @@ -325,3 +334,6 @@ stages: -RequireDefaultChannels ${{ parameters.requireDefaultChannels }} -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}' -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}' + -SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' diff --git a/eng/common/core-templates/steps/cleanup-microbuild.yml b/eng/common/core-templates/steps/cleanup-microbuild.yml new file mode 100644 index 000000000000..c0fdcd3379d7 --- /dev/null +++ b/eng/common/core-templates/steps/cleanup-microbuild.yml @@ -0,0 +1,28 @@ +parameters: + # Enable cleanup tasks for MicroBuild + enableMicrobuild: false + # Enable cleanup tasks for MicroBuild on Mac and Linux + # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT' + enableMicrobuildForMacAndLinux: false + continueOnError: false + +steps: + - ${{ if eq(parameters.enableMicrobuild, 'true') }}: + - task: MicroBuildCleanup@1 + displayName: Execute Microbuild cleanup tasks + condition: and( + always(), + or( + and( + eq(variables['Agent.Os'], 'Windows_NT'), + in(variables['_SignType'], 'real', 'test') + ), + and( + ${{ eq(parameters.enableMicrobuildForMacAndLinux, true) }}, + ne(variables['Agent.Os'], 'Windows_NT'), + eq(variables['_SignType'], 'real') + ) + )) + continueOnError: ${{ parameters.continueOnError }} + env: + TeamName: $(_TeamName) diff --git a/eng/common/core-templates/steps/generate-sbom.yml b/eng/common/core-templates/steps/generate-sbom.yml index 7f5b84c4cb82..c05f65027979 100644 --- a/eng/common/core-templates/steps/generate-sbom.yml +++ b/eng/common/core-templates/steps/generate-sbom.yml @@ -5,7 +5,7 @@ # IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector. parameters: - PackageVersion: 9.0.0 + PackageVersion: 10.0.0 BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' PackageName: '.NET' ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom diff --git a/eng/common/core-templates/steps/get-delegation-sas.yml b/eng/common/core-templates/steps/get-delegation-sas.yml index 9db5617ea7de..d2901470a7f0 100644 --- a/eng/common/core-templates/steps/get-delegation-sas.yml +++ b/eng/common/core-templates/steps/get-delegation-sas.yml @@ -31,16 +31,7 @@ steps: # Calculate the expiration of the SAS token and convert to UTC $expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") - # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads - # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484 - $sas = "" - do { - $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv - if ($LASTEXITCODE -ne 0) { - Write-Error "Failed to generate SAS token." - exit 1 - } - } while($sas.IndexOf('/') -ne -1) + $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv if ($LASTEXITCODE -ne 0) { Write-Error "Failed to generate SAS token." diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml new file mode 100644 index 000000000000..553fce66b940 --- /dev/null +++ b/eng/common/core-templates/steps/install-microbuild.yml @@ -0,0 +1,110 @@ +parameters: + # Enable install tasks for MicroBuild + enableMicrobuild: false + # Enable install tasks for MicroBuild on Mac and Linux + # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT' + enableMicrobuildForMacAndLinux: false + # Determines whether the ESRP service connection information should be passed to the signing plugin. + # This overlaps with _SignType to some degree. We only need the service connection for real signing. + # It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place. + # Doing so will cause the service connection to be authorized for the pipeline, which isn't allowed and won't work for non-prod. + # Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The + # variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough. + microbuildUseESRP: true + # Microbuild installation directory + microBuildOutputFolder: $(Agent.TempDirectory)/MicroBuild + + continueOnError: false + +steps: + - ${{ if eq(parameters.enableMicrobuild, 'true') }}: + - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}: + # Needed to download the MicroBuild plugin nupkgs on Mac and Linux when nuget.exe is unavailable + - task: UseDotNet@2 + displayName: Install .NET 8.0 SDK for MicroBuild Plugin + inputs: + packageType: sdk + version: 8.0.x + installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + - script: | + set -euo pipefail + + # UseDotNet@2 prepends the dotnet executable path to the PATH variable, so we can call dotnet directly + version=$(dotnet --version) + cat << 'EOF' > ${{ parameters.microBuildOutputFolder }}/global.json + { + "sdk": { + "version": "$version", + "paths": [ + "${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild" + ], + "errorMessage": "The .NET SDK version $version is required to install the MicroBuild signing plugin." + } + } + EOF + displayName: 'Add global.json to MicroBuild Installation path' + workingDirectory: ${{ parameters.microBuildOutputFolder }} + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + - script: | + REM Check if ESRP is disabled while SignType is real + if /I "${{ parameters.microbuildUseESRP }}"=="false" if /I "$(_SignType)"=="real" ( + echo Error: ESRP must be enabled when SignType is real. + exit /b 1 + ) + displayName: 'Validate ESRP usage (Windows)' + condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT')) + - script: | + # Check if ESRP is disabled while SignType is real + if [ "${{ parameters.microbuildUseESRP }}" = "false" ] && [ "$(_SignType)" = "real" ]; then + echo "Error: ESRP must be enabled when SignType is real." + exit 1 + fi + displayName: 'Validate ESRP usage (Non-Windows)' + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + + # Two different MB install steps. This is due to not being able to use the agent OS during + # YAML expansion, and Windows vs. Linux/Mac uses different service connections. However, + # we can avoid including the MB install step if not enabled at all. This avoids a bunch of + # extra pipeline authorizations, since most pipelines do not sign on non-Windows. + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin (Windows) + inputs: + signType: $(_SignType) + zipSources: false + feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea + ${{ else }}: + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca + env: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + continueOnError: ${{ parameters.continueOnError }} + condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test')) + + - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}: + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin (non-Windows) + inputs: + signType: $(_SignType) + zipSources: false + feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + workingDirectory: ${{ parameters.microBuildOutputFolder }} + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39 + ${{ else }}: + ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc + env: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + continueOnError: ${{ parameters.continueOnError }} + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real')) diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 0623ac6e1123..a9ea99ba6aaa 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -26,15 +26,18 @@ steps: # If the file exists - sensitive data for redaction will be sourced from it # (single entry per line, lines starting with '# ' are considered comments and skipped) arguments: -InputPath '$(System.DefaultWorkingDirectory)/PostBuildLogs' - -BinlogToolVersion ${{parameters.BinlogToolVersion}} + -BinlogToolVersion '${{parameters.BinlogToolVersion}}' -TokensFilePath '$(System.DefaultWorkingDirectory)/eng/BinlogSecretsRedactionFile.txt' + -runtimeSourceFeed https://ci.dot.net/internal + -runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)' '$(publishing-dnceng-devdiv-code-r-build-re)' - '$(MaestroAccessToken)' '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' '$(microsoft-symbol-server-pat)' '$(symweb-symbol-server-pat)' + '$(dnceng-symbol-server-pat)' '$(dn-bot-all-orgs-build-rw-code-rw)' + '$(System.AccessToken)' ${{parameters.CustomSensitiveDataList}} continueOnError: true condition: always() @@ -45,6 +48,7 @@ steps: SourceFolder: '$(System.DefaultWorkingDirectory)/PostBuildLogs' Contents: '**' TargetFolder: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' + condition: always() - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml index 7846584d2a77..b9c86c18ae42 100644 --- a/eng/common/core-templates/steps/source-build.yml +++ b/eng/common/core-templates/steps/source-build.yml @@ -11,10 +11,6 @@ parameters: # for details. The entire object is described in the 'job' template for simplicity, even though # the usage of the properties on this object is split between the 'job' and 'steps' templates. platform: {} - - # Optional list of directories to ignore for component governance scans. - componentGovernanceIgnoreDirectories: [] - is1ESPipeline: false steps: @@ -23,25 +19,12 @@ steps: set -x df -h - # If file changes are detected, set CopyWipIntoInnerSourceBuildRepo to copy the WIP changes into the inner source build repo. - internalRestoreArgs= - if ! git diff --quiet; then - internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true' - # The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo. - # This only works if there is a username/email configured, which won't be the case in most CI runs. - git config --get user.email - if [ $? -ne 0 ]; then - git config user.email dn-bot@microsoft.com - git config user.name dn-bot - fi - fi - # If building on the internal project, the internal storage variable may be available (usually only if needed) # In that case, add variables to allow the download of internal runtimes if the specified versions are not found # in the default public locations. internalRuntimeDownloadArgs= if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then - internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)' + internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey '$(dotnetbuilds-internal-container-read-token-base64)'' fi buildConfig=Release @@ -50,88 +33,33 @@ steps: buildConfig='$(_BuildConfig)' fi - officialBuildArgs= - if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then - officialBuildArgs='/p:DotNetPublishUsingPipelines=true /p:OfficialBuildId=$(BUILD.BUILDNUMBER)' - fi - targetRidArgs= if [ '${{ parameters.platform.targetRID }}' != '' ]; then targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}' fi - runtimeOsArgs= - if [ '${{ parameters.platform.runtimeOS }}' != '' ]; then - runtimeOsArgs='/p:RuntimeOS=${{ parameters.platform.runtimeOS }}' - fi - - baseOsArgs= - if [ '${{ parameters.platform.baseOS }}' != '' ]; then - baseOsArgs='/p:BaseOS=${{ parameters.platform.baseOS }}' - fi - - publishArgs= - if [ '${{ parameters.platform.skipPublishValidation }}' != 'true' ]; then - publishArgs='--publish' - fi - - assetManifestFileName=SourceBuild_RidSpecific.xml - if [ '${{ parameters.platform.name }}' != '' ]; then - assetManifestFileName=SourceBuild_${{ parameters.platform.name }}.xml + portableBuildArgs= + if [ '${{ parameters.platform.portableBuild }}' != '' ]; then + portableBuildArgs='/p:PortableBuild=${{ parameters.platform.portableBuild }}' fi ${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \ --configuration $buildConfig \ - --restore --build --pack $publishArgs -bl \ + --restore --build --pack -bl \ + --source-build \ ${{ parameters.platform.buildArguments }} \ - $officialBuildArgs \ $internalRuntimeDownloadArgs \ - $internalRestoreArgs \ $targetRidArgs \ - $runtimeOsArgs \ - $baseOsArgs \ - /p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \ - /p:ArcadeBuildFromSource=true \ - /p:DotNetBuildSourceOnly=true \ - /p:DotNetBuildRepo=true \ - /p:AssetManifestFileName=$assetManifestFileName + $portableBuildArgs \ displayName: Build -# Upload build logs for diagnosis. -- task: CopyFiles@2 - displayName: Prepare BuildLogs staging directory - inputs: - SourceFolder: '$(System.DefaultWorkingDirectory)' - Contents: | - **/*.log - **/*.binlog - artifacts/sb/prebuilt-report/** - TargetFolder: '$(Build.StagingDirectory)/BuildLogs' - CleanTargetFolder: true - continueOnError: true - condition: succeededOrFailed() - - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: displayName: Publish BuildLogs - targetPath: '$(Build.StagingDirectory)/BuildLogs' + targetPath: artifacts/log/${{ coalesce(variables._BuildConfig, 'Release') }} artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt) continueOnError: true condition: succeededOrFailed() sbomEnabled: false # we don't need SBOM for logs - -# Manually inject component detection so that we can ignore the source build upstream cache, which contains -# a nupkg cache of input packages (a local feed). -# This path must match the upstream cache path in property 'CurrentRepoSourceBuiltNupkgCacheDir' -# in src\Microsoft.DotNet.Arcade.Sdk\tools\SourceBuild\SourceBuildArcade.targets -- template: /eng/common/core-templates/steps/component-governance.yml - parameters: - displayName: Component Detection (Exclude upstream cache) - is1ESPipeline: ${{ parameters.is1ESPipeline }} - ${{ if eq(length(parameters.componentGovernanceIgnoreDirectories), 0) }}: - componentGovernanceIgnoreDirectories: '$(System.DefaultWorkingDirectory)/artifacts/sb/src/artifacts/obj/source-built-upstream-cache' - ${{ else }}: - componentGovernanceIgnoreDirectories: ${{ join(',', parameters.componentGovernanceIgnoreDirectories) }} - disableComponentGovernance: ${{ eq(variables['System.TeamProject'], 'public') }} diff --git a/eng/common/core-templates/steps/source-index-stage1-publish.yml b/eng/common/core-templates/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..e9a694afa58e --- /dev/null +++ b/eng/common/core-templates/steps/source-index-stage1-publish.yml @@ -0,0 +1,35 @@ +parameters: + sourceIndexUploadPackageVersion: 2.0.0-20250818.1 + sourceIndexProcessBinlogPackageVersion: 1.0.1-20250818.1 + sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json + binlogPath: artifacts/log/Debug/Build.binlog + +steps: +- task: UseDotNet@2 + displayName: "Source Index: Use .NET 9 SDK" + inputs: + packageType: sdk + version: 9.0.x + installationPath: $(Agent.TempDirectory)/dotnet + workingDirectory: $(Agent.TempDirectory) + +- script: | + $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + displayName: "Source Index: Download netsourceindex Tools" + # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. + workingDirectory: $(Agent.TempDirectory) + +- script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i ${{parameters.BinlogPath}} -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output + displayName: "Source Index: Process Binlog into indexable sln" + +- ${{ if and(ne(parameters.runAsPublic, 'true'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - task: AzureCLI@2 + displayName: "Source Index: Upload Source Index stage1 artifacts to Azure" + inputs: + azureSubscription: 'SourceDotNet Stage1 Publish' + addSpnToEnvironment: true + scriptType: 'ps' + scriptLocation: 'inlineScript' + inlineScript: | + $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1 diff --git a/eng/common/cross/arm64/tizen/tizen.patch b/eng/common/cross/arm64/tizen/tizen.patch index af7c8be05906..2cebc547382e 100644 --- a/eng/common/cross/arm64/tizen/tizen.patch +++ b/eng/common/cross/arm64/tizen/tizen.patch @@ -5,5 +5,5 @@ diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf64-littleaarch64) --GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) ) +-GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-aarch64.so.1 ) ) +GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux-aarch64.so.1 ) ) diff --git a/eng/common/cross/build-android-rootfs.sh b/eng/common/cross/build-android-rootfs.sh index 7e9ba2b75ed3..fbd8d80848a6 100755 --- a/eng/common/cross/build-android-rootfs.sh +++ b/eng/common/cross/build-android-rootfs.sh @@ -6,10 +6,11 @@ usage() { echo "Creates a toolchain and sysroot used for cross-compiling for Android." echo - echo "Usage: $0 [BuildArch] [ApiLevel]" + echo "Usage: $0 [BuildArch] [ApiLevel] [--ndk NDKVersion]" echo echo "BuildArch is the target architecture of Android. Currently only arm64 is supported." echo "ApiLevel is the target Android API level. API levels usually match to Android releases. See https://source.android.com/source/build-numbers.html" + echo "NDKVersion is the version of Android NDK. The default is r21. See https://developer.android.com/ndk/downloads/revision_history" echo echo "By default, the toolchain and sysroot will be generated in cross/android-rootfs/toolchain/[BuildArch]. You can change this behavior" echo "by setting the TOOLCHAIN_DIR environment variable" @@ -25,10 +26,15 @@ __BuildArch=arm64 __AndroidArch=aarch64 __AndroidToolchain=aarch64-linux-android -for i in "$@" - do - lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")" - case $lowerI in +while :; do + if [[ "$#" -le 0 ]]; then + break + fi + + i=$1 + + lowerI="$(echo $i | tr "[:upper:]" "[:lower:]")" + case $lowerI in -?|-h|--help) usage exit 1 @@ -43,6 +49,10 @@ for i in "$@" __AndroidArch=arm __AndroidToolchain=arm-linux-androideabi ;; + --ndk) + shift + __NDK_Version=$1 + ;; *[0-9]) __ApiLevel=$i ;; @@ -50,8 +60,17 @@ for i in "$@" __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i" ;; esac + shift done +if [[ "$__NDK_Version" == "r21" ]] || [[ "$__NDK_Version" == "r22" ]]; then + __NDK_File_Arch_Spec=-x86_64 + __SysRoot=sysroot +else + __NDK_File_Arch_Spec= + __SysRoot=toolchains/llvm/prebuilt/linux-x86_64/sysroot +fi + # Obtain the location of the bash script to figure out where the root of the repo is. __ScriptBaseDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -78,6 +97,7 @@ fi echo "Target API level: $__ApiLevel" echo "Target architecture: $__BuildArch" +echo "NDK version: $__NDK_Version" echo "NDK location: $__NDK_Dir" echo "Target Toolchain location: $__ToolchainDir" @@ -85,8 +105,8 @@ echo "Target Toolchain location: $__ToolchainDir" if [ ! -d $__NDK_Dir ]; then echo Downloading the NDK into $__NDK_Dir mkdir -p $__NDK_Dir - wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux-x86_64.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip - unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux-x86_64.zip -d $__CrossDir + wget -q --progress=bar:force:noscroll --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux$__NDK_File_Arch_Spec.zip -O $__CrossDir/android-ndk-$__NDK_Version-linux.zip + unzip -q $__CrossDir/android-ndk-$__NDK_Version-linux.zip -d $__CrossDir fi if [ ! -d $__lldb_Dir ]; then @@ -116,16 +136,11 @@ for path in $(wget -qO- https://packages.termux.dev/termux-main-21/dists/stable/ fi done -cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/sysroot/usr/" +cp -R "$__TmpDir/data/data/com.termux/files/usr/"* "$__ToolchainDir/$__SysRoot/usr/" # Generate platform file for build.sh script to assign to __DistroRid echo "Generating platform file..." -echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/sysroot/android_platform - -echo "Now to build coreclr, libraries and installers; run:" -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory coreclr -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory libraries -echo ROOTFS_DIR=\$\(realpath $__ToolchainDir/sysroot\) ./build.sh --cross --arch $__BuildArch \ - --subsetCategory installer +echo "RID=android.${__ApiLevel}-${__BuildArch}" > $__ToolchainDir/$__SysRoot/android_platform + +echo "Now to build coreclr, libraries and host; run:" +echo ROOTFS_DIR=$(realpath $__ToolchainDir/$__SysRoot) ./build.sh clr+libs+host --cross --arch $__BuildArch diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 4b5e8d7166bd..8abfb71f7275 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -5,7 +5,7 @@ set -e usage() { echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [llvmx[.y]] [--skipunmount] --rootfsdir ]" - echo "BuildArch can be: arm(default), arm64, armel, armv6, ppc64le, riscv64, s390x, x64, x86" + echo "BuildArch can be: arm(default), arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64, x86" echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine" echo " for alpine can be specified with version: alpineX.YY or alpineedge" echo " for FreeBSD can be: freebsd13, freebsd14" @@ -15,6 +15,7 @@ usage() echo "llvmx[.y] - optional, LLVM version for LLVM related packages." echo "--skipunmount - optional, will skip the unmount of rootfs folder." echo "--skipsigcheck - optional, will skip package signature checks (allowing untrusted packages)." + echo "--skipemulation - optional, will skip qemu and debootstrap requirement when building environment for debian based systems." echo "--use-mirror - optional, use mirror URL to fetch resources, when available." echo "--jobs N - optional, restrict to N jobs." exit 1 @@ -52,28 +53,27 @@ __UbuntuPackages+=" symlinks" __UbuntuPackages+=" libicu-dev" __UbuntuPackages+=" liblttng-ust-dev" __UbuntuPackages+=" libunwind8-dev" -__UbuntuPackages+=" libnuma-dev" __AlpinePackages+=" gettext-dev" __AlpinePackages+=" icu-dev" __AlpinePackages+=" libunwind-dev" __AlpinePackages+=" lttng-ust-dev" __AlpinePackages+=" compiler-rt" -__AlpinePackages+=" numactl-dev" # runtime libraries' dependencies __UbuntuPackages+=" libcurl4-openssl-dev" __UbuntuPackages+=" libkrb5-dev" __UbuntuPackages+=" libssl-dev" __UbuntuPackages+=" zlib1g-dev" +__UbuntuPackages+=" libbrotli-dev" __AlpinePackages+=" curl-dev" __AlpinePackages+=" krb5-dev" __AlpinePackages+=" openssl-dev" __AlpinePackages+=" zlib-dev" -__FreeBSDBase="13.3-RELEASE" -__FreeBSDPkg="1.17.0" +__FreeBSDBase="13.4-RELEASE" +__FreeBSDPkg="1.21.3" __FreeBSDABI="13" __FreeBSDPackages="libunwind" __FreeBSDPackages+=" icu" @@ -91,18 +91,18 @@ __HaikuPackages="gcc_syslibs" __HaikuPackages+=" gcc_syslibs_devel" __HaikuPackages+=" gmp" __HaikuPackages+=" gmp_devel" -__HaikuPackages+=" icu66" -__HaikuPackages+=" icu66_devel" +__HaikuPackages+=" icu[0-9]+" +__HaikuPackages+=" icu[0-9]*_devel" __HaikuPackages+=" krb5" __HaikuPackages+=" krb5_devel" __HaikuPackages+=" libiconv" __HaikuPackages+=" libiconv_devel" -__HaikuPackages+=" llvm12_libunwind" -__HaikuPackages+=" llvm12_libunwind_devel" +__HaikuPackages+=" llvm[0-9]*_libunwind" +__HaikuPackages+=" llvm[0-9]*_libunwind_devel" __HaikuPackages+=" mpfr" __HaikuPackages+=" mpfr_devel" -__HaikuPackages+=" openssl" -__HaikuPackages+=" openssl_devel" +__HaikuPackages+=" openssl3" +__HaikuPackages+=" openssl3_devel" __HaikuPackages+=" zlib" __HaikuPackages+=" zlib_devel" @@ -128,10 +128,12 @@ __AlpineKeys=' 616adfeb:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU\npNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X\n0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6\nADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ\nraQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy\nKLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj\n/QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H\nKuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs\nmFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1\n/J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq\nXIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4\nVORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ== 616ae350:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0\nXkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ\npiM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46\nxLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP\nODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM\nEyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr\nDzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+\nf53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF\nHwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk\nOk9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6\n9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT\nJZDr++FjKrnnijbyNF8b98UCAwEAAQ== 616db30d:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0\nlIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm\na6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw\ntO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C\nUS/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP\nhP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv\nLSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0\nx9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF\nwmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG\nLPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV\nGZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C\n8CM1S15HxV78s9dFntEqIokCAwEAAQ== +66ba20fe:MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfB12w4ZgqsXWZDfUAV/\n6Y4aHUKIu3q4SXrNZ7CXF9nXoAVYrS7NAxJdAodsY3vPCN0g5O8DFXR+390LdOuQ\n+HsGKCc1k5tX5ZXld37EZNTNSbR0k+NKhd9h6X3u6wqPOx7SIKxwAQR8qeeFq4pP\nrt9GAGlxtuYgzIIcKJPwE0dZlcBCg+GnptCUZXp/38BP1eYC+xTXSL6Muq1etYfg\nodXdb7Yl+2h1IHuOwo5rjgY5kpY7GcAs8AjGk3lDD/av60OTYccknH0NCVSmPoXK\nvrxDBOn0LQRNBLcAfnTKgHrzy0Q5h4TNkkyTgxkoQw5ObDk9nnabTxql732yy9BY\ns+hM9+dSFO1HKeVXreYSA2n1ndF18YAvAumzgyqzB7I4pMHXq1kC/8bONMJxwSkS\nYm6CoXKyavp7RqGMyeVpRC7tV+blkrrUml0BwNkxE+XnwDRB3xDV6hqgWe0XrifD\nYTfvd9ScZQP83ip0r4IKlq4GMv/R5shcCRJSkSZ6QSGshH40JYSoiwJf5FHbj9ND\n7do0UAqebWo4yNx63j/wb2ULorW3AClv0BCFSdPsIrCStiGdpgJDBR2P2NZOCob3\nG9uMj+wJD6JJg2nWqNJxkANXX37Qf8plgzssrhrgOvB0fjjS7GYhfkfmZTJ0wPOw\nA8+KzFseBh4UFGgue78KwgkCAwEAAQ== ' __Keyring= __KeyringFile="/usr/share/keyrings/ubuntu-archive-keyring.gpg" __SkipSigCheck=0 +__SkipEmulation=0 __UseMirror=0 __UnprocessedBuildArgs= @@ -162,9 +164,13 @@ while :; do armel) __BuildArch=armel __UbuntuArch=armel - __UbuntuRepo="http://ftp.debian.org/debian/" - __CodeName=jessie + __UbuntuRepo="http://archive.debian.org/debian/" + __CodeName=buster __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + __LLDB_Package="liblldb-6.0-dev" + __UbuntuPackages="${__UbuntuPackages// libomp-dev/}" + __UbuntuPackages="${__UbuntuPackages// libomp5/}" + __UbuntuSuites= ;; armv6) __BuildArch=armv6 @@ -180,6 +186,18 @@ while :; do __Keyring="--keyring $__KeyringFile" fi ;; + loongarch64) + __BuildArch=loongarch64 + __AlpineArch=loongarch64 + __QEMUArch=loongarch64 + __UbuntuArch=loong64 + __UbuntuSuites=unreleased + __LLDB_Package="liblldb-19-dev" + + if [[ "$__CodeName" == "sid" ]]; then + __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" + fi + ;; riscv64) __BuildArch=riscv64 __AlpineArch=riscv64 @@ -264,44 +282,21 @@ while :; do ;; xenial) # Ubuntu 16.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=xenial - fi - ;; - zesty) # Ubuntu 17.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=zesty - fi + __CodeName=xenial ;; bionic) # Ubuntu 18.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=bionic - fi + __CodeName=bionic ;; focal) # Ubuntu 20.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=focal - fi + __CodeName=focal ;; jammy) # Ubuntu 22.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=jammy - fi + __CodeName=jammy ;; noble) # Ubuntu 24.04 - if [[ "$__CodeName" != "jessie" ]]; then - __CodeName=noble - fi - if [[ -n "$__LLDB_Package" ]]; then - __LLDB_Package="liblldb-18-dev" - fi - ;; - jessie) # Debian 8 - __CodeName=jessie - __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" - - if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __CodeName=noble + if [[ -z "$__LLDB_Package" ]]; then + __LLDB_Package="liblldb-19-dev" fi ;; stretch) # Debian 9 @@ -319,7 +314,7 @@ while :; do __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + __UbuntuRepo="http://archive.debian.org/debian/" fi ;; bullseye) # Debian 11 @@ -340,10 +335,28 @@ while :; do ;; sid) # Debian sid __CodeName=sid - __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + __UbuntuSuites= - if [[ -z "$__UbuntuRepo" ]]; then - __UbuntuRepo="http://ftp.debian.org/debian/" + # Debian-Ports architectures need different values + case "$__UbuntuArch" in + amd64|arm64|armel|armhf|i386|mips64el|ppc64el|riscv64|s390x) + __KeyringFile="/usr/share/keyrings/debian-archive-keyring.gpg" + + if [[ -z "$__UbuntuRepo" ]]; then + __UbuntuRepo="http://ftp.debian.org/debian/" + fi + ;; + *) + __KeyringFile="/usr/share/keyrings/debian-ports-archive-keyring.gpg" + + if [[ -z "$__UbuntuRepo" ]]; then + __UbuntuRepo="http://ftp.ports.debian.org/debian-ports/" + fi + ;; + esac + + if [[ -e "$__KeyringFile" ]]; then + __Keyring="--keyring $__KeyringFile" fi ;; tizen) @@ -370,7 +383,7 @@ while :; do ;; freebsd14) __CodeName=freebsd - __FreeBSDBase="14.0-RELEASE" + __FreeBSDBase="14.2-RELEASE" __FreeBSDABI="14" __SkipUnmount=1 ;; @@ -388,6 +401,9 @@ while :; do --skipsigcheck) __SkipSigCheck=1 ;; + --skipemulation) + __SkipEmulation=1 + ;; --rootfsdir|-rootfsdir) shift __RootfsDir="$1" @@ -420,16 +436,15 @@ case "$__AlpineVersion" in elif [[ "$__AlpineArch" == "x86" ]]; then __AlpineVersion=3.17 # minimum version that supports lldb-dev __AlpinePackages+=" llvm15-libs" - elif [[ "$__AlpineArch" == "riscv64" ]]; then + elif [[ "$__AlpineArch" == "riscv64" || "$__AlpineArch" == "loongarch64" ]]; then + __AlpineVersion=3.21 # minimum version that supports lldb-dev + __AlpinePackages+=" llvm19-libs" + elif [[ -n "$__AlpineMajorVersion" ]]; then + # use whichever alpine version is provided and select the latest toolchain libs __AlpineLlvmLibsLookup=1 - __AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive) else __AlpineVersion=3.13 # 3.13 to maximize compatibility __AlpinePackages+=" llvm10-libs" - - if [[ "$__AlpineArch" == "armv7" ]]; then - __AlpinePackages="${__AlpinePackages//numactl-dev/}" - fi fi esac @@ -439,15 +454,6 @@ if [[ "$__AlpineVersion" =~ 3\.1[345] ]]; then __AlpinePackages="${__AlpinePackages/compiler-rt/compiler-rt-static}" fi -if [[ "$__BuildArch" == "armel" ]]; then - __LLDB_Package="lldb-3.5-dev" -fi - -if [[ "$__CodeName" == "xenial" && "$__UbuntuArch" == "armhf" ]]; then - # libnuma-dev is not available on armhf for xenial - __UbuntuPackages="${__UbuntuPackages//libnuma-dev/}" -fi - __UbuntuPackages+=" ${__LLDB_Package:-}" if [[ -z "$__UbuntuRepo" ]]; then @@ -496,7 +502,7 @@ if [[ "$__CodeName" == "alpine" ]]; then arch="$(uname -m)" ensureDownloadTool - + if [[ "$__hasWget" == 1 ]]; then wget -P "$__ApkToolsDir" "https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v$__ApkToolsVersion/$arch/apk.static" else @@ -512,11 +518,6 @@ if [[ "$__CodeName" == "alpine" ]]; then echo "$__ApkToolsSHA512SUM $__ApkToolsDir/apk.static" | sha512sum -c chmod +x "$__ApkToolsDir/apk.static" - if [[ -f "/usr/bin/qemu-$__QEMUArch-static" ]]; then - mkdir -p "$__RootfsDir"/usr/bin - cp -v "/usr/bin/qemu-$__QEMUArch-static" "$__RootfsDir/usr/bin" - fi - if [[ "$__AlpineVersion" == "edge" ]]; then version=edge else @@ -536,6 +537,10 @@ if [[ "$__CodeName" == "alpine" ]]; then __ApkSignatureArg="--keys-dir $__ApkKeysDir" fi + if [[ "$__SkipEmulation" == "1" ]]; then + __NoEmulationArg="--no-scripts" + fi + # initialize DB # shellcheck disable=SC2086 "$__ApkToolsDir/apk.static" \ @@ -557,7 +562,7 @@ if [[ "$__CodeName" == "alpine" ]]; then "$__ApkToolsDir/apk.static" \ -X "http://dl-cdn.alpinelinux.org/alpine/$version/main" \ -X "http://dl-cdn.alpinelinux.org/alpine/$version/community" \ - -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" \ + -U $__ApkSignatureArg --root "$__RootfsDir" --arch "$__AlpineArch" $__NoEmulationArg \ add $__AlpinePackages rm -r "$__ApkToolsDir" @@ -573,7 +578,7 @@ elif [[ "$__CodeName" == "freebsd" ]]; then curl -SL "https://download.freebsd.org/ftp/releases/${__FreeBSDArch}/${__FreeBSDMachineArch}/${__FreeBSDBase}/base.txz" | tar -C "$__RootfsDir" -Jxf - ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc ./bin/freebsd-version fi echo "ABI = \"FreeBSD:${__FreeBSDABI}:${__FreeBSDMachineArch}\"; FINGERPRINTS = \"${__RootfsDir}/usr/share/keys\"; REPOS_DIR = [\"${__RootfsDir}/etc/pkg\"]; REPO_AUTOUPDATE = NO; RUN_SCRIPTS = NO;" > "${__RootfsDir}"/usr/local/etc/pkg.conf - echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"${__RootfsDir}/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf + echo "FreeBSD: { url: \"pkg+http://pkg.FreeBSD.org/\${ABI}/quarterly\", mirror_type: \"srv\", signature_type: \"fingerprints\", fingerprints: \"/usr/share/keys/pkg\", enabled: yes }" > "${__RootfsDir}"/etc/pkg/FreeBSD.conf mkdir -p "$__RootfsDir"/tmp # get and build package manager if [[ "$__hasWget" == 1 ]]; then @@ -681,7 +686,7 @@ elif [[ "$__CodeName" == "haiku" ]]; then ensureDownloadTool - echo "Downloading Haiku package tool" + echo "Downloading Haiku package tools" git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 "$__RootfsDir/tmp/script" if [[ "$__hasWget" == 1 ]]; then wget -O "$__RootfsDir/tmp/download/hosttools.zip" "$("$__RootfsDir/tmp/script/fetch.sh" --hosttools)" @@ -691,34 +696,42 @@ elif [[ "$__CodeName" == "haiku" ]]; then unzip -o "$__RootfsDir/tmp/download/hosttools.zip" -d "$__RootfsDir/tmp/bin" - DepotBaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg" - HpkgBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current" + HaikuBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current" + HaikuPortsBaseUrl="https://eu.hpkg.haiku-os.org/haikuports/master/$__HaikuArch/current" + + echo "Downloading HaikuPorts package repository index..." + if [[ "$__hasWget" == 1 ]]; then + wget -P "$__RootfsDir/tmp/download" "$HaikuPortsBaseUrl/repo" + else + curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HaikuPortsBaseUrl/repo" + fi - # Download Haiku packages echo "Downloading Haiku packages" read -ra array <<<"$__HaikuPackages" for package in "${array[@]}"; do echo "Downloading $package..." - # API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60 - # The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598 + hpkgFilename="$(LD_LIBRARY_PATH="$__RootfsDir/tmp/bin" "$__RootfsDir/tmp/bin/package_repo" list -f "$__RootfsDir/tmp/download/repo" | + grep -E "${package}-" | sort -V | tail -n 1 | xargs)" + if [ -z "$hpkgFilename" ]; then + >&2 echo "ERROR: package $package missing." + exit 1 + fi + echo "Resolved filename: $hpkgFilename..." + hpkgDownloadUrl="$HaikuPortsBaseUrl/packages/$hpkgFilename" if [[ "$__hasWget" == 1 ]]; then - hpkgDownloadUrl="$(wget -qO- --post-data '{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \ - --header 'Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')" wget -P "$__RootfsDir/tmp/download" "$hpkgDownloadUrl" else - hpkgDownloadUrl="$(curl -sSL -XPOST --data '{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \ - --header 'Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')" curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$hpkgDownloadUrl" fi done for package in haiku haiku_devel; do echo "Downloading $package..." if [[ "$__hasWget" == 1 ]]; then - hpkgVersion="$(wget -qO- "$HpkgBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" - wget -P "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" + hpkgVersion="$(wget -qO- "$HaikuBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" + wget -P "$__RootfsDir/tmp/download" "$HaikuBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" else - hpkgVersion="$(curl -sSL "$HpkgBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" - curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" + hpkgVersion="$(curl -sSL "$HaikuBaseUrl" | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')" + curl -SLO --create-dirs --output-dir "$__RootfsDir/tmp/download" "$HaikuBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg" fi done @@ -744,25 +757,67 @@ elif [[ "$__CodeName" == "haiku" ]]; then popd rm -rf "$__RootfsDir/tmp" elif [[ -n "$__CodeName" ]]; then + __Suites="$__CodeName $(for suite in $__UbuntuSuites; do echo -n "$__CodeName-$suite "; done)" + + if [[ "$__SkipEmulation" == "1" ]]; then + if [[ -z "$AR" ]]; then + if command -v ar &>/dev/null; then + AR="$(command -v ar)" + elif command -v llvm-ar &>/dev/null; then + AR="$(command -v llvm-ar)" + else + echo "Unable to find ar or llvm-ar on PATH, add them to PATH or set AR environment variable pointing to the available AR tool" + exit 1 + fi + fi + + PYTHON=${PYTHON_EXECUTABLE:-python3} + + # shellcheck disable=SC2086,SC2046 + echo running "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ + $__UbuntuPackages + + # shellcheck disable=SC2086,SC2046 + "$PYTHON" "$__CrossDir/install-debs.py" --arch "$__UbuntuArch" --mirror "$__UbuntuRepo" --rootfsdir "$__RootfsDir" --artool "$AR" \ + $(for suite in $__Suites; do echo -n "--suite $suite "; done) \ + $__UbuntuPackages + exit 0 + fi + + __UpdateOptions= if [[ "$__SkipSigCheck" == "0" ]]; then __Keyring="$__Keyring --force-check-gpg" + else + __Keyring= + __UpdateOptions="--allow-unauthenticated --allow-insecure-repositories" fi # shellcheck disable=SC2086 echo running debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" - debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo" + # shellcheck disable=SC2086 + if ! debootstrap "--variant=minbase" $__Keyring --arch "$__UbuntuArch" "$__CodeName" "$__RootfsDir" "$__UbuntuRepo"; then + echo "debootstrap failed! dumping debootstrap.log" + cat "$__RootfsDir/debootstrap/debootstrap.log" + exit 1 + fi + + rm -rf "$__RootfsDir"/etc/apt/*.{sources,list} "$__RootfsDir"/etc/apt/sources.list.d mkdir -p "$__RootfsDir/etc/apt/sources.list.d/" + + # shellcheck disable=SC2086 cat > "$__RootfsDir/etc/apt/sources.list.d/$__CodeName.sources" < token2) - (token1 < token2) + else: + return -1 if isinstance(token1, str) else 1 + + return len(tokens1) - len(tokens2) + +def compare_debian_versions(version1, version2): + """Compare two Debian package versions.""" + epoch1, upstream1, revision1 = parse_debian_version(version1) + epoch2, upstream2, revision2 = parse_debian_version(version2) + + if epoch1 != epoch2: + return epoch1 - epoch2 + + result = compare_upstream_version(upstream1, upstream2) + if result != 0: + return result + + return compare_upstream_version(revision1, revision2) + +def resolve_dependencies(packages, aliases, desired_packages): + """Recursively resolves dependencies for the desired packages.""" + resolved = [] + to_process = deque(desired_packages) + + while to_process: + current = to_process.popleft() + resolved_package = current if current in packages else aliases.get(current, [None])[0] + + if not resolved_package: + print(f"Error: Package '{current}' was not found in the available packages.") + sys.exit(1) + + if resolved_package not in resolved: + resolved.append(resolved_package) + + deps = packages.get(resolved_package, {}).get("Depends", "") + if deps: + deps = [dep.split(' ')[0] for dep in deps.split(', ') if dep] + for dep in deps: + if dep not in resolved and dep not in to_process and dep in packages: + to_process.append(dep) + + return resolved + +def parse_package_index(content): + """Parses the Packages.gz file and returns package information.""" + packages = {} + aliases = {} + entries = re.split(r'\n\n+', content) + + for entry in entries: + fields = dict(re.findall(r'^(\S+): (.+)$', entry, re.MULTILINE)) + if "Package" in fields: + package_name = fields["Package"] + version = fields.get("Version") + filename = fields.get("Filename") + depends = fields.get("Depends") + provides = fields.get("Provides", None) + + # Only update if package_name is not in packages or if the new version is higher + if package_name not in packages or compare_debian_versions(version, packages[package_name]["Version"]) > 0: + packages[package_name] = { + "Version": version, + "Filename": filename, + "Depends": depends + } + + # Update aliases if package provides any alternatives + if provides: + provides_list = [x.strip() for x in provides.split(",")] + for alias in provides_list: + # Strip version specifiers + alias_name = re.sub(r'\s*\(=.*\)', '', alias) + if alias_name not in aliases: + aliases[alias_name] = [] + if package_name not in aliases[alias_name]: + aliases[alias_name].append(package_name) + + return packages, aliases + +def install_packages(mirror, packages_info, aliases, tmp_dir, extract_dir, ar_tool, desired_packages): + """Downloads .deb files and extracts them.""" + resolved_packages = resolve_dependencies(packages_info, aliases, desired_packages) + print(f"Resolved packages (including dependencies): {resolved_packages}") + + packages_to_download = {} + + for pkg in resolved_packages: + if pkg in packages_info: + packages_to_download[pkg] = packages_info[pkg] + + if pkg in aliases: + for alias in aliases[pkg]: + if alias in packages_info: + packages_to_download[alias] = packages_info[alias] + + asyncio.run(download_deb_files_parallel(mirror, packages_to_download, tmp_dir)) + + package_to_deb_file_map = {} + for pkg in resolved_packages: + pkg_info = packages_info.get(pkg) + if pkg_info: + deb_filename = pkg_info.get("Filename") + if deb_filename: + deb_file_path = os.path.join(tmp_dir, os.path.basename(deb_filename)) + package_to_deb_file_map[pkg] = deb_file_path + + for pkg in reversed(resolved_packages): + deb_file = package_to_deb_file_map.get(pkg) + if deb_file and os.path.exists(deb_file): + extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool) + + print("All done!") + +def extract_deb_file(deb_file, tmp_dir, extract_dir, ar_tool): + """Extract .deb file contents""" + + os.makedirs(extract_dir, exist_ok=True) + + with tempfile.TemporaryDirectory(dir=tmp_dir) as tmp_subdir: + result = subprocess.run(f"{ar_tool} t {os.path.abspath(deb_file)}", cwd=tmp_subdir, check=True, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + tar_filename = None + for line in result.stdout.decode().splitlines(): + if line.startswith("data.tar"): + tar_filename = line.strip() + break + + if not tar_filename: + raise FileNotFoundError(f"Could not find 'data.tar.*' in {deb_file}.") + + tar_file_path = os.path.join(tmp_subdir, tar_filename) + print(f"Extracting {tar_filename} from {deb_file}..") + + subprocess.run(f"{ar_tool} p {os.path.abspath(deb_file)} {tar_filename} > {tar_file_path}", check=True, shell=True) + + file_extension = os.path.splitext(tar_file_path)[1].lower() + + if file_extension == ".xz": + mode = "r:xz" + elif file_extension == ".gz": + mode = "r:gz" + elif file_extension == ".zst": + # zstd is not supported by standard library yet + decompressed_tar_path = tar_file_path.replace(".zst", "") + with open(tar_file_path, "rb") as zst_file, open(decompressed_tar_path, "wb") as decompressed_file: + dctx = zstandard.ZstdDecompressor() + dctx.copy_stream(zst_file, decompressed_file) + + tar_file_path = decompressed_tar_path + mode = "r" + else: + raise ValueError(f"Unsupported compression format: {file_extension}") + + with tarfile.open(tar_file_path, mode) as tar: + tar.extractall(path=extract_dir, filter='fully_trusted') + +def finalize_setup(rootfsdir): + lib_dir = os.path.join(rootfsdir, 'lib') + usr_lib_dir = os.path.join(rootfsdir, 'usr', 'lib') + + if os.path.exists(lib_dir): + if os.path.islink(lib_dir): + os.remove(lib_dir) + else: + os.makedirs(usr_lib_dir, exist_ok=True) + + for item in os.listdir(lib_dir): + src = os.path.join(lib_dir, item) + dest = os.path.join(usr_lib_dir, item) + + if os.path.isdir(src): + shutil.copytree(src, dest, dirs_exist_ok=True) + else: + shutil.copy2(src, dest) + + shutil.rmtree(lib_dir) + + os.symlink(usr_lib_dir, lib_dir) + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Generate rootfs for .NET runtime on Debian-like OS") + parser.add_argument("--distro", required=False, help="Distro name (e.g., debian, ubuntu, etc.)") + parser.add_argument("--arch", required=True, help="Architecture (e.g., amd64, loong64, etc.)") + parser.add_argument("--rootfsdir", required=True, help="Destination directory.") + parser.add_argument('--suite', required=True, action='append', help='Specify one or more repository suites to collect index data.') + parser.add_argument("--mirror", required=False, help="Mirror (e.g., http://ftp.debian.org/debian-ports etc.)") + parser.add_argument("--artool", required=False, default="ar", help="ar tool to extract debs (e.g., ar, llvm-ar etc.)") + parser.add_argument("packages", nargs="+", help="List of package names to be installed.") + + args = parser.parse_args() + + if args.mirror is None: + if args.distro == "ubuntu": + args.mirror = "http://archive.ubuntu.com/ubuntu" if args.arch in ["amd64", "i386"] else "http://ports.ubuntu.com/ubuntu-ports" + elif args.distro == "debian": + args.mirror = "http://ftp.debian.org/debian-ports" + else: + raise Exception("Unsupported distro") + + DESIRED_PACKAGES = args.packages + [ # base packages + "dpkg", + "busybox", + "libc-bin", + "base-files", + "base-passwd", + "debianutils" + ] + + print(f"Creating rootfs. rootfsdir: {args.rootfsdir}, distro: {args.distro}, arch: {args.arch}, suites: {args.suite}, mirror: {args.mirror}") + + package_index_content = asyncio.run(download_package_index_parallel(args.mirror, args.arch, args.suite)) + + packages_info, aliases = parse_package_index(package_index_content) + + with tempfile.TemporaryDirectory() as tmp_dir: + install_packages(args.mirror, packages_info, aliases, tmp_dir, args.rootfsdir, args.artool, DESIRED_PACKAGES) + + finalize_setup(args.rootfsdir) diff --git a/eng/common/cross/tizen-build-rootfs.sh b/eng/common/cross/tizen-build-rootfs.sh old mode 100644 new mode 100755 diff --git a/eng/common/cross/tizen-fetch.sh b/eng/common/cross/tizen-fetch.sh old mode 100644 new mode 100755 index 28936ceef3a7..37c3a61f1de8 --- a/eng/common/cross/tizen-fetch.sh +++ b/eng/common/cross/tizen-fetch.sh @@ -156,13 +156,8 @@ fetch_tizen_pkgs() done } -if [ "$TIZEN_ARCH" == "riscv64" ]; then - BASE="Tizen-Base-RISCV" - UNIFIED="Tizen-Unified-RISCV" -else - BASE="Tizen-Base" - UNIFIED="Tizen-Unified" -fi +BASE="Tizen-Base" +UNIFIED="Tizen-Unified" Inform "Initialize ${TIZEN_ARCH} base" fetch_tizen_pkgs_init standard $BASE diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index 9a7ecfbd42c5..0ff85cf0367e 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -67,6 +67,13 @@ elseif(TARGET_ARCH_NAME STREQUAL "armv6") else() set(TOOLCHAIN "arm-linux-gnueabihf") endif() +elseif(TARGET_ARCH_NAME STREQUAL "loongarch64") + set(CMAKE_SYSTEM_PROCESSOR "loongarch64") + if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/loongarch64-alpine-linux-musl) + set(TOOLCHAIN "loongarch64-alpine-linux-musl") + else() + set(TOOLCHAIN "loongarch64-linux-gnu") + endif() elseif(TARGET_ARCH_NAME STREQUAL "ppc64le") set(CMAKE_SYSTEM_PROCESSOR ppc64le) if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/powerpc64le-alpine-linux-musl) @@ -118,7 +125,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86") set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu") endif() else() - message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!") + message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, loongarch64, ppc64le, riscv64, s390x, x64 and x86 are supported!") endif() if(DEFINED ENV{TOOLCHAIN}) @@ -148,6 +155,25 @@ if(TIZEN) include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN}) endif() +function(locate_toolchain_exec exec var) + set(TOOLSET_PREFIX ${TOOLCHAIN}-) + string(TOUPPER ${exec} EXEC_UPPERCASE) + if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") + set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) + return() + endif() + + find_program(EXEC_LOCATION_${exec} + NAMES + "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" + "${TOOLSET_PREFIX}${exec}") + + if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") + message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") + endif() + set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) +endfunction() + if(ANDROID) if(TARGET_ARCH_NAME STREQUAL "arm") set(ANDROID_ABI armeabi-v7a) @@ -178,66 +204,24 @@ elseif(FREEBSD) set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld") elseif(ILLUMOS) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") + set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") + set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") include_directories(SYSTEM ${CROSS_ROOTFS}/include) - set(TOOLSET_PREFIX ${TOOLCHAIN}-) - function(locate_toolchain_exec exec var) - string(TOUPPER ${exec} EXEC_UPPERCASE) - if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") - set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) - return() - endif() - - find_program(EXEC_LOCATION_${exec} - NAMES - "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" - "${TOOLSET_PREFIX}${exec}") - - if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") - message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") - endif() - set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) - endfunction() - - set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") - locate_toolchain_exec(gcc CMAKE_C_COMPILER) locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) - - set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") - set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") elseif(HAIKU) set(CMAKE_SYSROOT "${CROSS_ROOTFS}") set(CMAKE_PROGRAM_PATH "${CMAKE_PROGRAM_PATH};${CROSS_ROOTFS}/cross-tools-x86_64/bin") - - set(TOOLSET_PREFIX ${TOOLCHAIN}-) - function(locate_toolchain_exec exec var) - string(TOUPPER ${exec} EXEC_UPPERCASE) - if(NOT "$ENV{CLR_${EXEC_UPPERCASE}}" STREQUAL "") - set(${var} "$ENV{CLR_${EXEC_UPPERCASE}}" PARENT_SCOPE) - return() - endif() - - find_program(EXEC_LOCATION_${exec} - NAMES - "${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}" - "${TOOLSET_PREFIX}${exec}") - - if (EXEC_LOCATION_${exec} STREQUAL "EXEC_LOCATION_${exec}-NOTFOUND") - message(FATAL_ERROR "Unable to find toolchain executable. Name: ${exec}, Prefix: ${TOOLSET_PREFIX}.") - endif() - set(${var} ${EXEC_LOCATION_${exec}} PARENT_SCOPE) - endfunction() - set(CMAKE_SYSTEM_PREFIX_PATH "${CROSS_ROOTFS}") + set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") locate_toolchain_exec(gcc CMAKE_C_COMPILER) locate_toolchain_exec(g++ CMAKE_CXX_COMPILER) - set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lssp") - set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lssp") - # let CMake set up the correct search paths include(Platform/Haiku) else() @@ -307,7 +291,7 @@ endif() # Specify compile options -if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) +if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh index 36dbd45e1ce8..e889f439b8dc 100755 --- a/eng/common/darc-init.sh +++ b/eng/common/darc-init.sh @@ -68,7 +68,7 @@ function InstallDarcCli { fi fi - local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" + local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" echo "Installing Darc CLI version $darcVersion..." echo "You may need to restart your command shell if this is the first dotnet tool you have installed." diff --git a/eng/common/dotnet.cmd b/eng/common/dotnet.cmd new file mode 100644 index 000000000000..527fa4bb38fb --- /dev/null +++ b/eng/common/dotnet.cmd @@ -0,0 +1,7 @@ +@echo off + +:: This script is used to install the .NET SDK. +:: It will also invoke the SDK with any provided arguments. + +powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet.ps1""" %*" +exit /b %ErrorLevel% diff --git a/eng/common/dotnet.ps1 b/eng/common/dotnet.ps1 new file mode 100644 index 000000000000..45e5676c9ebd --- /dev/null +++ b/eng/common/dotnet.ps1 @@ -0,0 +1,11 @@ +# This script is used to install the .NET SDK. +# It will also invoke the SDK with any provided arguments. + +. $PSScriptRoot\tools.ps1 +$dotnetRoot = InitializeDotNetCli -install:$true + +# Invoke acquired SDK with args if they are provided +if ($args.count -gt 0) { + $env:DOTNET_NOLOGO=1 + & "$dotnetRoot\dotnet.exe" $args +} diff --git a/eng/common/dotnet.sh b/eng/common/dotnet.sh new file mode 100755 index 000000000000..2ef68235675f --- /dev/null +++ b/eng/common/dotnet.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# This script is used to install the .NET SDK. +# It will also invoke the SDK with any provided arguments. + +source="${BASH_SOURCE[0]}" +# resolve $SOURCE until the file is no longer a symlink +while [[ -h $source ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +source $scriptroot/tools.sh +InitializeDotNetCli true # install + +# Invoke acquired SDK with args if they are provided +if [[ $# > 0 ]]; then + __dotnetDir=${_InitializeDotNetCli} + dotnetPath=${__dotnetDir}/dotnet + ${dotnetPath} "$@" +fi diff --git a/eng/common/generate-locproject.ps1 b/eng/common/generate-locproject.ps1 index 524aaa57f2b7..fa1cdc2b3007 100644 --- a/eng/common/generate-locproject.ps1 +++ b/eng/common/generate-locproject.ps1 @@ -33,15 +33,27 @@ $jsonTemplateFiles | ForEach-Object { $jsonWinformsTemplateFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "en\\strings\.json" } # current winforms pattern +$wxlFilesV3 = @() +$wxlFilesV5 = @() $wxlFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\\.+\.wxl" -And -Not( $_.Directory.Name -Match "\d{4}" ) } # localized files live in four digit lang ID directories; this excludes them if (-not $wxlFiles) { $wxlEnFiles = Get-ChildItem -Recurse -Path "$SourcesDirectory" | Where-Object { $_.FullName -Match "\\1033\\.+\.wxl" } # pick up en files (1033 = en) specifically so we can copy them to use as the neutral xlf files if ($wxlEnFiles) { - $wxlFiles = @() - $wxlEnFiles | ForEach-Object { - $destinationFile = "$($_.Directory.Parent.FullName)\$($_.Name)" - $wxlFiles += Copy-Item "$($_.FullName)" -Destination $destinationFile -PassThru - } + $wxlFiles = @() + $wxlEnFiles | ForEach-Object { + $destinationFile = "$($_.Directory.Parent.FullName)\$($_.Name)" + $content = Get-Content $_.FullName -Raw + + # Split files on schema to select different parser settings in the generated project. + if ($content -like "*http://wixtoolset.org/schemas/v4/wxl*") + { + $wxlFilesV5 += Copy-Item $_.FullName -Destination $destinationFile -PassThru + } + elseif ($content -like "*http://schemas.microsoft.com/wix/2006/localization*") + { + $wxlFilesV3 += Copy-Item $_.FullName -Destination $destinationFile -PassThru + } + } } } @@ -114,7 +126,32 @@ $locJson = @{ CloneLanguageSet = "WiX_CloneLanguages" LssFiles = @( "wxl_loc.lss" ) LocItems = @( - $wxlFiles | ForEach-Object { + $wxlFilesV3 | ForEach-Object { + $outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\" + $continue = $true + foreach ($exclusion in $exclusions.Exclusions) { + if ($_.FullName.Contains($exclusion)) { + $continue = $false + } + } + $sourceFile = ($_.FullName | Resolve-Path -Relative) + if ($continue) + { + return @{ + SourceFile = $sourceFile + CopyOption = "LangIDOnPath" + OutputPath = $outputPath + } + } + } + ) + }, + @{ + LanguageSet = $LanguageSet + CloneLanguageSet = "WiX_CloneLanguages" + LssFiles = @( "P210WxlSchemaV4.lss" ) + LocItems = @( + $wxlFilesV5 | ForEach-Object { $outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\" $continue = $true foreach ($exclusion in $exclusions.Exclusions) { diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh old mode 100644 new mode 100755 diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh new file mode 100755 index 000000000000..477a44f335be --- /dev/null +++ b/eng/common/native/install-dependencies.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +set -e + +# This is a simple script primarily used for CI to install necessary dependencies +# +# Usage: +# +# ./install-dependencies.sh + +os="$(echo "$1" | tr "[:upper:]" "[:lower:]")" + +if [ -z "$os" ]; then + . "$(dirname "$0")"/init-os-and-arch.sh +fi + +case "$os" in + linux) + if [ -e /etc/os-release ]; then + . /etc/os-release + fi + + if [ "$ID" = "debian" ] || [ "$ID_LIKE" = "debian" ]; then + apt update + + apt install -y build-essential gettext locales cmake llvm clang lld lldb liblldb-dev libunwind8-dev libicu-dev liblttng-ust-dev \ + libssl-dev libkrb5-dev pigz cpio + + localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 + elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ]; then + pkg_mgr="$(command -v tdnf 2>/dev/null || command -v dnf)" + $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio + elif [ "$ID" = "alpine" ]; then + apk add build-base cmake bash curl clang llvm-dev lld lldb krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio + else + echo "Unsupported distro. distro: $ID" + exit 1 + fi + ;; + + osx|maccatalyst|ios|iossimulator|tvos|tvossimulator) + echo "Installed xcode version: $(xcode-select -p)" + + export HOMEBREW_NO_INSTALL_CLEANUP=1 + export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 + # Skip brew update for now, see https://github.com/actions/setup-python/issues/577 + # brew update --preinstall + brew bundle --no-upgrade --file=- < Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." + Write-Host " -excludeCIBinaryLog When running on CI, allow no binary log (short: -nobl)" Write-Host "" Write-Host "Command line arguments not listed above are passed thru to msbuild." } @@ -34,10 +39,11 @@ function Print-Usage() { function Build([string]$target) { $logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" } $log = Join-Path $LogDir "$task$logSuffix.binlog" + $binaryLogArg = if ($binaryLog) { "/bl:$log" } else { "" } $outputPath = Join-Path $ToolsetDir "$task\" MSBuild $taskProject ` - /bl:$log ` + $binaryLogArg ` /t:$target ` /p:Configuration=$configuration ` /p:RepoRoot=$RepoRoot ` @@ -64,7 +70,7 @@ try { $GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty } if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) { - $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.12.0" -MemberType NoteProperty + $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "18.0.0" -MemberType NoteProperty } if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") { $xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true diff --git a/eng/common/sdk-task.sh b/eng/common/sdk-task.sh new file mode 100755 index 000000000000..3270f83fa9a7 --- /dev/null +++ b/eng/common/sdk-task.sh @@ -0,0 +1,121 @@ +#!/usr/bin/env bash + +show_usage() { + echo "Common settings:" + echo " --task Name of Arcade task (name of a project in SdkTasks directory of the Arcade SDK package)" + echo " --restore Restore dependencies" + echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]" + echo " --help Print help and exit" + echo "" + + echo "Advanced settings:" + echo " --excludeCIBinarylog Don't output binary log (short: -nobl)" + echo " --noWarnAsError Do not warn as error" + echo "" + echo "Command line arguments not listed above are passed thru to msbuild." +} + +source="${BASH_SOURCE[0]}" + +# resolve $source until the file is no longer a symlink +while [[ -h "$source" ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +Build() { + local target=$1 + local log_suffix="" + [[ "$target" != "Execute" ]] && log_suffix=".$target" + local log="$log_dir/$task$log_suffix.binlog" + local binaryLogArg="" + [[ $binary_log == true ]] && binaryLogArg="/bl:$log" + local output_path="$toolset_dir/$task/" + + MSBuild "$taskProject" \ + $binaryLogArg \ + /t:"$target" \ + /p:Configuration="$configuration" \ + /p:RepoRoot="$repo_root" \ + /p:BaseIntermediateOutputPath="$output_path" \ + /v:"$verbosity" \ + $properties +} + +binary_log=true +configuration="Debug" +verbosity="minimal" +exclude_ci_binary_log=false +restore=false +help=false +properties='' +warnAsError=true + +while (($# > 0)); do + lowerI="$(echo $1 | tr "[:upper:]" "[:lower:]")" + case $lowerI in + --task) + task=$2 + shift 2 + ;; + --restore) + restore=true + shift 1 + ;; + --verbosity) + verbosity=$2 + shift 2 + ;; + --excludecibinarylog|--nobl) + binary_log=false + exclude_ci_binary_log=true + shift 1 + ;; + --noWarnAsError) + warnAsError=false + shift 1 + ;; + --help) + help=true + shift 1 + ;; + *) + properties="$properties $1" + shift 1 + ;; + esac +done + +ci=true + +if $help; then + show_usage + exit 0 +fi + +. "$scriptroot/tools.sh" +InitializeToolset + +if [[ -z "$task" ]]; then + Write-PipelineTelemetryError -Category 'Task' -Name 'MissingTask' -Message "Missing required parameter '-task '" + ExitWithExitCode 1 +fi + +taskProject=$(GetSdkTaskProject "$task") +if [[ ! -e "$taskProject" ]]; then + Write-PipelineTelemetryError -Category 'Task' -Name 'UnknownTask' -Message "Unknown task: $task" + ExitWithExitCode 1 +fi + +if $restore; then + Build "Restore" +fi + +Build "Execute" + + +ExitWithExitCode 0 diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config index 4585cfd6bba1..e5f543ea68c2 100644 --- a/eng/common/sdl/packages.config +++ b/eng/common/sdl/packages.config @@ -1,4 +1,4 @@ - + diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index 81ea7a261f2d..92a0664f5647 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -31,6 +31,7 @@ jobs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts' ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked continueOnError: true - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - output: pipelineArtifact @@ -39,6 +40,7 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked sbomEnabled: false # we don't need SBOM for logs - ${{ if eq(parameters.enablePublishBuildArtifacts, true) }}: @@ -46,7 +48,7 @@ jobs: displayName: Publish Logs PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' publishLocation: Container - ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} + ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() sbomEnabled: false # we don't need SBOM for logs diff --git a/eng/common/templates-official/steps/publish-build-artifacts.yml b/eng/common/templates-official/steps/publish-build-artifacts.yml index 100a3fc98493..fcf6637b2ebc 100644 --- a/eng/common/templates-official/steps/publish-build-artifacts.yml +++ b/eng/common/templates-official/steps/publish-build-artifacts.yml @@ -24,6 +24,10 @@ parameters: - name: is1ESPipeline type: boolean default: true + +- name: retryCountOnTaskFailure + type: string + default: 10 steps: - ${{ if ne(parameters.is1ESPipeline, true) }}: @@ -38,4 +42,5 @@ steps: PathtoPublish: ${{ parameters.pathToPublish }} ${{ if parameters.artifactName }}: ArtifactName: ${{ parameters.artifactName }} - + ${{ if parameters.retryCountOnTaskFailure }}: + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} diff --git a/eng/common/templates-official/steps/source-index-stage1-publish.yml b/eng/common/templates-official/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..9b8b80942b5c --- /dev/null +++ b/eng/common/templates-official/steps/source-index-stage1-publish.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + is1ESPipeline: true + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml index 1f308b24efc4..2cc3ae305d5a 100644 --- a/eng/common/templates-official/variables/pool-providers.yml +++ b/eng/common/templates-official/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# image: 1es-windows-2022 +# image: windows.vs2026.amd64 variables: # Coalesce the target and source branches so we know when a PR targets a release branch diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index 5bdd3dd85fd2..238fa0818f7b 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -46,6 +46,7 @@ jobs: artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: @@ -56,6 +57,7 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked sbomEnabled: false # we don't need SBOM for logs - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}: @@ -66,7 +68,7 @@ jobs: displayName: Publish Logs pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' publishLocation: Container - artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }} + artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() diff --git a/eng/common/templates/steps/publish-build-artifacts.yml b/eng/common/templates/steps/publish-build-artifacts.yml index 6428a98dfef6..605e602e94d1 100644 --- a/eng/common/templates/steps/publish-build-artifacts.yml +++ b/eng/common/templates/steps/publish-build-artifacts.yml @@ -25,6 +25,10 @@ parameters: type: string default: 'Container' +- name: retryCountOnTaskFailure + type: string + default: 10 + steps: - ${{ if eq(parameters.is1ESPipeline, true) }}: - 'eng/common/templates cannot be referenced from a 1ES managed template': error @@ -37,4 +41,6 @@ steps: PublishLocation: ${{ parameters.publishLocation }} PathtoPublish: ${{ parameters.pathToPublish }} ${{ if parameters.artifactName }}: - ArtifactName: ${{ parameters.artifactName }} \ No newline at end of file + ArtifactName: ${{ parameters.artifactName }} + ${{ if parameters.retryCountOnTaskFailure }}: + retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }} diff --git a/eng/common/templates/steps/source-index-stage1-publish.yml b/eng/common/templates/steps/source-index-stage1-publish.yml new file mode 100644 index 000000000000..182cec33a7bb --- /dev/null +++ b/eng/common/templates/steps/source-index-stage1-publish.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/source-index-stage1-publish.yml + parameters: + is1ESPipeline: false + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates/steps/vmr-sync.yml b/eng/common/templates/steps/vmr-sync.yml new file mode 100644 index 000000000000..eb619c502683 --- /dev/null +++ b/eng/common/templates/steps/vmr-sync.yml @@ -0,0 +1,186 @@ +### These steps synchronize new code from product repositories into the VMR (https://github.com/dotnet/dotnet). +### They initialize the darc CLI and pull the new updates. +### Changes are applied locally onto the already cloned VMR (located in $vmrPath). + +parameters: +- name: targetRef + displayName: Target revision in dotnet/ to synchronize + type: string + default: $(Build.SourceVersion) + +- name: vmrPath + displayName: Path where the dotnet/dotnet is checked out to + type: string + default: $(Agent.BuildDirectory)/vmr + +- name: additionalSyncs + displayName: Optional list of package names whose repo's source will also be synchronized in the local VMR, e.g. NuGet.Protocol + type: object + default: [] + +steps: +- checkout: vmr + displayName: Clone dotnet/dotnet + path: vmr + clean: true + +- checkout: self + displayName: Clone $(Build.Repository.Name) + path: repo + fetchDepth: 0 + +# This step is needed so that when we get a detached HEAD / shallow clone, +# we still pull the commit into the temporary repo clone to use it during the sync. +# Also unshallow the clone so that forwardflow command would work. +- script: | + git branch repo-head + git rev-parse HEAD + displayName: Label PR commit + workingDirectory: $(Agent.BuildDirectory)/repo + +- script: | + git config --global user.name "dotnet-maestro[bot]" + git config --global user.email "dotnet-maestro[bot]@users.noreply.github.com" + displayName: Set git author to dotnet-maestro[bot] + workingDirectory: ${{ parameters.vmrPath }} + +- script: | + ./eng/common/vmr-sync.sh \ + --vmr ${{ parameters.vmrPath }} \ + --tmp $(Agent.TempDirectory) \ + --azdev-pat '$(dn-bot-all-orgs-code-r)' \ + --ci \ + --debug + + if [ "$?" -ne 0 ]; then + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + fi + displayName: Sync repo into VMR (Unix) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + +- script: | + git config --global diff.astextplain.textconv echo + git config --system core.longpaths true + displayName: Configure Windows git (longpaths, astextplain) + condition: eq(variables['Agent.OS'], 'Windows_NT') + +- powershell: | + ./eng/common/vmr-sync.ps1 ` + -vmr ${{ parameters.vmrPath }} ` + -tmp $(Agent.TempDirectory) ` + -azdevPat '$(dn-bot-all-orgs-code-r)' ` + -ci ` + -debugOutput + + if ($LASTEXITCODE -ne 0) { + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + } + displayName: Sync repo into VMR (Windows) + condition: eq(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + +- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: + - task: CopyFiles@2 + displayName: Collect failed patches + condition: failed() + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: '*.patch' + TargetFolder: '$(Build.ArtifactStagingDirectory)/FailedPatches' + + - publish: '$(Build.ArtifactStagingDirectory)/FailedPatches' + artifact: $(System.JobDisplayName)_FailedPatches + displayName: Upload failed patches + condition: failed() + +- ${{ each assetName in parameters.additionalSyncs }}: + # The vmr-sync script ends up staging files in the local VMR so we have to commit those + - script: + git commit --allow-empty -am "Forward-flow $(Build.Repository.Name)" + displayName: Commit local VMR changes + workingDirectory: ${{ parameters.vmrPath }} + + - script: | + set -ex + + echo "Searching for details of asset ${{ assetName }}..." + + # Use darc to get dependencies information + dependencies=$(./.dotnet/dotnet darc get-dependencies --name '${{ assetName }}' --ci) + + # Extract repository URL and commit hash + repository=$(echo "$dependencies" | grep 'Repo:' | sed 's/Repo:[[:space:]]*//' | head -1) + + if [ -z "$repository" ]; then + echo "##vso[task.logissue type=error]Asset ${{ assetName }} not found in the dependency list" + exit 1 + fi + + commit=$(echo "$dependencies" | grep 'Commit:' | sed 's/Commit:[[:space:]]*//' | head -1) + + echo "Updating the VMR from $repository / $commit..." + cd .. + git clone $repository ${{ assetName }} + cd ${{ assetName }} + git checkout $commit + git branch "sync/$commit" + + ./eng/common/vmr-sync.sh \ + --vmr ${{ parameters.vmrPath }} \ + --tmp $(Agent.TempDirectory) \ + --azdev-pat '$(dn-bot-all-orgs-code-r)' \ + --ci \ + --debug + + if [ "$?" -ne 0 ]; then + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + fi + displayName: Sync ${{ assetName }} into (Unix) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo + + - powershell: | + $ErrorActionPreference = 'Stop' + + Write-Host "Searching for details of asset ${{ assetName }}..." + + $dependencies = .\.dotnet\dotnet darc get-dependencies --name '${{ assetName }}' --ci + + $repository = $dependencies | Select-String -Pattern 'Repo:\s+([^\s]+)' | Select-Object -First 1 + $repository -match 'Repo:\s+([^\s]+)' | Out-Null + $repository = $matches[1] + + if ($repository -eq $null) { + Write-Error "Asset ${{ assetName }} not found in the dependency list" + exit 1 + } + + $commit = $dependencies | Select-String -Pattern 'Commit:\s+([^\s]+)' | Select-Object -First 1 + $commit -match 'Commit:\s+([^\s]+)' | Out-Null + $commit = $matches[1] + + Write-Host "Updating the VMR from $repository / $commit..." + cd .. + git clone $repository ${{ assetName }} + cd ${{ assetName }} + git checkout $commit + git branch "sync/$commit" + + .\eng\common\vmr-sync.ps1 ` + -vmr ${{ parameters.vmrPath }} ` + -tmp $(Agent.TempDirectory) ` + -azdevPat '$(dn-bot-all-orgs-code-r)' ` + -ci ` + -debugOutput + + if ($LASTEXITCODE -ne 0) { + echo "##vso[task.logissue type=error]Failed to synchronize the VMR" + exit 1 + } + displayName: Sync ${{ assetName }} into (Windows) + condition: ne(variables['Agent.OS'], 'Windows_NT') + workingDirectory: $(Agent.BuildDirectory)/repo diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml index 18693ea120d5..587770f0add4 100644 --- a/eng/common/templates/variables/pool-providers.yml +++ b/eng/common/templates/variables/pool-providers.yml @@ -23,7 +23,7 @@ # # pool: # name: $(DncEngInternalBuildPool) -# demands: ImageOverride -equals windows.vs2022.amd64 +# demands: ImageOverride -equals windows.vs2026.amd64 variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - template: /eng/common/templates-official/variables/pool-providers.yml diff --git a/eng/common/templates/vmr-build-pr.yml b/eng/common/templates/vmr-build-pr.yml new file mode 100644 index 000000000000..2f3694fa1323 --- /dev/null +++ b/eng/common/templates/vmr-build-pr.yml @@ -0,0 +1,43 @@ +# This pipeline is used for running the VMR verification of the PR changes in repo-level PRs. +# +# It will run a full set of verification jobs defined in: +# https://github.com/dotnet/dotnet/blob/10060d128e3f470e77265f8490f5e4f72dae738e/eng/pipelines/templates/stages/vmr-build.yml#L27-L38 +# +# For repos that do not need to run the full set, you would do the following: +# +# 1. Copy this YML file to a repo-specific location, i.e. outside of eng/common. +# +# 2. Add `verifications` parameter to VMR template reference +# +# Examples: +# - For source-build stage 1 verification, add the following: +# verifications: [ "source-build-stage1" ] +# +# - For Windows only verifications, add the following: +# verifications: [ "unified-build-windows-x64", "unified-build-windows-x86" ] + +trigger: none +pr: none + +variables: +- template: /eng/common/templates/variables/pool-providers.yml@self + +- name: skipComponentGovernanceDetection # we run CG on internal builds only + value: true + +- name: Codeql.Enabled # we run CodeQL on internal builds only + value: false + +resources: + repositories: + - repository: vmr + type: github + name: dotnet/dotnet + endpoint: dotnet + ref: refs/heads/main # Set to whatever VMR branch the PR build should insert into + +stages: +- template: /eng/pipelines/templates/stages/vmr-build.yml@vmr + parameters: + isBuiltFromVmr: false + scope: lite diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index a06513a59407..977a2d4b1039 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -65,10 +65,8 @@ $ErrorActionPreference = 'Stop' # Base-64 encoded SAS token that has permission to storage container described by $runtimeSourceFeed [string]$runtimeSourceFeedKey = if (Test-Path variable:runtimeSourceFeedKey) { $runtimeSourceFeedKey } else { $null } -# True if the build is a product build -[bool]$productBuild = if (Test-Path variable:productBuild) { $productBuild } else { $false } - -[String[]]$properties = if (Test-Path variable:properties) { $properties } else { @() } +# True when the build is running within the VMR. +[bool]$fromVMR = if (Test-Path variable:fromVMR) { $fromVMR } else { $false } function Create-Directory ([string[]] $path) { New-Item -Path $path -Force -ItemType 'Directory' | Out-Null @@ -259,7 +257,20 @@ function Retry($downloadBlock, $maxRetries = 5) { function GetDotNetInstallScript([string] $dotnetRoot) { $installScript = Join-Path $dotnetRoot 'dotnet-install.ps1' + $shouldDownload = $false + if (!(Test-Path $installScript)) { + $shouldDownload = $true + } else { + # Check if the script is older than 30 days + $fileAge = (Get-Date) - (Get-Item $installScript).LastWriteTime + if ($fileAge.Days -gt 30) { + Write-Host "Existing install script is too old, re-downloading..." + $shouldDownload = $true + } + } + + if ($shouldDownload) { Create-Directory $dotnetRoot $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit $uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1" @@ -383,8 +394,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements = # If the version of msbuild is going to be xcopied, # use this version. Version matches a package here: - # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.12.0 - $defaultXCopyMSBuildVersion = '17.12.0' + # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/18.0.0 + $defaultXCopyMSBuildVersion = '18.0.0' if (!$vsRequirements) { if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') { @@ -533,7 +544,8 @@ function LocateVisualStudio([object]$vsRequirements = $null){ if (Get-Member -InputObject $GlobalJson.tools -Name 'vswhere') { $vswhereVersion = $GlobalJson.tools.vswhere } else { - $vswhereVersion = '2.5.2' + # keep this in sync with the VSWhereVersion in DefaultVersions.props + $vswhereVersion = '3.1.7' } $vsWhereDir = Join-Path $ToolsDir "vswhere\$vswhereVersion" @@ -541,7 +553,8 @@ function LocateVisualStudio([object]$vsRequirements = $null){ if (!(Test-Path $vsWhereExe)) { Create-Directory $vsWhereDir - Write-Host 'Downloading vswhere' + Write-Host "Downloading vswhere $vswhereVersion" + $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit Retry({ Invoke-WebRequest "https://netcorenativeassets.blob.core.windows.net/resource-packages/external/windows/vswhere/$vswhereVersion/vswhere.exe" -UseBasicParsing -OutFile $vswhereExe }) @@ -611,14 +624,7 @@ function InitializeBuildTool() { } $dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') - # Use override if it exists - commonly set by source-build - if ($null -eq $env:_OverrideArcadeInitializeBuildToolFramework) { - $initializeBuildToolFramework="net9.0" - } else { - $initializeBuildToolFramework=$env:_OverrideArcadeInitializeBuildToolFramework - } - - $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = $initializeBuildToolFramework } + $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'net' } } elseif ($msbuildEngine -eq "vs") { try { $msbuildPath = InitializeVisualStudioMSBuild -install:$restore @@ -627,7 +633,7 @@ function InitializeBuildTool() { ExitWithExitCode 1 } - $buildTool = @{ Path = $msbuildPath; Command = ""; Tool = "vs"; Framework = "net472"; ExcludePrereleaseVS = $excludePrereleaseVS } + $buildTool = @{ Path = $msbuildPath; Command = ""; Tool = "vs"; Framework = "netframework"; ExcludePrereleaseVS = $excludePrereleaseVS } } else { Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Unexpected value of -msbuildEngine: '$msbuildEngine'." ExitWithExitCode 1 @@ -660,7 +666,6 @@ function GetNuGetPackageCachePath() { $env:NUGET_PACKAGES = Join-Path $env:UserProfile '.nuget\packages\' } else { $env:NUGET_PACKAGES = Join-Path $RepoRoot '.packages\' - $env:RESTORENOHTTPCACHE = $true } } @@ -782,26 +787,13 @@ function MSBuild() { $toolsetBuildProject = InitializeToolset $basePath = Split-Path -parent $toolsetBuildProject - $possiblePaths = @( - # new scripts need to work with old packages, so we need to look for the old names/versions - (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.Arcade.Sdk.dll')), - (Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path net7.0 'Microsoft.DotNet.Arcade.Sdk.dll')), - (Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.ArcadeLogging.dll')), - (Join-Path $basePath (Join-Path net8.0 'Microsoft.DotNet.Arcade.Sdk.dll')) - ) - $selectedPath = $null - foreach ($path in $possiblePaths) { - if (Test-Path $path -PathType Leaf) { - $selectedPath = $path - break - } - } + $selectedPath = Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll') + if (-not $selectedPath) { - Write-PipelineTelemetryError -Category 'Build' -Message 'Unable to find arcade sdk logger assembly.' + Write-PipelineTelemetryError -Category 'Build' -Message "Unable to find arcade sdk logger assembly: $selectedPath" ExitWithExitCode 1 } + $args += "/logger:$selectedPath" } @@ -832,6 +824,11 @@ function MSBuild-Core() { $cmdArgs = "$($buildTool.Command) /m /nologo /clp:Summary /v:$verbosity /nr:$nodeReuse /p:ContinuousIntegrationBuild=$ci" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + if ($env:MSBUILD_MT_ENABLED -eq "1") { + $cmdArgs += ' -mt' + } + if ($warnAsError) { $cmdArgs += ' /warnaserror /p:TreatWarningsAsErrors=true' } @@ -864,8 +861,8 @@ function MSBuild-Core() { } # When running on Azure Pipelines, override the returned exit code to avoid double logging. - # Skip this when the build is a child of the VMR orchestrator build. - if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$productBuild -and -not($properties -like "*DotNetBuildRepo=true*")) { + # Skip this when the build is a child of the VMR build. + if ($ci -and $env:SYSTEM_TEAMPROJECT -ne $null -and !$fromVMR) { Write-PipelineSetResult -Result "Failed" -Message "msbuild execution failed." # Exiting with an exit code causes the azure pipelines task to log yet another "noise" error # The above Write-PipelineSetResult will cause the task to be marked as failure without adding yet another error diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 01b09b65796c..1b296f646c23 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -5,6 +5,9 @@ # CI mode - set to true on CI server for PR validation build or official build. ci=${ci:-false} +# Build mode +source_build=${source_build:-false} + # Set to true to use the pipelines logger which will enable Azure logging output. # https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md # This flag is meant as a temporary opt-opt for the feature while validate it across @@ -58,7 +61,8 @@ use_installed_dotnet_cli=${use_installed_dotnet_cli:-true} dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'} # True to use global NuGet cache instead of restoring packages to repository-local directory. -if [[ "$ci" == true ]]; then +# Keep in sync with NuGetPackageroot in Arcade SDK's RepositoryLayout.props. +if [[ "$ci" == true || "$source_build" == true ]]; then use_global_nuget_cache=${use_global_nuget_cache:-false} else use_global_nuget_cache=${use_global_nuget_cache:-true} @@ -68,8 +72,8 @@ fi runtime_source_feed=${runtime_source_feed:-''} runtime_source_feed_key=${runtime_source_feed_key:-''} -# True if the build is a product build -product_build=${product_build:-false} +# True when the build is running within the VMR. +from_vmr=${from_vmr:-false} # Resolve any symlinks in the given path. function ResolvePath { @@ -296,8 +300,29 @@ function GetDotNetInstallScript { local root=$1 local install_script="$root/dotnet-install.sh" local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh" + local timestamp_file="$root/.dotnet-install.timestamp" + local should_download=false if [[ ! -a "$install_script" ]]; then + should_download=true + elif [[ -f "$timestamp_file" ]]; then + # Check if the script is older than 30 days using timestamp file + local download_time=$(cat "$timestamp_file" 2>/dev/null || echo "0") + local current_time=$(date +%s) + local age_seconds=$((current_time - download_time)) + + # 30 days = 30 * 24 * 60 * 60 = 2592000 seconds + if [[ $age_seconds -gt 2592000 ]]; then + echo "Existing install script is too old, re-downloading..." + should_download=true + fi + else + # No timestamp file exists, assume script is old and re-download + echo "No timestamp found for existing install script, re-downloading..." + should_download=true + fi + + if [[ "$should_download" == true ]]; then mkdir -p "$root" echo "Downloading '$install_script_url'" @@ -324,6 +349,9 @@ function GetDotNetInstallScript { ExitWithExitCode $exit_code } fi + + # Create timestamp file to track download time in seconds from epoch + date +%s > "$timestamp_file" fi # return value _GetDotNetInstallScript="$install_script" @@ -339,22 +367,14 @@ function InitializeBuildTool { # return values _InitializeBuildTool="$_InitializeDotNetCli/dotnet" _InitializeBuildToolCommand="msbuild" - # use override if it exists - commonly set by source-build - if [[ "${_OverrideArcadeInitializeBuildToolFramework:-x}" == "x" ]]; then - _InitializeBuildToolFramework="net9.0" - else - _InitializeBuildToolFramework="${_OverrideArcadeInitializeBuildToolFramework}" - fi } -# Set RestoreNoHttpCache as a workaround for https://github.com/NuGet/Home/issues/3116 function GetNuGetPackageCachePath { if [[ -z ${NUGET_PACKAGES:-} ]]; then if [[ "$use_global_nuget_cache" == true ]]; then export NUGET_PACKAGES="$HOME/.nuget/packages/" else export NUGET_PACKAGES="$repo_root/.packages/" - export RESTORENOHTTPCACHE=true fi fi @@ -451,25 +471,13 @@ function MSBuild { fi local toolset_dir="${_InitializeToolset%/*}" - # new scripts need to work with old packages, so we need to look for the old names/versions - local selectedPath= - local possiblePaths=() - possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll" ) - possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/net7.0/Microsoft.DotNet.Arcade.Sdk.dll" ) - possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.ArcadeLogging.dll" ) - possiblePaths+=( "$toolset_dir/net8.0/Microsoft.DotNet.Arcade.Sdk.dll" ) - for path in "${possiblePaths[@]}"; do - if [[ -f $path ]]; then - selectedPath=$path - break - fi - done + local selectedPath="$toolset_dir/net/Microsoft.DotNet.ArcadeLogging.dll" + if [[ -z "$selectedPath" ]]; then - Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly." + Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly: $selectedPath" ExitWithExitCode 1 fi + args+=( "-logger:$selectedPath" ) fi @@ -506,8 +514,8 @@ function MSBuild-Core { echo "Build failed with exit code $exit_code. Check errors above." # When running on Azure Pipelines, override the returned exit code to avoid double logging. - # Skip this when the build is a child of the VMR orchestrator build. - if [[ "$ci" == true && -n ${SYSTEM_TEAMPROJECT:-} && "$product_build" != true && "$properties" != *"DotNetBuildRepo=true"* ]]; then + # Skip this when the build is a child of the VMR build. + if [[ "$ci" == true && -n ${SYSTEM_TEAMPROJECT:-} && "$from_vmr" != true ]]; then Write-PipelineSetResult -result "Failed" -message "msbuild execution failed." # Exiting with an exit code causes the azure pipelines task to log yet another "noise" error # The above Write-PipelineSetResult will cause the task to be marked as failure without adding yet another error @@ -518,7 +526,13 @@ function MSBuild-Core { } } - RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" + # Add -mt flag for MSBuild multithreaded mode if enabled via environment variable + local mt_switch="" + if [[ "${MSBUILD_MT_ENABLED:-}" == "1" ]]; then + mt_switch="-mt" + fi + + RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } function GetDarc { @@ -530,6 +544,13 @@ function GetDarc { fi "$eng_root/common/darc-init.sh" --toolpath "$darc_path" $version + darc_tool="$darc_path/darc" +} + +# Returns a full path to an Arcade SDK task project file. +function GetSdkTaskProject { + taskName=$1 + echo "$(dirname $_InitializeToolset)/SdkTasks/$taskName.proj" } ResolvePath "${BASH_SOURCE[0]}" diff --git a/eng/common/vmr-sync.ps1 b/eng/common/vmr-sync.ps1 new file mode 100755 index 000000000000..b37992d91cf0 --- /dev/null +++ b/eng/common/vmr-sync.ps1 @@ -0,0 +1,164 @@ +<# +.SYNOPSIS + +This script is used for synchronizing the current repository into a local VMR. +It pulls the current repository's code into the specified VMR directory for local testing or +Source-Build validation. + +.DESCRIPTION + +The tooling used for synchronization will clone the VMR repository into a temporary folder if +it does not already exist. These clones can be reused in future synchronizations, so it is +recommended to dedicate a folder for this to speed up re-runs. + +.EXAMPLE + Synchronize current repository into a local VMR: + ./vmr-sync.ps1 -vmrDir "$HOME/repos/dotnet" -tmpDir "$HOME/repos/tmp" + +.PARAMETER tmpDir +Required. Path to the temporary folder where repositories will be cloned + +.PARAMETER vmrBranch +Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch + +.PARAMETER azdevPat +Optional. Azure DevOps PAT to use for cloning private repositories. + +.PARAMETER vmrDir +Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder + +.PARAMETER debugOutput +Optional. Enables debug logging in the darc vmr command. + +.PARAMETER ci +Optional. Denotes that the script is running in a CI environment. +#> +param ( + [Parameter(Mandatory=$true, HelpMessage="Path to the temporary folder where repositories will be cloned")] + [string][Alias('t', 'tmp')]$tmpDir, + [string][Alias('b', 'branch')]$vmrBranch, + [string]$remote, + [string]$azdevPat, + [string][Alias('v', 'vmr')]$vmrDir, + [switch]$ci, + [switch]$debugOutput +) + +function Fail { + Write-Host "> $($args[0])" -ForegroundColor 'Red' +} + +function Highlight { + Write-Host "> $($args[0])" -ForegroundColor 'Cyan' +} + +$verbosity = 'verbose' +if ($debugOutput) { + $verbosity = 'debug' +} +# Validation + +if (-not $tmpDir) { + Fail "Missing -tmpDir argument. Please specify the path to the temporary folder where the repositories will be cloned" + exit 1 +} + +# Sanitize the input + +if (-not $vmrDir) { + $vmrDir = Join-Path $tmpDir 'dotnet' +} + +if (-not (Test-Path -Path $tmpDir -PathType Container)) { + New-Item -ItemType Directory -Path $tmpDir | Out-Null +} + +# Prepare the VMR + +if (-not (Test-Path -Path $vmrDir -PathType Container)) { + Highlight "Cloning 'dotnet/dotnet' into $vmrDir.." + git clone https://github.com/dotnet/dotnet $vmrDir + + if ($vmrBranch) { + git -C $vmrDir switch -c $vmrBranch + } +} +else { + if ((git -C $vmrDir diff --quiet) -eq $false) { + Fail "There are changes in the working tree of $vmrDir. Please commit or stash your changes" + exit 1 + } + + if ($vmrBranch) { + Highlight "Preparing $vmrDir" + git -C $vmrDir checkout $vmrBranch + git -C $vmrDir pull + } +} + +Set-StrictMode -Version Latest + +# Prepare darc + +Highlight 'Installing .NET, preparing the tooling..' +. .\eng\common\tools.ps1 +$dotnetRoot = InitializeDotNetCli -install:$true +$env:DOTNET_ROOT = $dotnetRoot +$darc = Get-Darc + +Highlight "Starting the synchronization of VMR.." + +# Synchronize the VMR +$versionDetailsPath = Resolve-Path (Join-Path $PSScriptRoot '..\Version.Details.xml') | Select-Object -ExpandProperty Path +[xml]$versionDetails = Get-Content -Path $versionDetailsPath +$repoName = $versionDetails.SelectSingleNode('//Source').Mapping +if (-not $repoName) { + Fail "Failed to resolve repo mapping from $versionDetailsPath" + exit 1 +} + +$darcArgs = ( + "vmr", "forwardflow", + "--tmp", $tmpDir, + "--$verbosity", + $vmrDir +) + +if ($ci) { + $darcArgs += ("--ci") +} + +if ($azdevPat) { + $darcArgs += ("--azdev-pat", $azdevPat) +} + +& "$darc" $darcArgs + +if ($LASTEXITCODE -eq 0) { + Highlight "Synchronization succeeded" +} +else { + Highlight "Failed to flow code into the local VMR. Falling back to resetting the VMR to match repo contents..." + git -C $vmrDir reset --hard + + $resetArgs = ( + "vmr", "reset", + "${repoName}:HEAD", + "--vmr", $vmrDir, + "--tmp", $tmpDir, + "--additional-remotes", "${repoName}:${repoRoot}" + ) + + & "$darc" $resetArgs + + if ($LASTEXITCODE -eq 0) { + Highlight "Successfully reset the VMR using 'darc vmr reset'" + } + else { + Fail "Synchronization of repo to VMR failed!" + Fail "'$vmrDir' is left in its last state (re-run of this script will reset it)." + Fail "Please inspect the logs which contain path to the failing patch file (use -debugOutput to get all the details)." + Fail "Once you make changes to the conflicting VMR patch, commit it locally and re-run this script." + exit 1 + } +} diff --git a/eng/common/vmr-sync.sh b/eng/common/vmr-sync.sh new file mode 100755 index 000000000000..198caec59bd4 --- /dev/null +++ b/eng/common/vmr-sync.sh @@ -0,0 +1,227 @@ +#!/bin/bash + +### This script is used for synchronizing the current repository into a local VMR. +### It pulls the current repository's code into the specified VMR directory for local testing or +### Source-Build validation. +### +### The tooling used for synchronization will clone the VMR repository into a temporary folder if +### it does not already exist. These clones can be reused in future synchronizations, so it is +### recommended to dedicate a folder for this to speed up re-runs. +### +### USAGE: +### Synchronize current repository into a local VMR: +### ./vmr-sync.sh --tmp "$HOME/repos/tmp" "$HOME/repos/dotnet" +### +### Options: +### -t, --tmp, --tmp-dir PATH +### Required. Path to the temporary folder where repositories will be cloned +### +### -b, --branch, --vmr-branch BRANCH_NAME +### Optional. Branch of the 'dotnet/dotnet' repo to synchronize. The VMR will be checked out to this branch +### +### --debug +### Optional. Turns on the most verbose logging for the VMR tooling +### +### --remote name:URI +### Optional. Additional remote to use during the synchronization +### This can be used to synchronize to a commit from a fork of the repository +### Example: 'runtime:https://github.com/yourfork/runtime' +### +### --azdev-pat +### Optional. Azure DevOps PAT to use for cloning private repositories. +### +### -v, --vmr, --vmr-dir PATH +### Optional. Path to the dotnet/dotnet repository. When null, gets cloned to the temporary folder + +source="${BASH_SOURCE[0]}" + +# resolve $source until the file is no longer a symlink +while [[ -h "$source" ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + +function print_help () { + sed -n '/^### /,/^$/p' "$source" | cut -b 5- +} + +COLOR_RED=$(tput setaf 1 2>/dev/null || true) +COLOR_CYAN=$(tput setaf 6 2>/dev/null || true) +COLOR_CLEAR=$(tput sgr0 2>/dev/null || true) +COLOR_RESET=uniquesearchablestring +FAILURE_PREFIX='> ' + +function fail () { + echo "${COLOR_RED}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_RED}}${COLOR_CLEAR}" >&2 +} + +function highlight () { + echo "${COLOR_CYAN}$FAILURE_PREFIX${1//${COLOR_RESET}/${COLOR_CYAN}}${COLOR_CLEAR}" +} + +tmp_dir='' +vmr_dir='' +vmr_branch='' +additional_remotes='' +verbosity=verbose +azdev_pat='' +ci=false + +while [[ $# -gt 0 ]]; do + opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")" + case "$opt" in + -t|--tmp|--tmp-dir) + tmp_dir=$2 + shift + ;; + -v|--vmr|--vmr-dir) + vmr_dir=$2 + shift + ;; + -b|--branch|--vmr-branch) + vmr_branch=$2 + shift + ;; + --remote) + additional_remotes="$additional_remotes $2" + shift + ;; + --azdev-pat) + azdev_pat=$2 + shift + ;; + --ci) + ci=true + ;; + -d|--debug) + verbosity=debug + ;; + -h|--help) + print_help + exit 0 + ;; + *) + fail "Invalid argument: $1" + print_help + exit 1 + ;; + esac + + shift +done + +# Validation + +if [[ -z "$tmp_dir" ]]; then + fail "Missing --tmp-dir argument. Please specify the path to the temporary folder where the repositories will be cloned" + exit 1 +fi + +# Sanitize the input + +if [[ -z "$vmr_dir" ]]; then + vmr_dir="$tmp_dir/dotnet" +fi + +if [[ ! -d "$tmp_dir" ]]; then + mkdir -p "$tmp_dir" +fi + +if [[ "$verbosity" == "debug" ]]; then + set -x +fi + +# Prepare the VMR + +if [[ ! -d "$vmr_dir" ]]; then + highlight "Cloning 'dotnet/dotnet' into $vmr_dir.." + git clone https://github.com/dotnet/dotnet "$vmr_dir" + + if [[ -n "$vmr_branch" ]]; then + git -C "$vmr_dir" switch -c "$vmr_branch" + fi +else + if ! git -C "$vmr_dir" diff --quiet; then + fail "There are changes in the working tree of $vmr_dir. Please commit or stash your changes" + exit 1 + fi + + if [[ -n "$vmr_branch" ]]; then + highlight "Preparing $vmr_dir" + git -C "$vmr_dir" checkout "$vmr_branch" + git -C "$vmr_dir" pull + fi +fi + +set -e + +# Prepare darc + +highlight 'Installing .NET, preparing the tooling..' +source "./eng/common/tools.sh" +InitializeDotNetCli true +GetDarc +dotnetDir=$( cd ./.dotnet/; pwd -P ) +dotnet=$dotnetDir/dotnet + +highlight "Starting the synchronization of VMR.." +set +e + +if [[ -n "$additional_remotes" ]]; then + additional_remotes="--additional-remotes $additional_remotes" +fi + +if [[ -n "$azdev_pat" ]]; then + azdev_pat="--azdev-pat $azdev_pat" +fi + +ci_arg='' +if [[ "$ci" == "true" ]]; then + ci_arg="--ci" +fi + +# Synchronize the VMR + +version_details_path=$(cd "$scriptroot/.."; pwd -P)/Version.Details.xml +repo_name=$(grep -m 1 ' Date: Tue, 14 Apr 2026 09:17:31 +0200 Subject: [PATCH 110/137] Keep strong reference to virtual project's ProjectRootElement to prevent GC (#53807) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../VirtualProjectBuilder.cs | 11 +++++ .../CommandTests/Run/RunFileTests.cs | 48 +++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs index f95baaa6a5a2..164f72c23a68 100644 --- a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs +++ b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs @@ -22,6 +22,16 @@ public sealed class VirtualProjectBuilder private (ImmutableArray Original, ImmutableArray Evaluated)? _evaluatedDirectives; + /// + /// Prevents the virtual project's from being garbage collected + /// when MSBuild's demotes it to a weak reference + /// (which can happen when many SDK import files fill the cache during NuGet restore). + /// Without this, nested <MSBuild> tasks that re-evaluate the project with different properties + /// would fail to find the in the cache and try to load it from disk, + /// resulting in MSB4025 because the virtual project file does not exist on disk. + /// + private ProjectRootElement? _projectRootElement; + internal string EntryPointFileFullPath { get; } internal SourceFile EntryPointSourceFile @@ -396,6 +406,7 @@ ProjectRootElement CreateProjectRootElement(string projectFileText, ProjectColle using var xmlReader = XmlReader.Create(reader); var projectRoot = ProjectRootElement.Create(xmlReader, projectCollection); projectRoot.FullPath = GetVirtualProjectPath(EntryPointFileFullPath); + _projectRootElement = projectRoot; return projectRoot; } } diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index 6cca02d6f4b3..baa1adcd74e7 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -6484,4 +6484,52 @@ Dictionary ReadFiles() return result; } } + + /// + /// Regression test for https://github.com/dotnet/sdk/issues/52714. + /// The virtual project's must survive GC + /// even after being evicted from MSBuild's strong cache (LRU of size N). + /// We force eviction via MSBUILDPROJECTROOTELEMENTCACHESIZE=1 + /// and trigger GC via an inline task during NuGet restore. + /// Without the fix (strong reference in VirtualProjectBuilder._projectRootElement), + /// this fails with MSB4025 "The project file could not be loaded". + /// + [Fact] + public void VirtualProject_SurvivesGCDuringRestore() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + Console.WriteLine("Hello from virtual project"); + """); + + // Directory.Build.targets that forces GC during restore, + // after SDK imports have already evicted the virtual PRE from the strong cache. + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.targets"), """ + + + + + + + + <_ForceGCTask /> + + + """); + + new DotnetCommand(Log, "run", "--no-cache", "Program.cs") + // A cache size of 1 ensures the virtual PRE is evicted from the strong cache + // as soon as any SDK .targets/.props file is loaded during evaluation. + .WithEnvironmentVariable("MSBUILDPROJECTROOTELEMENTCACHESIZE", "1") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello from virtual project"); + } } From 75f222d01c0b177f029e3498e7bca0436466f5fd Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Tue, 14 Apr 2026 10:01:31 +0200 Subject: [PATCH 111/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2950549 --- .../xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.de.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.es.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.it.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf | 8 ++++---- .../xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf | 8 ++++---- 13 files changed, 52 insertions(+), 52 deletions(-) diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf index 03f1e965d7b2..def094ce9c0e 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.cs.xlf @@ -1835,22 +1835,22 @@ Rozšíření a uživatelem definované převody se u obecných typů nepodporuj Add '#!' (shebang) - Add '#!' (shebang) + Přidat '#!' (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Pokud se program založený na souborech skládá z více souborů, měl by soubor vstupního bodu začínat řádkem shebang ('#!'), aby byl jasně odlišen od ostatních zahrnutých souborů. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Vstupní bod programu založeného na souborech by měl začínat znaky '#!'. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Vstupní bod programu založeného na souborech by měl začínat znaky '#!'. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf index cbc4ff561ee1..4cdcb24353f8 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.de.xlf @@ -1835,22 +1835,22 @@ Erweiterungen und benutzerdefinierte Konvertierungen werden bei generischen Type Add '#!' (shebang) - Add '#!' (shebang) + "#!" hinzufügen (Shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Wenn ein dateibasiertes Programm aus mehreren Dateien besteht, sollte die Einstiegsdatei mit einer Shebang-Zeile ("#!") beginnen, um sie klar von anderen eingebundenen Dateien zu unterscheiden. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Der Einstiegspunkt eines dateibasierten Programms sollte mit "#!" beginnen. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Der Einstiegspunkt eines dateibasierten Programms sollte mit "#!" beginnen. diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf index 5896354af2af..ec3fc34aac1b 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.es.xlf @@ -1835,22 +1835,22 @@ La ampliación y las conversiones definidas por el usuario no se admiten con tip Add '#!' (shebang) - Add '#!' (shebang) + Agregar "#!" (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Cuando un programa basado en archivos consta de varios archivos, el archivo de entrada debe comenzar con una línea shebang ("#!") para distinguirlo claramente de los demás archivos incluidos. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + El punto de entrada del programa basado en archivos debe empezar por "#!" File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + El punto de entrada del programa basado en archivos debe empezar por "#!" diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf index bed19cb8e096..c3b2a40b48ee 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.fr.xlf @@ -1835,22 +1835,22 @@ Les conversions étendues et définies par l’utilisateur ne sont pas prises en Add '#!' (shebang) - Add '#!' (shebang) + Ajouter « #! » (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Lorsqu’un programme basé sur fichier comprend plusieurs fichiers, le fichier de point d’entrée doit commencer par une ligne shebang (« #! ») pour bien le distinguer des autres fichiers inclus. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Le point d’entrée du programme basé sur fichier doit commencer par « #! » File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Le point d’entrée du programme basé sur fichier doit commencer par « #! » diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf index ea2f9539b9a1..3868247f4fd2 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.it.xlf @@ -1835,22 +1835,22 @@ L'ampliamento e le conversioni definite dall'utente non sono supportate con tipi Add '#!' (shebang) - Add '#!' (shebang) + Aggiungere '#!' (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Quando un programma basato su file è costituito da più file, il file del punto di ingresso dovrebbe iniziare con una riga shebang ('#!') per distinguerlo chiaramente dagli altri file inclusi. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Il punto di ingresso del programma basato su file deve iniziare con '#!' File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Il punto di ingresso del programma basato su file deve iniziare con '#!' diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf index f37c847af7f9..9c09cf0e42dd 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ja.xlf @@ -1835,22 +1835,22 @@ Enumerable.OfType<T> で使用されるジェネリック型チェック ( Add '#!' (shebang) - Add '#!' (shebang) + '#!' の追加(シバン) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + ファイルベースのプログラムが複数のファイルで構成されている場合、エントリ ポイントのファイルは、他のインクルード ファイルと明確に区別するために、シバン ('#!') 行で始める必要があります。 File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + ファイルベースのプログラムのエントリ ポイントは '#!' で始まる必要があります File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + ファイルベースのプログラムのエントリ ポイントは '#!' で始まる必要があります diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf index 8575638e2767..9143d09fd02d 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ko.xlf @@ -1835,22 +1835,22 @@ Enumerable.OfType<T>에서 사용하는 제네릭 형식 검사(C# 'is' Add '#!' (shebang) - Add '#!' (shebang) + '#!' 추가 (셔뱅) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + 파일 기반 프로그램이 여러 파일로 구성된 경우, 진입점 파일은 포함된 다른 파일과 명확히 구분하기 위해 셔뱅('#!') 줄로 시작해야 합니다. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + 파일 기반 프로그램 진입점은 '#!'로 시작해야 함 File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + 파일 기반 프로그램 진입점은 '#!'로 시작해야 함 diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf index 0e7b13760bac..eccc24d78ed2 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pl.xlf @@ -1835,22 +1835,22 @@ Konwersje poszerzane i zdefiniowane przez użytkownika nie są obsługiwane w pr Add '#!' (shebang) - Add '#!' (shebang) + Dodaj „#!” (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Gdy program oparty na plikach składa się z wielu plików, plik punktu wejścia powinien zaczynać się od ciągu shebang („#!”), aby wyraźnie odróżnić go od innych dołączonych plików. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Punkt wejścia programu opartego na plikach powinien zaczynać się od „#!” File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Punkt wejścia programu opartego na plikach powinien zaczynać się od „#!” diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf index a3fc46da599c..97fe95638ce9 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.pt-BR.xlf @@ -1835,22 +1835,22 @@ As ampliação e conversões definidas pelo usuário não são compatíveis com Add '#!' (shebang) - Add '#!' (shebang) + Adicionar ''#!'' (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Quando um programa baseado em arquivos tem vários arquivos, o arquivo de ponto de entrada deve começar com uma linha shebang ('#!') para diferenciá-lo claramente dos outros arquivos incluídos. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + O ponto de entrada do programa baseado em arquivos deve começar com ''#!'' File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + O ponto de entrada do programa baseado em arquivos deve começar com ''#!'' diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf index e97cb8f514af..17e190e2caaa 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.ru.xlf @@ -1835,22 +1835,22 @@ Widening and user defined conversions are not supported with generic types. Add '#!' (shebang) - Add '#!' (shebang) + Добавить "#!" (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Если программа, основанная на файлах, состоит из нескольких файлов, файл точки входа должен начинаться со строки shebang ("#!"), чтобы четко отличать его от других включаемых файлов. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Точка входа файловой программы должна начинаться с "#!" File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Точка входа файловой программы должна начинаться с "#!" diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf index 095fec929995..484ee6794c02 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.tr.xlf @@ -1835,22 +1835,22 @@ Genel türlerde genişletme ve kullanıcı tanımlı dönüştürmeler desteklen Add '#!' (shebang) - Add '#!' (shebang) + + Ekle‘#!’ ekle (shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + Dosya tabanlı bir program birden fazla dosyadan oluştuğunda, giriş noktası dosyası diğer dahil edilen dosyalardan açıkça ayırt edilebilmesi için bir shebang (‘#!’) satırıyla başlamalıdır. File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Dosya tabanlı program giriş noktası ‘#!’ ile başlamalıdır File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + Dosya tabanlı program giriş noktası ‘#!’ ile başlamalıdır diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf index 40cccfbb4381..f1426ad52ced 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hans.xlf @@ -1835,22 +1835,22 @@ Enumerable.OfType<T> 使用的泛型类型检查(C# 'is' operator/IL 'isin Add '#!' (shebang) - Add '#!' (shebang) + 添加 "#!"(shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + 当基于文件的程序由多个文件组成时,入口点文件应以 shebang ("#!")行开头,以便清楚地区分它与其他包含的文件。 File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + 基于文件的程序入口点应以 "#!" 开头 File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + 基于文件的程序入口点应以 "#!" 开头 diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf index 0e95e70cea6b..d5f8d26f841b 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers/Microsoft.NetCore.Analyzers/xlf/MicrosoftNetCoreAnalyzersResources.zh-Hant.xlf @@ -1835,22 +1835,22 @@ Enumerable.OfType<T> 使用的一般型別檢查 (C# 'is' operator/IL 'isi Add '#!' (shebang) - Add '#!' (shebang) + 新增 '#!'(shebang) When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. - When a file-based program consists of multiple files, the entry point file should start with a shebang ('#!') line to clearly distinguish it from other included files. + 當檔案型程式包含多個檔案時,進入點檔案開頭應該為 shebang ('#!') 行,以明確區分它與其他包含的檔案。 File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + 檔案型程式進入點的開頭應該為 '#!' File-based program entry point should start with '#!' - File-based program entry point should start with '#!' + 檔案型程式進入點的開頭應該為 '#!' From 9f927ea3760646c2cabf7c9ed640f032300787ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 09:03:20 +0000 Subject: [PATCH 112/137] Reset files to release/10.0.2xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 4 +- eng/Version.Details.props | 266 +++++++-------- eng/Version.Details.xml | 673 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 475 insertions(+), 474 deletions(-) diff --git a/NuGet.config b/NuGet.config index e226baf9b0b6..903609549285 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,7 @@ - + @@ -39,6 +39,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 94492476bae6..1a73d58a3c79 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,139 +8,139 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-preview.26203.109 - 10.0.6 - 10.0.6 - 18.0.11 - 18.0.11-servicing-26203-109 - 7.0.2-rc.20409 - 10.0.106 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.0-preview.26203.109 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 2.0.0-preview.1.26203.109 - 2.2.6 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6-servicing.26203.109 - 10.0.0-beta.26203.109 - 10.0.0-beta.26203.109 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 14.0.106-servicing.26203.109 - 10.0.6 - 5.0.0-2.26203.109 - 5.0.0-2.26203.109 - 10.0.6-servicing.26203.109 - 10.0.6 - 10.0.6 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4-servicing.26119.110 + 10.0.0-preview.26202.103 + 10.0.4 + 10.0.4 + 18.3.3 + 18.3.3-servicing-26202-103 + 7.3.0-rc.20303 + 10.0.202 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.0-preview.26202.103 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 2.0.0-preview.1.26119.110 + 2.2.4 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.0-beta.26202.103 + 10.0.0-beta.26202.103 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 15.2.202-servicing.26202.103 + 10.0.4 + 5.3.0-2.26202.103 + 5.3.0-2.26202.103 + 10.0.4-servicing.26119.110 + 10.0.4 + 10.0.4 10.0.0-preview.7.25377.103 - 10.0.0-preview.26203.109 - 10.0.6-servicing.26203.109 - 18.0.2-release-26203-109 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106-servicing.26203.109 - 10.0.106 - 10.0.106 - 10.0.106-servicing.26203.109 - 18.0.2-release-26203-109 - 18.0.2-release-26203-109 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26203.109 - 10.0.6 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 7.0.2-rc.20409 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26202.103 + 10.0.4-servicing.26119.110 + 18.3.0-release-26202-103 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202-servicing.26202.103 + 10.0.202 + 10.0.202 + 10.0.202-servicing.26202.103 + 18.3.0-release-26202-103 + 18.3.0-release-26202-103 + 3.2.4 + 10.0.4 + 10.0.4-servicing.26119.110 + 10.0.4 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 7.3.0-rc.20303 + 10.0.4 + 2.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 + 10.0.4 2.3.0-preview.26202.5 4.3.0-preview.26202.5 @@ -185,6 +185,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisCSharpCodeStylePackageVersion) $(MicrosoftCodeAnalysisCSharpFeaturesPackageVersion) $(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion) + $(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion) $(MicrosoftCodeAnalysisPublicApiAnalyzersPackageVersion) $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) @@ -200,7 +201,6 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) - $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3a7cdb3a56c8..a1ff22313714 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 @@ -68,170 +68,170 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - + https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + 0c538445912b51b36242aac75dd5e81265bbe37f - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 https://github.com/microsoft/testfx @@ -569,9 +568,9 @@ https://github.com/microsoft/testfx cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 - - https://github.com/dotnet/dotnet - 6165bd7ac3499cb712ca489f2ce44bb665174a1a + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 diff --git a/global.json b/global.json index 6f9207378ac4..0552121a41ea 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "10.0.201", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.109", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.109", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26202.103", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26202.103", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 6ddabc1bb960f4e41ff6be693cad15f3f7ed558b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Apr 2026 00:33:37 +0000 Subject: [PATCH 113/137] Apply CI fixes: disable C++/CLI tests and skip net46 test pending toolset fix Agent-Logs-Url: https://github.com/dotnet/sdk/sessions/8e0aaefa-58b0-4318-9a34-e043019cf251 Co-authored-by: MiYanni <17788297+MiYanni@users.noreply.github.com> --- .../GivenThatWeWantToBuildACppCliProject.cs | 16 ++++++++-------- ...antToBuildACppCliProjectWithTransitiveDeps.cs | 6 +++--- .../Microsoft.NET.Build.Tests/SourceLinkTests.cs | 2 +- .../GivenThatWeWantToPackACppCliProject.cs | 2 +- ...ivenThatWeWantToPreserveCompilationContext.cs | 3 ++- .../GivenThatWeWantToPublishACppCliProject.cs | 2 +- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs index 83ff1a3553d6..3a2915cc928f 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs @@ -13,7 +13,7 @@ public GivenThatWeWantToBuildACppCliProject(ITestOutputHelper log) : base(log) { } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_builds_and_runs() { var testAsset = _testAssetsManager @@ -49,7 +49,7 @@ public void It_builds_and_runs() .HaveStdOutContaining("Hello, World!"); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_builds_and_runs_with_package_reference() { var targetFramework = ToolsetInfo.CurrentTargetFramework + "-windows"; @@ -84,7 +84,7 @@ public void It_builds_and_runs_with_package_reference() } } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void Given_no_restore_It_builds_cpp_project() { var testAsset = _testAssetsManager @@ -98,7 +98,7 @@ public void Given_no_restore_It_builds_cpp_project() .Pass(); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void Given_Wpf_framework_reference_It_builds_cpp_project() { var testAsset = _testAssetsManager @@ -111,7 +111,7 @@ public void Given_Wpf_framework_reference_It_builds_cpp_project() .Pass(); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_fails_with_error_message_on_EnableComHosting() { var testAsset = _testAssetsManager @@ -139,7 +139,7 @@ public void It_fails_with_error_message_on_EnableComHosting() .HaveStdOutContaining(Strings.NoSupportCppEnableComHosting); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_fails_with_error_message_on_fullframework() { var testAsset = _testAssetsManager @@ -156,7 +156,7 @@ public void It_fails_with_error_message_on_fullframework() .HaveStdOutContaining(Strings.NETFrameworkWithoutUsingNETSdkDefaults); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_fails_with_error_message_on_tfm_lower_than_3_1() { var testAsset = _testAssetsManager @@ -173,7 +173,7 @@ public void It_fails_with_error_message_on_tfm_lower_than_3_1() .HaveStdOutContaining(Strings.CppRequiresTFMVersion31); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void When_run_with_selfcontained_It_fails_with_error_message() { var testAsset = _testAssetsManager diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs index 4808f781d25a..9bac9adf9619 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs @@ -12,7 +12,7 @@ public GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps(ITestOutputHelper private readonly Lazy _buildAsset; - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_can_generate_correct_depsJson_file() { TestAsset testAsset = _buildAsset.Value; @@ -23,7 +23,7 @@ public void It_can_generate_correct_depsJson_file() depsJsonContent.Should().Contain("NETCoreCppCliTestC.dll", "should contain transitive reference"); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_can_generate_all_runtimeconfig_files_to_output_folder() { TestAsset testAsset = _buildAsset.Value; @@ -35,7 +35,7 @@ public void It_can_generate_all_runtimeconfig_files_to_output_folder() }); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_can_generate_all_depsjson_files_to_output_folder() { TestAsset testAsset = _buildAsset.Value; diff --git a/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs b/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs index 5fa880ec9812..544e18dbe2dd 100644 --- a/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs +++ b/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs @@ -290,7 +290,7 @@ public void SuppressImplicitGitSourceLink_ExplicitPackage(bool multitarget) } } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void Cpp() { var testAsset = _testAssetsManager diff --git a/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs b/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs index 28a9660ac8fb..10a8bdaaadc1 100644 --- a/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs +++ b/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs @@ -11,7 +11,7 @@ public GivenThatWeWantToPackACppCliProject(ITestOutputHelper log) : base(log) { } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_cannot_pack_the_cppcliproject() { var testAsset = _testAssetsManager diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs index 1b4b5eaabcab..18dece1d353a 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs @@ -14,7 +14,8 @@ public GivenThatWeWantToPreserveCompilationContext(ITestOutputHelper log) : base } [Theory] - [InlineData("net46", "netstandard1.3", false)] + // Skip = "https://github.com/dotnet/sdk/issues/53796" + //[InlineData("net46", "netstandard1.3", false)] [InlineData("netcoreapp2.0", "netstandard2.0", false)] [InlineData("netcoreapp2.0", "netstandard2.0", true)] [InlineData("netcoreapp3.0", "netstandard2.0", false)] diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs index 8a1408ba0e61..67d48f9712ef 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs @@ -11,7 +11,7 @@ public GivenThatWeWantToPublishACppCliProject(ITestOutputHelper log) : base(log) { } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void When_referenced_by_csharp_project_it_publishes_and_runs() { var testAsset = _testAssetsManager From 2c7da313bec2b47ec40fdb0cb748735c449e79c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Wed, 15 Apr 2026 08:15:45 +0300 Subject: [PATCH 114/137] [watch] Fixes command line parsing and TFM selection for FBAs (#53698) --- src/Cli/dotnet/Commands/Run/RunCommand.cs | 20 +-- .../Watch/AppModels/HotReloadAppModel.cs | 7 +- .../Watch/Build/ProjectGraphFactory.cs | 13 +- .../Watch/HotReload/HotReloadDotNetWatcher.cs | 58 +++++-- src/Dotnet.Watch/Watch/UI/IReporter.cs | 4 +- .../CommandLine/CommandLineOptions.cs | 50 ++++-- src/Dotnet.Watch/dotnet-watch/Program.cs | 11 +- .../Watch/MsBuildFileSetFactory.cs | 3 +- .../PublicAPI.Unshipped.txt | 1 + .../VirtualProjectBuilder.cs | 14 ++ .../AspireLauncherTests.cs | 5 + .../TestAssetsManager.cs | 11 ++ .../Build/ProjectGraphFactoryTests.cs | 16 +- .../CommandLine/CommandLineOptionsTests.cs | 34 ++-- .../ProgramTests.GetProjectOptions.cs | 15 +- .../HotReload/BuildProjectsTests.cs | 152 +++++++++++++++--- .../HotReload/CompilationHandlerTests.cs | 4 +- .../HotReload/FileBasedAppTests.cs | 103 ++++++++++++ ...ceFileUpdateTests.HotReloadNotSupported.cs | 2 +- 19 files changed, 414 insertions(+), 109 deletions(-) create mode 100644 test/dotnet-watch.Tests/HotReload/FileBasedAppTests.cs diff --git a/src/Cli/dotnet/Commands/Run/RunCommand.cs b/src/Cli/dotnet/Commands/Run/RunCommand.cs index e5d36444e661..af35ce75ad46 100644 --- a/src/Cli/dotnet/Commands/Run/RunCommand.cs +++ b/src/Cli/dotnet/Commands/Run/RunCommand.cs @@ -352,7 +352,7 @@ private bool TrySelectTargetFrameworkForFileBasedProject() // Get frameworks from source file directives var frameworks = GetTargetFrameworksFromSourceFile(EntryPointFileFullPath); - if (frameworks is null || frameworks.Length == 0) + if (frameworks is []) { return true; // Not multi-targeted } @@ -370,21 +370,11 @@ private bool TrySelectTargetFrameworkForFileBasedProject() /// /// Parses a source file to extract target frameworks from directives. /// - /// Array of frameworks if TargetFrameworks is specified, null otherwise - private static string[]? GetTargetFrameworksFromSourceFile(string sourceFilePath) + /// Array of frameworks if TargetFrameworks is specified, empty array otherwise + private static string[] GetTargetFrameworksFromSourceFile(string sourceFilePath) { - var sourceFile = SourceFile.Load(sourceFilePath); - var directives = FileLevelDirectiveHelpers.FindDirectives(sourceFile, reportAllErrors: false, ErrorReporters.IgnoringReporter); - - var targetFrameworksDirective = directives.OfType() - .FirstOrDefault(p => string.Equals(p.Name, "TargetFrameworks", StringComparison.OrdinalIgnoreCase)); - - if (targetFrameworksDirective is null) - { - return null; - } - - return targetFrameworksDirective.Value.Split(';', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); + var value = VirtualProjectBuilder.GetPropertyFromSourceFile(sourceFilePath, "TargetFrameworks"); + return value?.Split(';', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries) ?? []; } /// diff --git a/src/Dotnet.Watch/Watch/AppModels/HotReloadAppModel.cs b/src/Dotnet.Watch/Watch/AppModels/HotReloadAppModel.cs index 5c9810fa3c13..72f1eb760c63 100644 --- a/src/Dotnet.Watch/Watch/AppModels/HotReloadAppModel.cs +++ b/src/Dotnet.Watch/Watch/AppModels/HotReloadAppModel.cs @@ -60,7 +60,7 @@ internal static bool IsManagedAgentSupported(ProjectGraphNode project, ILogger l { if (!project.IsNetCoreApp(Versions.Version6_0)) { - LogWarning("target framework is older than 6.0"); + logger.Log(MessageDescriptor.ProjectDoesNotSupportHotReload_TargetFramework, Versions.Version6_0); return false; } @@ -80,13 +80,10 @@ internal static bool IsManagedAgentSupported(ProjectGraphNode project, ILogger l ? (PropertyNames.PublishTrimmed, true) : (PropertyNames.StartupHookSupport, false); - LogWarning(string.Format("'{0}' property is '{1}'", propertyName, propertyValue)); + logger.Log(MessageDescriptor.ProjectDoesNotSupportHotReload_Property, propertyName, propertyValue.ToString(), PropertyNames.StartupHookSupport, "True"); return false; } return true; - - void LogWarning(string reason) - => logger.Log(MessageDescriptor.ProjectDoesNotSupportHotReload, reason); } } diff --git a/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs b/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs index 0e98272acd92..4d9bb21adda5 100644 --- a/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs +++ b/src/Dotnet.Watch/Watch/Build/ProjectGraphFactory.cs @@ -16,7 +16,6 @@ namespace Microsoft.DotNet.Watch; internal sealed class ProjectGraphFactory( ImmutableArray rootProjects, - string? virtualProjectTargetFramework, ImmutableDictionary buildProperties, ILogger logger, GlobalOptions globalOptions, @@ -39,8 +38,6 @@ internal sealed class ProjectGraphFactory( useAsynchronousLogging: false, reuseProjectRootElementCache: true); - private readonly string _virtualProjectTargetFramework = virtualProjectTargetFramework ?? GetProductTargetFramework(); - public ILogger Logger => logger; private static string GetProductTargetFramework() @@ -53,14 +50,16 @@ private static string GetProductTargetFramework() /// /// Tries to create a project graph by running the build evaluation phase on root projects. /// - public LoadedProjectGraph? TryLoadProjectGraph(bool projectGraphRequired, CancellationToken cancellationToken) + public LoadedProjectGraph? TryLoadProjectGraph(bool projectGraphRequired, string? virtualProjectTargetFramework, CancellationToken cancellationToken) { + virtualProjectTargetFramework ??= GetProductTargetFramework(); + var entryPoints = rootProjects.Select(p => new ProjectGraphEntryPoint(p.ProjectGraphPath, buildProperties)); try { var stopwatch = Stopwatch.StartNew(); var graph = new LoadedProjectGraph( - new ProjectGraph(entryPoints, _collection, (path, globalProperties, collection) => CreateProjectInstance(path, globalProperties, collection, logger), cancellationToken), + new ProjectGraph(entryPoints, _collection, (path, globalProperties, collection) => CreateProjectInstance(path, globalProperties, collection, virtualProjectTargetFramework, logger), cancellationToken), _collection, logger, globalOptions, @@ -112,7 +111,7 @@ void Report(Exception e) return null; } - private ProjectInstance CreateProjectInstance(string projectPath, Dictionary globalProperties, ProjectCollection projectCollection, ILogger logger) + private ProjectInstance CreateProjectInstance(string projectPath, Dictionary globalProperties, ProjectCollection projectCollection, string virtualProjectTargetFramework, ILogger logger) { if (!File.Exists(projectPath)) { @@ -129,7 +128,7 @@ private ProjectInstance CreateProjectInstance(string projectPath, Dictionary { diff --git a/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs b/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs index 301a7adea0f9..d2b8bad2d90b 100644 --- a/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs +++ b/src/Dotnet.Watch/Watch/HotReload/HotReloadDotNetWatcher.cs @@ -7,6 +7,7 @@ using Microsoft.Build.Execution; using Microsoft.CodeAnalysis; using Microsoft.DotNet.HotReload; +using Microsoft.DotNet.ProjectTools; using Microsoft.Extensions.Logging; namespace Microsoft.DotNet.Watch; @@ -51,7 +52,6 @@ public HotReloadDotNetWatcher( _designTimeBuildGraphFactory = new ProjectGraphFactory( context.RootProjects, - context.MainProjectOptions?.TargetFramework, buildProperties: EvaluationResult.GetGlobalBuildProperties( context.BuildArguments, context.EnvironmentOptions), @@ -109,7 +109,7 @@ public async Task WatchAsync(CancellationToken shutdownCancellationToken) // Try load project graph and perform design-time build even if the build failed. // This allows us to watch the project and source files for changes that will trigger restart. - projectGraph = rootProjectsBuildResult.ProjectGraph ?? TryLoadProjectGraph(iterationCancellationToken); + projectGraph = rootProjectsBuildResult.ProjectGraph ?? TryLoadProjectGraph(rootProjectsBuildResult.MainProjectTargetFramework, iterationCancellationToken); if (projectGraph == null) { continue; @@ -364,16 +364,18 @@ async Task> CaptureChangedFilesSnapshot(IReadOnlyLis { // TODO: consider reloading/reevaluating only affected projects instead of the whole graph. + var targetFramework = mainProjectOptions?.TargetFramework; + while (true) { iterationCancellationToken.ThrowIfCancellationRequested(); - projectGraph = TryLoadProjectGraph(iterationCancellationToken); + projectGraph = TryLoadProjectGraph(targetFramework, iterationCancellationToken); if (projectGraph != null) { fileWatcher.WatchFiles(projectGraph.BuildFiles); - evaluationResult = await TryEvaluateProjectGraphAsync(projectGraph, mainProjectOptions?.TargetFramework, restore: true, iterationCancellationToken); + evaluationResult = await TryEvaluateProjectGraphAsync(projectGraph, targetFramework, restore: true, iterationCancellationToken); if (evaluationResult != null) { break; @@ -932,8 +934,8 @@ static string GetPluralMessage(ChangeKind kind) }; } - private LoadedProjectGraph? TryLoadProjectGraph(CancellationToken cancellationToken) - => _designTimeBuildGraphFactory.TryLoadProjectGraph(projectGraphRequired: true, cancellationToken); + private LoadedProjectGraph? TryLoadProjectGraph(string? virtualProjectTargetFramework, CancellationToken cancellationToken) + => _designTimeBuildGraphFactory.TryLoadProjectGraph(projectGraphRequired: true, virtualProjectTargetFramework, cancellationToken); private ValueTask TryEvaluateProjectGraphAsync(LoadedProjectGraph projectGraph, string? mainProjectTargetFramework, bool restore, CancellationToken cancellationToken) => EvaluationResult.TryCreateAsync( @@ -995,12 +997,44 @@ internal async Task BuildProjectsAsync( async ValueTask BuildWithFrameworkAndDeviceSelectionAsync() { - var needsFrameworkSelection = targetFramework == null && frameworkSelector != null; + // Framework selection for file-based programs: + // If framework is specified on command line use it to create the virtual project. + // Otherwise, use TargetFramework/TargetFrameworks property specified in the source file, if any. + // + // Device selection not applicable to file based apps. + if (mainProjectOptions?.Representation.EntryPointFilePath is { } sourcePath) + { + if (targetFramework == null) + { + if (VirtualProjectBuilder.GetPropertyFromSourceFile(sourcePath, PropertyNames.TargetFramework) is { } framework and not "") + { + targetFramework = framework; + } + else if (VirtualProjectBuilder.GetPropertyFromSourceFile(sourcePath, PropertyNames.TargetFrameworks) is { } frameworks and not "") + { + var frameworkList = frameworks.Split(';', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); + + if (frameworkSelector != null) + { + targetFramework = await frameworkSelector(frameworkList, cancellationToken); + } + else + { + _context.BuildLogger.Log(MessageDescriptor.FileSpecifiesMultipleTargetFrameworks, sourcePath, string.Join("', '", frameworkList)); + + return false; + } + } + } + + return await BuildAsync(BuildAction.RestoreAndBuild, targetFramework); + } + var needsDeviceSelection = selectedDevice == null && deviceSelector != null; + var needsFrameworkSelection = targetFramework == null && frameworkSelector != null; if (mainProjectOptions == null || - (!needsFrameworkSelection && !needsDeviceSelection) || - !mainProjectOptions.Representation.IsProjectFile) + (!needsFrameworkSelection && !needsDeviceSelection)) { return await BuildAsync(BuildAction.RestoreAndBuild, targetFramework); } @@ -1011,7 +1045,7 @@ async ValueTask BuildWithFrameworkAndDeviceSelectionAsync() } // load project graph after restore so that props and targets files from packages are imported: - projectGraph = TryLoadProjectGraph(cancellationToken); + projectGraph = TryLoadProjectGraph(targetFramework, cancellationToken); if (projectGraph == null) { return false; @@ -1022,7 +1056,7 @@ async ValueTask BuildWithFrameworkAndDeviceSelectionAsync() // Select target framework if needed: if (needsFrameworkSelection) { - Debug.Assert(frameworkSelector is not null); + Debug.Assert(frameworkSelector != null); if (rootProject.GetTargetFramework() is var framework and not "") { @@ -1043,7 +1077,7 @@ async ValueTask BuildWithFrameworkAndDeviceSelectionAsync() if (needsDeviceSelection && rootProject.Targets.ContainsKey(TargetNames.ComputeAvailableDevices)) { - Debug.Assert(deviceSelector is not null); + Debug.Assert(deviceSelector != null); var deviceInfo = await TrySelectDeviceAsync(projectGraph, rootProject, targetFramework, deviceSelector, cancellationToken); if (deviceInfo == null) diff --git a/src/Dotnet.Watch/Watch/UI/IReporter.cs b/src/Dotnet.Watch/Watch/UI/IReporter.cs index 000ca3015327..515a422126ea 100644 --- a/src/Dotnet.Watch/Watch/UI/IReporter.cs +++ b/src/Dotnet.Watch/Watch/UI/IReporter.cs @@ -262,7 +262,8 @@ public static MessageDescriptor GetDescriptor(EventId id) public static readonly MessageDescriptor UnableToApplyChanges = Create("Unable to apply changes due to compilation errors.", Emoji.HotReload, LogLevel.Information); public static readonly MessageDescriptor RestartNeededToApplyChanges = Create("Restart is needed to apply the changes.", Emoji.HotReload, LogLevel.Information); public static readonly MessageDescriptor HotReloadEnabled = Create("Hot reload enabled. For a list of supported edits, see https://aka.ms/dotnet/hot-reload.", Emoji.HotReload, LogLevel.Information); - public static readonly MessageDescriptor ProjectDoesNotSupportHotReload = Create("Project does not support Hot Reload: {0}. Application will be restarted when updated.", Emoji.Warning, LogLevel.Warning); + public static readonly MessageDescriptor ProjectDoesNotSupportHotReload_TargetFramework = Create("Project does not support Hot Reload: Target Framework is older than {0}. Application will be restarted when updated.", Emoji.Warning, LogLevel.Warning); + public static readonly MessageDescriptor<(string, string, string, string)> ProjectDoesNotSupportHotReload_Property = Create<(string, string, string, string)>("Project does not support Hot Reload: '{0}' property is '{1}'. Application will be restarted when updated. Set '{2}' project property to '{3}' to enable Hot Reload.", Emoji.Warning, LogLevel.Warning); public static readonly MessageDescriptor PressCtrlRToRestart = Create("Press Ctrl+R to restart.", Emoji.LightBulb, LogLevel.Information); public static readonly MessageDescriptor<(string, string)> ApplicationKind_BlazorHosted = Create<(string, string)>("Application kind: BlazorHosted. '{0}' references BlazorWebAssembly project '{1}'.", Emoji.Default, LogLevel.Debug); public static readonly MessageDescriptor ApplicationKind_BlazorWebAssembly = Create("Application kind: BlazorWebAssembly.", Emoji.Default, LogLevel.Debug); @@ -283,6 +284,7 @@ public static MessageDescriptor GetDescriptor(EventId id) public static readonly MessageDescriptor<(IEnumerable projects, bool success)> BuildCompletedNotification = CreateNotification<(IEnumerable projects, bool success)>(); public static readonly MessageDescriptor ManifestFileNotFound = Create(LogEvents.ManifestFileNotFound, Emoji.Default); public static readonly MessageDescriptor NoDevicesAvailable = Create("No devices are available for this project.", Emoji.Error, LogLevel.Error); + public static readonly MessageDescriptor<(string, string)> FileSpecifiesMultipleTargetFrameworks = Create<(string, string)>("File '{0}' specifies multiple target frameworks: '{1}'. Specify which framework to run using '--framework'.", Emoji.Watch, LogLevel.Error); } internal sealed class MessageDescriptor(string? format, Emoji emoji, LogLevel level, EventId id) diff --git a/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs b/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs index 6662b89fa9a1..4004dfdc8c54 100644 --- a/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs +++ b/src/Dotnet.Watch/dotnet-watch/CommandLine/CommandLineOptions.cs @@ -11,6 +11,7 @@ using Microsoft.DotNet.Cli.Commands; using Microsoft.DotNet.Cli.Commands.Build; using Microsoft.DotNet.Cli.Commands.MSBuild; +using Microsoft.DotNet.Cli.Commands.Run; using Microsoft.DotNet.Cli.Commands.Test; using Microsoft.Extensions.Logging; @@ -20,6 +21,12 @@ internal sealed class CommandLineOptions { private static readonly ImmutableArray s_binaryLogOptionNames = ["-bl", "/bl", "-binaryLogger", "--binaryLogger", "/binaryLogger"]; + public static readonly ParserConfiguration ParserConfiguration = new() + { + // To match dotnet command line parsing (see https://github.com/dotnet/sdk/blob/4712b35b94f2ad672e69ec35097cf86fc16c2e5e/src/Cli/dotnet/Parser.cs#L169): + EnablePosixBundling = false, + }; + public bool List { get; init; } public required GlobalOptions GlobalOptions { get; init; } @@ -34,12 +41,17 @@ internal sealed class CommandLineOptions /// public required IReadOnlyList CommandArguments { get; init; } + /// + /// excluding binlog options. Workaround for https://github.com/dotnet/sdk/issues/49989. + /// + public required IReadOnlyList CommandArgumentsWithoutBinLog { get; init; } + /// /// Arguments passed to `dotnet build` and to design-time build evaluation. /// public required IReadOnlyList BuildArguments { get; init; } - public required string Command { get; init; } + public required Command Command { get; init; } public required bool IsExplicitCommand { get; init; } @@ -53,14 +65,8 @@ internal sealed class CommandLineOptions var rootCommandInvoked = false; definition.SetAction(parseResult => rootCommandInvoked = true); - ParserConfiguration parseConfig = new() - { - // To match dotnet command line parsing (see https://github.com/dotnet/sdk/blob/4712b35b94f2ad672e69ec35097cf86fc16c2e5e/src/Cli/dotnet/Parser.cs#L169): - EnablePosixBundling = false, - }; - // parse without forwarded options first: - var parseResult = definition.Parse(args, parseConfig); + var parseResult = definition.Parse(args, ParserConfiguration); if (ReportErrors(parseResult, logger)) { errorCode = 1; @@ -80,7 +86,7 @@ internal sealed class CommandLineOptions } // reparse with forwarded options: - parseResult = definition.Parse(args, parseConfig); + parseResult = definition.Parse(args, ParserConfiguration); if (ReportErrors(parseResult, logger)) { errorCode = 1; @@ -116,7 +122,8 @@ internal sealed class CommandLineOptions command, isExplicitCommand, out var binLogToken, - out var binLogPath); + out var binLogPath, + out var commandArgumentsWithoutBinLog); // We assume that forwarded options, if any, are intended for `dotnet build`. // Exclude --target option since we need to control the targets being built. @@ -155,7 +162,8 @@ internal sealed class CommandLineOptions }, CommandArguments = commandArguments, - Command = command.Name, + CommandArgumentsWithoutBinLog = commandArgumentsWithoutBinLog, + Command = command, IsExplicitCommand = isExplicitCommand, ProjectPath = projectValue, @@ -189,7 +197,8 @@ private static IReadOnlyList GetCommandArguments( Command command, bool isExplicitCommand, out string? binLogToken, - out string? binLogPath) + out string? binLogPath, + out IReadOnlyList argumentsWithoutBinLog) { var definition = (DotnetWatchCommandDefinition)parseResult.CommandResult.Command; @@ -255,9 +264,14 @@ private static IReadOnlyList GetCommandArguments( var seenCommand = false; var dashDashInserted = false; + + var argumentsWithoutBinLogBuilder = new List(); + argumentsWithoutBinLogBuilder.AddRange(arguments); + for (int i = 0; i < parseResult.UnmatchedTokens.Count; i++) { var token = parseResult.UnmatchedTokens[i]; + var isBinLogToken = false; if (i < unmatchedTokensBeforeDashDash) { @@ -283,6 +297,9 @@ private static IReadOnlyList GetCommandArguments( binLogToken = token; binLogPath = token[(name.Length + 1)..]; } + + isBinLogToken = true; + break; } } } @@ -290,12 +307,19 @@ private static IReadOnlyList GetCommandArguments( if (!dashDashInserted && i >= unmatchedTokensBeforeDashDash) { arguments.Add("--"); + argumentsWithoutBinLogBuilder.Add("--"); dashDashInserted = true; } arguments.Add(token); + + if (!isBinLogToken) + { + argumentsWithoutBinLogBuilder.Add(token); + } } + argumentsWithoutBinLog = argumentsWithoutBinLogBuilder; return arguments; } @@ -363,7 +387,7 @@ public ProjectOptions GetMainProjectOptions(ProjectRepresentation project, strin WorkingDirectory = workingDirectory, TargetFramework = TargetFramework, Device = Device, - Command = Command, + Command = Command.Name, CommandArguments = CommandArguments, LaunchEnvironmentVariables = [], LaunchProfileName = LaunchProfileName, diff --git a/src/Dotnet.Watch/dotnet-watch/Program.cs b/src/Dotnet.Watch/dotnet-watch/Program.cs index c4cd7ab0600c..54d114a60a41 100644 --- a/src/Dotnet.Watch/dotnet-watch/Program.cs +++ b/src/Dotnet.Watch/dotnet-watch/Program.cs @@ -1,10 +1,12 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.CommandLine; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Runtime.Loader; using Microsoft.Build.Locator; +using Microsoft.DotNet.Cli.Commands.Run; using Microsoft.DotNet.ProjectTools; using Microsoft.Extensions.Logging; @@ -148,7 +150,14 @@ public static async Task Main(string[] args) private static bool TryFindFileEntryPoint(string workingDirectory, CommandLineOptions options, ILogger logger, [NotNullWhen(true)] out string? entryPointPath) { - if (options.CommandArguments is not [var firstArg, ..]) + if (options.Command is not RunCommandDefinition runCommandDefinition) + { + entryPointPath = null; + return false; + } + + var runParseResult = runCommandDefinition.Parse(options.CommandArgumentsWithoutBinLog, CommandLineOptions.ParserConfiguration); + if (runParseResult.GetValue(runCommandDefinition.ApplicationArguments) is not [var firstArg, ..]) { entryPointPath = null; return false; diff --git a/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs b/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs index aa61f05d95e7..2fcc8466059c 100644 --- a/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs +++ b/src/Dotnet.Watch/dotnet-watch/Watch/MsBuildFileSetFactory.cs @@ -32,7 +32,6 @@ internal class MSBuildFileSetFactory( private readonly ProjectGraphFactory _buildGraphFactory = new( [new ProjectRepresentation(rootProjectFile, entryPointFilePath: null)], - targetFramework, buildProperties: BuildUtilities.ParseBuildProperties(buildArguments).ToImmutableDictionary(keySelector: arg => arg.key, elementSelector: arg => arg.value), logger, globalOptions, @@ -133,7 +132,7 @@ void AddFile(string filePath, string? staticWebAssetPath) LoadedProjectGraph? projectGraph = null; if (requireProjectGraph != null) { - projectGraph = _buildGraphFactory.TryLoadProjectGraph(requireProjectGraph.Value, cancellationToken); + projectGraph = _buildGraphFactory.TryLoadProjectGraph(requireProjectGraph.Value, targetFramework, cancellationToken); if (projectGraph == null && requireProjectGraph == true) { return null; diff --git a/src/Microsoft.DotNet.ProjectTools/PublicAPI.Unshipped.txt b/src/Microsoft.DotNet.ProjectTools/PublicAPI.Unshipped.txt index 230cecc99717..854c0f7a5f6b 100644 --- a/src/Microsoft.DotNet.ProjectTools/PublicAPI.Unshipped.txt +++ b/src/Microsoft.DotNet.ProjectTools/PublicAPI.Unshipped.txt @@ -3,6 +3,7 @@ Microsoft.DotNet.ProjectTools.LaunchSettings Microsoft.DotNet.ProjectTools.VirtualProjectBuilder static Microsoft.DotNet.ProjectTools.LaunchSettings.TryFindLaunchSettingsFile(string! projectOrEntryPointFilePath, string? launchProfile, System.Action! report) -> string? static Microsoft.DotNet.ProjectTools.VirtualProjectBuilder.CreateProjectInstance(string! entryPointFilePath, string! targetFramework, Microsoft.Build.Evaluation.ProjectCollection! projectCollection, System.Action! errorReporter) -> Microsoft.Build.Execution.ProjectInstance! +static Microsoft.DotNet.ProjectTools.VirtualProjectBuilder.GetPropertyFromSourceFile(string! sourceFilePath, string! propertyName) -> string? static Microsoft.DotNet.ProjectTools.VirtualProjectBuilder.GetVirtualProjectPath(string! entryPointFilePath) -> string! static Microsoft.DotNet.ProjectTools.VirtualProjectBuilder.IsValidEntryPointPath(string! entryPointFilePath) -> bool static Microsoft.DotNet.ProjectTools.VirtualProjectBuilder.TryGetEntryPointFilePathFromVirtualProjectPath(string! projectPath, out string? entryPointFilePath) -> bool diff --git a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs index 164f72c23a68..c8fb09c95f28 100644 --- a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs +++ b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs @@ -115,6 +115,20 @@ public static bool TryGetEntryPointFilePathFromVirtualProjectPath(string project return false; } + /// + /// Parses a source file to extract property value from directives. + /// + /// Array of frameworks if TargetFrameworks is specified, or empty otherwise + public static string? GetPropertyFromSourceFile(string sourceFilePath, string propertyName) + { + var sourceFile = SourceFile.Load(sourceFilePath); + var directives = FileLevelDirectiveHelpers.FindDirectives(sourceFile, reportAllErrors: false, ErrorReporters.IgnoringReporter); + + // Return the first value. Duplicate directives are not supported. + return directives.OfType() + .FirstOrDefault(p => string.Equals(p.Name, propertyName, StringComparison.OrdinalIgnoreCase))?.Value; + } + /// /// Obtains a temporary subdirectory for file-based app artifacts, e.g., /tmp/dotnet/runfile/. /// diff --git a/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs b/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs index 2d64735848d0..7e30a869bbaf 100644 --- a/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs +++ b/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs @@ -82,6 +82,11 @@ public async Task ServerAndResources() "--resource", serviceProjectB, ]); + // Wait until running projects for the services are initialized, + // so that we can deterministically test updates to their source code: + await server.WaitUntilOutputContains(MessageDescriptor.Capabilities, $"A ({tfm})"); + await server.WaitUntilOutputContains(MessageDescriptor.Capabilities, $"B ({tfm})"); + await server.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); // valid code change: diff --git a/test/Microsoft.NET.TestFramework/TestAssetsManager.cs b/test/Microsoft.NET.TestFramework/TestAssetsManager.cs index 9db89e7e4c78..7a6c70028718 100644 --- a/test/Microsoft.NET.TestFramework/TestAssetsManager.cs +++ b/test/Microsoft.NET.TestFramework/TestAssetsManager.cs @@ -50,6 +50,17 @@ public TestAsset CopyTestAsset( return testAsset; } + public TestAsset CreateTestAsset( + string name, + [CallerMemberName] string callingMethod = "", + string? identifier = "") + { + var testDestinationDirectory = GetTestDestinationDirectoryPath(name, callingMethod, identifier); + TestDestinationDirectories.Add(testDestinationDirectory); + + return new TestAsset(testDestinationDirectory, SdkTestContext.Current.SdkVersion, Log); + } + /// /// Writes an in-memory test project onto the disk. /// diff --git a/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs b/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs index 3f0322c2c0bb..10a770abb171 100644 --- a/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs +++ b/test/dotnet-watch.Tests/Build/ProjectGraphFactoryTests.cs @@ -20,9 +20,9 @@ public void RegularProject() var projectPath = Path.Combine(testAsset.Path, "WatchNoDepsApp.csproj"); var projectRepr = new ProjectRepresentation(projectPath, entryPointFilePath: null); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions(asset: testAsset)); + var factory = new ProjectGraphFactory([projectRepr], buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions(asset: testAsset)); - var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); + var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, virtualProjectTargetFramework: null, CancellationToken.None); Assert.NotNull(graph); var root = graph.Graph.GraphRoots.Single(); @@ -40,9 +40,9 @@ public void VirtualProject() """); var projectRepr = new ProjectRepresentation(projectPath: null, entryPointFilePath); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions()); + var factory = new ProjectGraphFactory([projectRepr], buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions()); - var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); + var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, virtualProjectTargetFramework: null, CancellationToken.None); Assert.NotNull(graph); var root = graph.Graph.GraphRoots.Single(); @@ -60,9 +60,9 @@ public void VirtualProject_Error() """); var projectRepr = new ProjectRepresentation(projectPath: null, entryPointFilePath); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions()); + var factory = new ProjectGraphFactory([projectRepr], buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions()); - var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); + var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, virtualProjectTargetFramework: null, CancellationToken.None); Assert.Null(graph); var message = string.Format(FileBasedProgramsResources.InvalidProjectDirective, @@ -92,9 +92,9 @@ public void VirtualProject_ProjectDirective() """); var projectRepr = new ProjectRepresentation(projectPath: null, entryPointFilePath); - var factory = new ProjectGraphFactory([projectRepr], virtualProjectTargetFramework: null, buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions(asset: testAsset)); + var factory = new ProjectGraphFactory([projectRepr], buildProperties: [], _testLogger, TestOptions.GlobalOptions, TestOptions.GetEnvironmentOptions(asset: testAsset)); - var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, CancellationToken.None); + var graph = factory.TryLoadProjectGraph(projectGraphRequired: true, virtualProjectTargetFramework: null, CancellationToken.None); Assert.NotNull(graph); AssertEx.SequenceEqual( diff --git a/test/dotnet-watch.Tests/CommandLine/CommandLineOptionsTests.cs b/test/dotnet-watch.Tests/CommandLine/CommandLineOptionsTests.cs index aa356d57f8db..6b89a7010482 100644 --- a/test/dotnet-watch.Tests/CommandLine/CommandLineOptionsTests.cs +++ b/test/dotnet-watch.Tests/CommandLine/CommandLineOptionsTests.cs @@ -59,7 +59,7 @@ public void HelpArgs(string[] args) public void ImplicitCommand() { var options = VerifyOptions([]); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual([], options.CommandArguments); } @@ -91,7 +91,7 @@ public void ExplicitCommand(string command) var options = VerifyOptions([command]); var args = options.CommandArguments.ToList(); Assert.True(options.IsExplicitCommand); - Assert.Equal(command, options.Command); + Assert.Equal(command, options.Command.Name); Assert.Empty(args); } @@ -102,7 +102,7 @@ public void WatchOptions_NotPassedThrough( bool beforeCommand) { var options = VerifyOptions(beforeCommand ? [option, "test"] : ["test", option]); - Assert.Equal("test", options.Command); + Assert.Equal("test", options.Command.Name); AssertEx.SequenceEqual([], options.CommandArguments); } @@ -118,7 +118,7 @@ public void RunOptions_LaunchProfile_Watch() { var options = VerifyOptions(["-lp", "P", "run"]); Assert.Equal("P", options.LaunchProfileName); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["-lp", "P"], options.CommandArguments); } @@ -127,7 +127,7 @@ public void RunOptions_LaunchProfile_Run() { var options = VerifyOptions(["run", "-lp", "P"]); Assert.Equal("P", options.LaunchProfileName); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["-lp", "P"], options.CommandArguments); } @@ -144,7 +144,7 @@ public void RunOptions_NoProfile_Watch() var options = VerifyOptions(["--no-launch-profile", "run"]); Assert.False(options.LaunchProfileName.HasValue); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["--no-launch-profile"], options.CommandArguments); } @@ -154,7 +154,7 @@ public void RunOptions_NoProfile_Run() var options = VerifyOptions(["run", "--no-launch-profile"]); Assert.False(options.LaunchProfileName.HasValue); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["--no-launch-profile"], options.CommandArguments); } @@ -164,7 +164,7 @@ public void RunOptions_NoProfile_Both() var options = VerifyOptions(["--no-launch-profile", "run", "--no-launch-profile"]); Assert.False(options.LaunchProfileName.HasValue); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["--no-launch-profile"], options.CommandArguments); } @@ -174,7 +174,7 @@ public void RemainingOptions() var options = VerifyOptions(["-watchArg", "--verbose", "run", "-runArg"]); Assert.Equal(LogLevel.Debug, options.GlobalOptions.LogLevel); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["-watchArg", "-runArg"], options.CommandArguments); } @@ -184,7 +184,7 @@ public void UnknownOption() var options = VerifyOptions(["--verbose", "--unknown", "x", "y", "run", "--project", "p"]); Assert.Equal("p", options.ProjectPath); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["--project", "p", "--unknown", "x", "y"], options.CommandArguments); } @@ -194,7 +194,7 @@ public void RemainingOptionsDashDash() var options = VerifyOptions(["-watchArg", "--", "--verbose", "run", "-runArg"]); Assert.Equal(LogLevel.Information, options.GlobalOptions.LogLevel); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["-watchArg", "--", "--verbose", "run", "-runArg",], options.CommandArguments); } @@ -204,7 +204,7 @@ public void RemainingOptionsDashDashRun() var options = VerifyOptions(["--", "run"]); Assert.Equal(LogLevel.Information, options.GlobalOptions.LogLevel); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual(["--", "run"], options.CommandArguments); } @@ -212,7 +212,7 @@ public void RemainingOptionsDashDashRun() public void NoOptionsAfterDashDash() { var options = VerifyOptions(["--"]); - Assert.Equal("run", options.Command); + Assert.Equal("run", options.Command.Name); AssertEx.SequenceEqual([], options.CommandArguments); } @@ -283,11 +283,15 @@ public void BinaryLoggerOption_AfterDashDash(string option) var options1 = VerifyOptions(["--", option]); AssertEx.SequenceEqual(["--", option], options1.CommandArguments); + AssertEx.SequenceEqual(["--", option], options1.CommandArgumentsWithoutBinLog); AssertEx.SequenceEqual(["--property:NuGetInteractive=false"], options1.BuildArguments); - var options2 = VerifyOptions([option, "A", "--", "-bl:XXX"]); + var options2 = VerifyOptions(["-bl:1", option, "A", "--", "-bl:XXX"]); - AssertEx.SequenceEqual([option, "A", "--", "-bl:XXX"], options2.CommandArguments); + AssertEx.SequenceEqual(["-bl:1", option, "A", "--", "-bl:XXX"], options2.CommandArguments); + AssertEx.SequenceEqual(["A", "--", "-bl:XXX"], options2.CommandArgumentsWithoutBinLog); + + // the last bin log option before "--" is used: AssertEx.SequenceEqual(["--property:NuGetInteractive=false", option], options2.BuildArguments); } diff --git a/test/dotnet-watch.Tests/CommandLine/ProgramTests.GetProjectOptions.cs b/test/dotnet-watch.Tests/CommandLine/ProgramTests.GetProjectOptions.cs index 7f606283a24c..eff2ee038389 100644 --- a/test/dotnet-watch.Tests/CommandLine/ProgramTests.GetProjectOptions.cs +++ b/test/dotnet-watch.Tests/CommandLine/ProgramTests.GetProjectOptions.cs @@ -214,11 +214,18 @@ public void FileWithShebangSpecifiedAsArgument() File.WriteAllText(filePath, "#!"); // dotnet watch App.txt - var options = ParseOptions([filePath]); - var result = Program.GetMainProjectOptions(options, tempDir, _testLogger); + var options1 = ParseOptions([filePath]); + var result1 = Program.GetMainProjectOptions(options1, tempDir, _testLogger); - Assert.NotNull(result); - Assert.Equal(filePath, result.Representation.EntryPointFilePath); + Assert.NotNull(result1); + Assert.Equal(filePath, result1.Representation.EntryPointFilePath); + + // dotnet watch -bl -e X=1 App.txt + var options2 = ParseOptions(["-bl", "-e", "X=1", filePath]); + var result2 = Program.GetMainProjectOptions(options2, tempDir, _testLogger); + + Assert.NotNull(result2); + Assert.Equal(filePath, result2.Representation.EntryPointFilePath); } [Fact] diff --git a/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs b/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs index 15b0bcb6c3b6..6d34620eec1a 100644 --- a/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs +++ b/test/dotnet-watch.Tests/HotReload/BuildProjectsTests.cs @@ -13,6 +13,7 @@ private class TestContext : IDisposable public readonly HotReloadDotNetWatcher Watcher; public readonly FileWatcher FileWatcher; public readonly TestConsole Console; + public readonly TestLogger BuildLogger; public readonly List BuildInvocations = []; public string? SolutionFile; @@ -31,12 +32,14 @@ public TestContext(ITestOutputHelper output, ImmutableArray @@ -136,9 +139,9 @@ [new ProjectRepresentation(project1, entryPointFilePath: null)], [Fact] public async Task MultipleProjects() { - var dir = Path.GetTempPath(); - var project1 = Path.Combine(dir, "Project1.csproj"); - var project2 = Path.Combine(dir, "Project2.csproj"); + var dir = TestAssetsManager.CreateTestDirectory(); + var project1 = Path.Combine(dir.Path, "Project1.csproj"); + var project2 = Path.Combine(dir.Path, "Project2.csproj"); using var context = CreateContext(); @@ -161,10 +164,13 @@ public async Task MultipleProjects() [Theory] [CombinatorialData] - public async Task SingleFile(bool isMain) + public async Task FileBasedApp_NoFrameworkProperties(bool isMain) { - var dir = Path.GetTempPath(); - var file1 = Path.Combine(dir, "File1.cs"); + var dir = TestAssetsManager.CreateTestDirectory(identifiers: [isMain]); + var file1 = Path.Combine(dir.Path, "File1.cs"); + File.WriteAllText(file1, """ + Console.WriteLine(1); + """); using var context = CreateContext([file1]); @@ -185,12 +191,112 @@ [new ProjectRepresentation(projectPath: null, entryPointFilePath: file1)], AssertEx.SequenceEqual([$"build {file1} -p A=1"], context.BuildInvocations); } + [Theory] + [CombinatorialData] + public async Task FileBasedApp_TargetFrameworkProperty(bool nonInteractive) + { + var dir = TestAssetsManager.CreateTestDirectory(identifiers: [nonInteractive]); + var file1 = Path.Combine(dir.Path, "File1.cs"); + File.WriteAllText(file1, """ + #:property TargetFramework= net9.0 + Console.WriteLine(1); + """); + + using var context = CreateContext([file1]); + + var result = await context.Watcher.BuildProjectsAsync( + [new ProjectRepresentation(projectPath: null, entryPointFilePath: file1)], + context.FileWatcher, + mainProjectOptions: TestOptions.GetProjectOptions(["--file", file1]), + frameworkSelector: nonInteractive ? null : (_, _) => + { + Assert.Fail("Selector should not be invoked"); + return ValueTask.FromResult("n/a"); + }, + deviceSelector: null, + CancellationToken.None); + + Assert.True(result.Success); + + AssertEx.SequenceEqual([$"build {file1} -p A=1 --framework net9.0"], context.BuildInvocations); + } + + [Theory] + [CombinatorialData] + public async Task FileBasedApp_TargetFrameworksProperty(bool nonInteractive) + { + var dir = TestAssetsManager.CreateTestDirectory(identifiers: [nonInteractive]); + var file1 = Path.Combine(dir.Path, "File1.cs"); + File.WriteAllText(file1, """ + #:property TargetFrameworks=net9.0;net10.0 + Console.WriteLine(1); + """); + + using var context = CreateContext([file1]); + + var result = await context.Watcher.BuildProjectsAsync( + [new ProjectRepresentation(projectPath: null, entryPointFilePath: file1)], + context.FileWatcher, + mainProjectOptions: TestOptions.GetProjectOptions(["--file", file1]), + frameworkSelector: nonInteractive ? null : (_, _) => + { + return ValueTask.FromResult("net9.0"); + }, + deviceSelector: null, + CancellationToken.None); + + if (nonInteractive) + { + AssertEx.SequenceEqual( + [ + "[Error] " + MessageDescriptor.FileSpecifiesMultipleTargetFrameworks.GetMessage((file1, "net9.0', 'net10.0")) + ], context.BuildLogger.GetAndClearMessages()); + + Assert.False(result.Success); + Assert.Empty(context.BuildInvocations); + } + else + { + Assert.True(result.Success); + AssertEx.SequenceEqual([$"build {file1} -p A=1 --framework net9.0"], context.BuildInvocations); + } + } + + [Fact] + public async Task FileBasedApp_TargetFrameworkOption() + { + var dir = TestAssetsManager.CreateTestDirectory(); + var file1 = Path.Combine(dir.Path, "File1.cs"); + File.WriteAllText(file1, """ + #:property TargetFrameworks=net9.0;net10.0 + Console.WriteLine(1); + """); + + using var context = CreateContext([file1]); + + var result = await context.Watcher.BuildProjectsAsync( + [new ProjectRepresentation(projectPath: null, entryPointFilePath: file1)], + context.FileWatcher, + mainProjectOptions: TestOptions.GetProjectOptions(["--file", file1, "-f", "net8.0"]), + frameworkSelector: (_, _) => + { + Assert.Fail("Selector should not be invoked"); + return ValueTask.FromResult("n/a"); + }, + deviceSelector: null, + CancellationToken.None); + + Assert.True(result.Success); + + AssertEx.SequenceEqual([$"build {file1} -p A=1 --framework net8.0"], context.BuildInvocations); + } + [Fact] public async Task MultipleFiles() { - var dir = Path.GetTempPath(); - var file1 = Path.Combine(dir, "File1.cs"); - var file2 = Path.Combine(dir, "File2.cs"); + var dir = TestAssetsManager.CreateTestDirectory(); + var file1 = Path.Combine(dir.Path, "File1.cs"); + var file2 = Path.Combine(dir.Path, "File2.cs"); using var context = CreateContext(); @@ -218,10 +324,10 @@ public async Task MultipleFiles() [Fact] public async Task SingleProject_MultipleFiles() { - var dir = Path.GetTempPath(); - var project1 = Path.Combine(dir, "Project1.csproj"); - var file1 = Path.Combine(dir, "File1.cs"); - var file2 = Path.Combine(dir, "File2.cs"); + var dir = TestAssetsManager.CreateTestDirectory(); + var project1 = Path.Combine(dir.Path, "Project1.csproj"); + var file1 = Path.Combine(dir.Path, "File1.cs"); + var file2 = Path.Combine(dir.Path, "File2.cs"); using var context = CreateContext(); @@ -251,11 +357,11 @@ public async Task SingleProject_MultipleFiles() [Fact] public async Task MultipleProjects_MultipleFiles() { - var dir = Path.GetTempPath(); - var project1 = Path.Combine(dir, "Project1.csproj"); - var project2 = Path.Combine(dir, "Project2.csproj"); - var file1 = Path.Combine(dir, "File1.cs"); - var file2 = Path.Combine(dir, "File2.cs"); + var dir = TestAssetsManager.CreateTestDirectory(); + var project1 = Path.Combine(dir.Path, "Project1.csproj"); + var project2 = Path.Combine(dir.Path, "Project2.csproj"); + var file1 = Path.Combine(dir.Path, "File1.cs"); + var file2 = Path.Combine(dir.Path, "File2.cs"); using var context = CreateContext(); diff --git a/test/dotnet-watch.Tests/HotReload/CompilationHandlerTests.cs b/test/dotnet-watch.Tests/HotReload/CompilationHandlerTests.cs index 041b411beae9..776dd6dd1535 100644 --- a/test/dotnet-watch.Tests/HotReload/CompilationHandlerTests.cs +++ b/test/dotnet-watch.Tests/HotReload/CompilationHandlerTests.cs @@ -22,8 +22,8 @@ public async Task ReferenceOutputAssembly_False() var projectOptions = TestOptions.GetProjectOptions(cmdOptions); var environmentOptions = TestOptions.GetEnvironmentOptions(Environment.CurrentDirectory); - var factory = new ProjectGraphFactory([hostProjectRepr], virtualProjectTargetFramework: null, buildProperties: [], NullLogger.Instance, cmdOptions.GlobalOptions, environmentOptions); - var projectGraph = factory.TryLoadProjectGraph(projectGraphRequired: false, CancellationToken.None); + var factory = new ProjectGraphFactory([hostProjectRepr], buildProperties: [], NullLogger.Instance, cmdOptions.GlobalOptions, environmentOptions); + var projectGraph = factory.TryLoadProjectGraph(projectGraphRequired: false, virtualProjectTargetFramework: null, CancellationToken.None); Assert.NotNull(projectGraph); var processOutputReporter = new TestProcessOutputReporter(); diff --git a/test/dotnet-watch.Tests/HotReload/FileBasedAppTests.cs b/test/dotnet-watch.Tests/HotReload/FileBasedAppTests.cs new file mode 100644 index 000000000000..43a9c2e23262 --- /dev/null +++ b/test/dotnet-watch.Tests/HotReload/FileBasedAppTests.cs @@ -0,0 +1,103 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +namespace Microsoft.DotNet.Watch.UnitTests; + +public class FileBasedAppTests(ITestOutputHelper output) : DotNetWatchTestBase(output) +{ + [Fact] + public async Task IncludeDirective() + { + var testAsset = TestAssets.CreateTestAsset("FBA"); + + var entryPointFilePath = Path.Combine(testAsset.Path, "App.cs"); + File.WriteAllText(entryPointFilePath, """ + #:property ExperimentalFileBasedProgramEnableIncludeDirective=true + #:property StartupHookSupport=true + #:include Lib.cs + + using System.Reflection; + using System.Runtime.Versioning; + + Console.WriteLine(typeof(Program).Assembly.GetCustomAttribute()!.FrameworkName); + + while (true) + { + Lib.F(); + Thread.Sleep(1000); + } + """); + + var referencedFilePath = Path.Combine(testAsset.Path, "Lib.cs"); + File.WriteAllText(referencedFilePath, """ + class Lib + { + public static void F() + { + Console.WriteLine("Library"); + } + } + """); + + App.Start(testAsset, ["App.cs"]); + + await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); + + await App.WaitUntilOutputContains(ToolsetInfo.CurrentTargetFrameworkMoniker); + await App.WaitUntilOutputContains("Library"); + + App.Process.ClearOutput(); + UpdateSourceFile(referencedFilePath, src => src.Replace("Library", "")); + + await App.WaitUntilOutputContains(""); + } + + [Fact] + public async Task TargetFrameworks_Selection() + { + var testAsset = TestAssets.CreateTestAsset("FBA"); + + var entryPointFilePath = Path.Combine(testAsset.Path, "App.cs"); + File.WriteAllText(entryPointFilePath, """ + #:property TargetFrameworks= net9.0; net10.0 + using System.Reflection; + using System.Runtime.Versioning; + + Console.WriteLine(typeof(Program).Assembly.GetCustomAttribute()!.FrameworkName); + """); + + App.Start(testAsset, ["App.cs"], testFlags: TestFlags.ReadKeyFromStdin); + + await App.WaitUntilOutputContains(Resources.SelectTargetFrameworkPrompt); + + foreach (var c in "net9.0") + { + App.SendKey(c); + } + + App.SendKey('\r'); + + await App.WaitUntilOutputContains(".NETCoreApp,Version=v9.0"); + await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); + } + + [Fact] + public async Task TargetFramework() + { + var testAsset = TestAssets.CreateTestAsset("FBA"); + + var entryPointFilePath = Path.Combine(testAsset.Path, "App.cs"); + File.WriteAllText(entryPointFilePath, """ + #:property TargetFramework=net9.0 + using System.Reflection; + using System.Runtime.Versioning; + + Console.WriteLine(typeof(Program).Assembly.GetCustomAttribute()!.FrameworkName); + """); + + App.Start(testAsset, ["App.cs"]); + + await App.WaitUntilOutputContains(".NETCoreApp,Version=v9.0"); + await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); + } +} diff --git a/test/dotnet-watch.Tests/HotReload/SourceFileUpdateTests.HotReloadNotSupported.cs b/test/dotnet-watch.Tests/HotReload/SourceFileUpdateTests.HotReloadNotSupported.cs index b8f84c7fd249..a94622063833 100644 --- a/test/dotnet-watch.Tests/HotReload/SourceFileUpdateTests.HotReloadNotSupported.cs +++ b/test/dotnet-watch.Tests/HotReload/SourceFileUpdateTests.HotReloadNotSupported.cs @@ -28,7 +28,7 @@ public async Task ChangeFileInAotProject(string propertyName, string propertyVal App.Start(testAsset, ["--non-interactive"]); - var message = MessageDescriptor.ProjectDoesNotSupportHotReload.GetMessage($"'{propertyName}' property is '{propertyValue}'"); + var message = MessageDescriptor.ProjectDoesNotSupportHotReload_Property.GetMessage((propertyName, propertyValue, PropertyNames.StartupHookSupport, "True")); await App.WaitForOutputLineContaining($"[{projectDisplay}] {message}"); await App.WaitForOutputLineContaining(MessageDescriptor.WaitingForChanges); App.Process.ClearOutput(); From 80922e4e3d3cc8985be4b4c83645e9380cd20b7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Wed, 15 Apr 2026 08:18:08 +0300 Subject: [PATCH 115/137] Fix reporting Hot Reload capabilities of WASM projects (#53665) --- .../HotReloadClient/Logging/LogEvents.cs | 3 ++ .../Logging/LoggingUtilities.cs | 2 +- .../Web/WebAssemblyHotReloadClient.cs | 6 ++- .../Watch/AppModels/WebApplicationAppModel.cs | 2 +- src/Dotnet.Watch/Watch/UI/IReporter.cs | 6 ++- test/Microsoft.NET.TestFramework/TestAsset.cs | 19 +++++-- .../WatchBlazorWasm/blazorwasm.csproj | 5 -- .../Browser/BrowserTests.cs | 2 +- .../HotReload/RazorHotReloadTests.cs | 49 +++++++++---------- .../Watch/FileUpdateTests.cs | 1 + 10 files changed, 51 insertions(+), 44 deletions(-) diff --git a/src/Dotnet.Watch/HotReloadClient/Logging/LogEvents.cs b/src/Dotnet.Watch/HotReloadClient/Logging/LogEvents.cs index 939103f5bb47..648e897c8008 100644 --- a/src/Dotnet.Watch/HotReloadClient/Logging/LogEvents.cs +++ b/src/Dotnet.Watch/HotReloadClient/Logging/LogEvents.cs @@ -3,6 +3,7 @@ #nullable enable +using System; using System.Runtime.CompilerServices; using Microsoft.Extensions.Logging; @@ -76,5 +77,7 @@ public static void Log(this ILogger logger, LogEvent<(TArg1 public static readonly LogEvent RefreshServerRunningAt = Create(LogLevel.Debug, "Refresh server running at {0}."); public static readonly LogEvent ConnectedToRefreshServer = Create(LogLevel.Debug, "Connected to refresh server."); public static readonly LogEvent ManifestFileNotFound = Create(LogLevel.Debug, "Manifest file '{0}' not found."); + public static readonly LogEvent ProjectSpecifiesCapabilities = Create(LogLevel.Debug, "Project specifies capabilities: {0}."); + public static readonly LogEvent<(Version, string)> UsingCapabilitiesBasedOnTargetFrameworkVersion = Create<(Version, string)>(LogLevel.Debug, "Using capabilities based on project target framework version: '{0}': {1}."); } diff --git a/src/Dotnet.Watch/HotReloadClient/Logging/LoggingUtilities.cs b/src/Dotnet.Watch/HotReloadClient/Logging/LoggingUtilities.cs index 28b60f04fa7b..7e193d526382 100644 --- a/src/Dotnet.Watch/HotReloadClient/Logging/LoggingUtilities.cs +++ b/src/Dotnet.Watch/HotReloadClient/Logging/LoggingUtilities.cs @@ -12,7 +12,7 @@ internal static class LoggingUtilities public static ILogger CreateLogger(this ILoggerFactory factory, string componentName, string displayName) => factory.CreateLogger($"{componentName}|{displayName}"); - public static (string comonentName, string? displayName) ParseCategoryName(string categoryName) + public static (string componentName, string? displayName) ParseCategoryName(string categoryName) => categoryName.IndexOf('|') is int index && index > 0 ? (categoryName[..index], categoryName[(index + 1)..]) : (categoryName, null); diff --git a/src/Dotnet.Watch/HotReloadClient/Web/WebAssemblyHotReloadClient.cs b/src/Dotnet.Watch/HotReloadClient/Web/WebAssemblyHotReloadClient.cs index 814fa1a7d09d..cdb5e40ec2f3 100644 --- a/src/Dotnet.Watch/HotReloadClient/Web/WebAssemblyHotReloadClient.cs +++ b/src/Dotnet.Watch/HotReloadClient/Web/WebAssemblyHotReloadClient.cs @@ -60,11 +60,13 @@ private static ImmutableArray GetUpdateCapabilities(ILogger logger, Immu var capabilitiesStr = string.Join(", ", capabilities); if (projectHotReloadCapabilities.IsEmpty) { - logger.LogDebug("Project specifies capabilities: {Capabilities}.", capabilitiesStr); + // Note that this is not possible with SDK 10+ since the WASM SDK always defines the capabilities in the project, + // but the code is shared with VS and CDK which might not use the latest SDK. + logger.Log(LogEvents.UsingCapabilitiesBasedOnTargetFrameworkVersion, projectTargetFrameworkVersion, capabilitiesStr); } else { - logger.LogDebug("Using capabilities based on project target framework version: '{Version}': {Capabilities}.", projectTargetFrameworkVersion, capabilitiesStr); + logger.Log(LogEvents.ProjectSpecifiesCapabilities, capabilitiesStr); } return capabilities; diff --git a/src/Dotnet.Watch/Watch/AppModels/WebApplicationAppModel.cs b/src/Dotnet.Watch/Watch/AppModels/WebApplicationAppModel.cs index b4b72f3b7a64..a48047c1b91f 100644 --- a/src/Dotnet.Watch/Watch/AppModels/WebApplicationAppModel.cs +++ b/src/Dotnet.Watch/Watch/AppModels/WebApplicationAppModel.cs @@ -95,7 +95,7 @@ public bool IsServerSupported(ProjectGraphNode projectNode, ILogger logger) return false; } - logger.Log(MessageDescriptor.ConfiguredToUseBrowserRefresh); + logger.Log(MessageDescriptor.UsingBrowserRefreshMiddleware); return true; } } diff --git a/src/Dotnet.Watch/Watch/UI/IReporter.cs b/src/Dotnet.Watch/Watch/UI/IReporter.cs index 515a422126ea..140558c3c867 100644 --- a/src/Dotnet.Watch/Watch/UI/IReporter.cs +++ b/src/Dotnet.Watch/Watch/UI/IReporter.cs @@ -209,6 +209,8 @@ public static MessageDescriptor GetDescriptor(EventId id) public static readonly MessageDescriptor<(int, string)> UpdateBatchFailedWithError = Create(LogEvents.UpdateBatchFailedWithError, Emoji.HotReload); public static readonly MessageDescriptor<(int, string)> UpdateBatchExceptionStackTrace = Create(LogEvents.UpdateBatchExceptionStackTrace, Emoji.HotReload); public static readonly MessageDescriptor Capabilities = Create(LogEvents.Capabilities, Emoji.HotReload); + public static readonly MessageDescriptor ProjectSpecifiesCapabilities = Create(LogEvents.ProjectSpecifiesCapabilities, Emoji.HotReload); + public static readonly MessageDescriptor<(Version, string)> UsingCapabilitiesBasedOnTargetFrameworkVersion = Create(LogEvents.UsingCapabilitiesBasedOnTargetFrameworkVersion, Emoji.HotReload); public static readonly MessageDescriptor WaitingForFileChangeBeforeRestarting = Create("Waiting for a file to change before restarting ...", Emoji.Wait, LogLevel.Warning); public static readonly MessageDescriptor WatchingWithHotReload = Create("Watching with Hot Reload.", Emoji.Watch, LogLevel.Debug); public static readonly MessageDescriptor RestartInProgress = Create("Restart in progress.", Emoji.Restart, LogLevel.Information); @@ -220,8 +222,8 @@ public static MessageDescriptor GetDescriptor(EventId id) public static readonly MessageDescriptor ApplyUpdate_Verbose = Create("{0}", Emoji.Default, LogLevel.Debug); public static readonly MessageDescriptor ApplyUpdate_AutoVerbose = Create("{0}", Emoji.Default, LogLevel.Debug); public static readonly MessageDescriptor ApplyUpdate_ChangingEntryPoint = Create("{0} Press \"Ctrl + R\" to restart.", Emoji.Warning, LogLevel.Warning); - public static readonly MessageDescriptor ConfiguredToLaunchBrowser = Create("dotnet-watch is configured to launch a browser on ASP.NET Core application startup.", Emoji.Watch, LogLevel.Debug); - public static readonly MessageDescriptor ConfiguredToUseBrowserRefresh = Create("Using browser-refresh middleware", Emoji.Default, LogLevel.Debug); + public static readonly MessageDescriptor ConfiguredToLaunchBrowser = Create("Configured to launch a browser on ASP.NET Core application startup.", Emoji.Watch, LogLevel.Debug); + public static readonly MessageDescriptor UsingBrowserRefreshMiddleware = Create("Using browser-refresh middleware", Emoji.Default, LogLevel.Debug); public static readonly MessageDescriptor BrowserRefreshSuppressedViaEnvironmentVariable_ManualRefreshRequired = Create("Browser refresh is suppressed via environment variable '{0}'. To reload static assets after an update refresh browser manually.", Emoji.Watch, LogLevel.Debug); public static readonly MessageDescriptor BrowserRefreshSuppressedViaEnvironmentVariable_ApplicationWillBeRestarted = Create("Browser refresh is suppressed via environment variable '{0}'. Application will be restarted when updated.", Emoji.Watch, LogLevel.Warning); public static readonly MessageDescriptor BrowserRefreshNotSupportedByProjectTargetFramework_ManualRefreshRequired = Create("Browser refresh is not supported by the project target framework. To reload static assets after an update refresh browser manually. For more information see 'https://aka.ms/dotnet/watch/unsupported-tfm'.", Emoji.Watch, LogLevel.Warning); diff --git a/test/Microsoft.NET.TestFramework/TestAsset.cs b/test/Microsoft.NET.TestFramework/TestAsset.cs index 26eda24f928c..558c623d25e2 100644 --- a/test/Microsoft.NET.TestFramework/TestAsset.cs +++ b/test/Microsoft.NET.TestFramework/TestAsset.cs @@ -63,8 +63,15 @@ internal void FindProjectFiles() /// /// Copies all of the source code from the TestAsset's original location to the previously-configured destination directory. /// - /// - public TestAsset WithSource() + /// + /// Target framework to use for $(CurrentTargetFramework) property. + /// + /// + /// Properties used in PackageReference version attributes in the test projects that should be replaced with the given values. + /// + public TestAsset WithSource( + string? targetFramework = null, + IEnumerable<(string versionPropertyName, string version)>? packageVersionPropertySubstitutions = null) { _projectFiles = new List(); @@ -93,10 +100,12 @@ public TestAsset WithSource() File.Copy(srcFile, destFile, true); } + targetFramework ??= ToolsetInfo.CurrentTargetFramework; + var substitutions = new[] { - (propertyName: "TargetFramework", variableName: "CurrentTargetFramework", value: ToolsetInfo.CurrentTargetFramework), - (propertyName: "CurrentTargetFramework", variableName: "CurrentTargetFramework", value: ToolsetInfo.CurrentTargetFramework), + (propertyName: "TargetFramework", variableName: "CurrentTargetFramework", value: targetFramework), + (propertyName: "CurrentTargetFramework", variableName: "CurrentTargetFramework", value: targetFramework), (propertyName: "RuntimeIdentifier", variableName: "LatestWinRuntimeIdentifier", value: ToolsetInfo.LatestWinRuntimeIdentifier), (propertyName: "RuntimeIdentifier", variableName: "LatestLinuxRuntimeIdentifier", value: ToolsetInfo.LatestLinuxRuntimeIdentifier), (propertyName: "RuntimeIdentifier", variableName: "LatestMacRuntimeIdentifier", value: ToolsetInfo.LatestMacRuntimeIdentifier), @@ -108,7 +117,7 @@ public TestAsset WithSource() UpdateProjProperty(propertyName, variableName, value); } - foreach (var (propertyName, version) in ToolsetInfo.GetPackageVersionProperties()) + foreach (var (propertyName, version) in packageVersionPropertySubstitutions ?? ToolsetInfo.GetPackageVersionProperties()) { ReplacePackageVersionVariable(propertyName, version); } diff --git a/test/TestAssets/TestProjects/WatchBlazorWasm/blazorwasm.csproj b/test/TestAssets/TestProjects/WatchBlazorWasm/blazorwasm.csproj index faf089dff1c0..a576734b5fda 100644 --- a/test/TestAssets/TestProjects/WatchBlazorWasm/blazorwasm.csproj +++ b/test/TestAssets/TestProjects/WatchBlazorWasm/blazorwasm.csproj @@ -9,11 +9,6 @@ - - - true - - diff --git a/test/dotnet-watch.Tests/Browser/BrowserTests.cs b/test/dotnet-watch.Tests/Browser/BrowserTests.cs index e94edb8b8169..fed7f3fd2e0a 100644 --- a/test/dotnet-watch.Tests/Browser/BrowserTests.cs +++ b/test/dotnet-watch.Tests/Browser/BrowserTests.cs @@ -37,7 +37,7 @@ public async Task BrowserDiagnostics() App.Start(testAsset, ["--urls", url], relativeProjectDirectory: "RazorApp", testFlags: TestFlags.ReadKeyFromStdin); - await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToUseBrowserRefresh); + await App.WaitUntilOutputContains(MessageDescriptor.UsingBrowserRefreshMiddleware); await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToLaunchBrowser); await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); diff --git a/test/dotnet-watch.Tests/HotReload/RazorHotReloadTests.cs b/test/dotnet-watch.Tests/HotReload/RazorHotReloadTests.cs index 72387910b17c..31df062b773c 100644 --- a/test/dotnet-watch.Tests/HotReload/RazorHotReloadTests.cs +++ b/test/dotnet-watch.Tests/HotReload/RazorHotReloadTests.cs @@ -1,39 +1,35 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -#nullable disable - namespace Microsoft.DotNet.Watch.UnitTests; public class RazorHotReloadTests(ITestOutputHelper logger) : DotNetWatchTestBase(logger) { [PlatformSpecificTheory(TestPlatforms.Windows | TestPlatforms.OSX)] // https://github.com/dotnet/sdk/issues/53114 - [CombinatorialData] - public async Task BlazorWasm(bool projectSpecifiesCapabilities) + [InlineData("net6.0", "6.0.36")] + [InlineData(ToolsetInfo.CurrentTargetFramework, null)] + public async Task BlazorWasm(string tfm, string? wasmVersion) { - var tfm = ToolsetInfo.CurrentTargetFramework; - - var testAsset = TestAssets.CopyTestAsset("WatchBlazorWasm", identifier: projectSpecifiesCapabilities.ToString()) - .WithSource(); - - if (projectSpecifiesCapabilities) - { - testAsset = testAsset.WithProjectChanges(proj => - { - proj.Root.Descendants() - .First(e => e.Name.LocalName == "PropertyGroup") - .Add(XElement.Parse(""" - Baseline;AddMethodToExistingType - """)); - }); - } + var testAsset = TestAssets.CopyTestAsset("WatchBlazorWasm", identifier: $"{tfm}_{wasmVersion}").WithSource( + targetFramework: tfm, + packageVersionPropertySubstitutions: wasmVersion != null ? [("MicrosoftAspNetCoreAppRefPackageVersion", wasmVersion)] : null); var port = TestOptions.GetTestPort(); App.Start(testAsset, ["--urls", "http://localhost:" + port], testFlags: TestFlags.MockBrowser); - await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToUseBrowserRefresh); + await App.WaitUntilOutputContains(MessageDescriptor.UsingBrowserRefreshMiddleware); await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToLaunchBrowser); + // AddExplicitInterfaceImplementation is an implicit capability that's always added for .NET targets: + string[] expectedCapabilities = tfm switch + { + "net6.0" => ["Baseline", "AddMethodToExistingType", "AddStaticFieldToExistingType", "NewTypeDefinition", "ChangeCustomAttributes", "AddExplicitInterfaceImplementation"], + _ => ["Baseline", "AddMethodToExistingType", "AddStaticFieldToExistingType", "NewTypeDefinition", "ChangeCustomAttributes", "AddInstanceFieldToExistingType", + "GenericAddMethodToExistingType", "GenericUpdateMethod", "UpdateParameters", "GenericAddFieldToExistingType", "AddExplicitInterfaceImplementation" ] + }; + + await App.WaitUntilOutputContains(MessageDescriptor.ProjectSpecifiesCapabilities.GetMessage(string.Join(", ", expectedCapabilities))); + // env variable passed when launching the server: await App.WaitUntilOutputContains($"HOTRELOAD_DELTA_CLIENT_LOG_MESSAGES=dotnet watch 🕵️ [blazorwasm ({tfm})]"); @@ -61,8 +57,7 @@ public async Task BlazorWasm(bool projectSpecifiesCapabilities) UpdateSourceFile(Path.Combine(testAsset.Path, "Pages", "Index.razor"), newSource); - // WebAssemblyHotReloadCapabilities set by project is overwritten in WASM SDK targets: - await App.WaitUntilOutputContains("dotnet watch 🔥 Hot reload capabilities: AddExplicitInterfaceImplementation AddInstanceFieldToExistingType AddMethodToExistingType AddStaticFieldToExistingType Baseline ChangeCustomAttributes GenericAddFieldToExistingType GenericAddMethodToExistingType GenericUpdateMethod NewTypeDefinition UpdateParameters."); + await App.WaitUntilOutputContains($"dotnet watch 🔥 Hot reload capabilities: {string.Join(" ", expectedCapabilities.Order())}."); await App.WaitUntilOutputContains(MessageDescriptor.ManagedCodeChangesApplied); } @@ -74,7 +69,7 @@ public async Task BlazorWasm_MSBuildWarning() .WithSource() .WithProjectChanges(proj => { - proj.Root.Descendants() + proj.Root!.Descendants() .Single(e => e.Name.LocalName == "ItemGroup") .Add(XElement.Parse(""" @@ -99,7 +94,7 @@ public async Task BlazorWasm_Restart() await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); - await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToUseBrowserRefresh); + await App.WaitUntilOutputContains(MessageDescriptor.UsingBrowserRefreshMiddleware); await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToLaunchBrowser); await App.WaitUntilOutputContains(MessageDescriptor.PressCtrlRToRestart); @@ -120,7 +115,7 @@ public async Task BlazorWasmHosted() var port = TestOptions.GetTestPort(); App.Start(testAsset, ["--urls", "http://localhost:" + port], "blazorhosted", testFlags: TestFlags.MockBrowser); - await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToUseBrowserRefresh); + await App.WaitUntilOutputContains(MessageDescriptor.UsingBrowserRefreshMiddleware); await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToLaunchBrowser); await App.WaitUntilOutputContains(MessageDescriptor.ApplicationKind_BlazorHosted); } @@ -136,7 +131,7 @@ public async Task Razor_Component_ScopedCssAndStaticAssets() await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); - await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToUseBrowserRefresh); + await App.WaitUntilOutputContains(MessageDescriptor.UsingBrowserRefreshMiddleware); await App.WaitUntilOutputContains(MessageDescriptor.ConfiguredToLaunchBrowser); await App.WaitUntilOutputContains(MessageDescriptor.LaunchingBrowser.GetMessage($"http://localhost:{port}")); App.Process.ClearOutput(); diff --git a/test/dotnet-watch.Tests/Watch/FileUpdateTests.cs b/test/dotnet-watch.Tests/Watch/FileUpdateTests.cs index e244fae8115c..6a322b1fce09 100644 --- a/test/dotnet-watch.Tests/Watch/FileUpdateTests.cs +++ b/test/dotnet-watch.Tests/Watch/FileUpdateTests.cs @@ -76,6 +76,7 @@ public void Test1() await App.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); await App.WaitUntilOutputContains("Failed!"); + await App.WaitForOutputLineContaining(MessageDescriptor.WaitingForFileChangeBeforeRestarting); App.Process.ClearOutput(); UpdateSourceFile(testFile, """ From cc3acf3f0403a35f708d7670589c28192e0bf709 Mon Sep 17 00:00:00 2001 From: Karol Zadora-Przylecki Date: Tue, 14 Apr 2026 15:07:30 -0700 Subject: [PATCH 116/137] Fix AspireHostLauncher not launching the Aspire host --- .../Watch.Aspire/Host/AspireHostLauncher.cs | 4 +++- .../Server/AspireWatcherLauncher.cs | 4 +++- .../AspireHostLauncherTests.cs | 18 +++++++++--------- .../AspireLauncherTests.cs | 1 + 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs b/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs index facbff0e88f7..fbfd214ca92c 100644 --- a/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs +++ b/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs @@ -43,7 +43,7 @@ internal sealed class AspireHostLauncher( launchProfileName: noLaunchProfile ? Optional.NoValue : launchProfile); } - internal ProjectOptions GetProjectOptions() + protected override ProjectOptions? GetProjectOptions() { var commandArguments = new List() { @@ -75,6 +75,8 @@ internal ProjectOptions GetProjectOptions() }; } + internal ProjectOptions GetHostProjectOptions() => GetProjectOptions()!; + public override async Task LaunchAsync(CancellationToken cancellationToken) { return await LaunchWatcherAsync( diff --git a/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs b/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs index ea8f75b1e53b..c0da9e8e66ac 100644 --- a/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs +++ b/src/Dotnet.Watch/Watch.Aspire/Server/AspireWatcherLauncher.cs @@ -28,7 +28,7 @@ protected async Task LaunchWatcherAsync( ProcessRunner = new ProcessRunner(EnvironmentOptions.GetProcessCleanupTimeout()), Options = GlobalOptions, EnvironmentOptions = EnvironmentOptions, - MainProjectOptions = null, + MainProjectOptions = GetProjectOptions(), BuildArguments = [], RootProjects = rootProjects, BrowserRefreshServerFactory = new BrowserRefreshServerFactory(), @@ -50,4 +50,6 @@ protected async Task LaunchWatcherAsync( return 0; } + + protected virtual ProjectOptions? GetProjectOptions() => null; } diff --git a/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireHostLauncherTests.cs b/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireHostLauncherTests.cs index 0718b7205d0b..94abac0ac2ca 100644 --- a/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireHostLauncherTests.cs +++ b/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireHostLauncherTests.cs @@ -44,7 +44,7 @@ public void GetProjectOptions_ProjectFile_UsesProjectFlag() { var launcher = CreateLauncher("myapp.csproj"); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.False(options.LaunchProfileName.HasValue); @@ -56,7 +56,7 @@ public void GetProjectOptions_EntryPointFile_UsesFileFlag() { var launcher = CreateLauncher("Program.cs"); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.False(options.LaunchProfileName.HasValue); @@ -68,7 +68,7 @@ public void GetProjectOptions_WithLaunchProfile_AddsLaunchProfileArguments() { var launcher = CreateLauncher("myapp.csproj", launchProfileName: "MyProfile"); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.True(options.LaunchProfileName.HasValue); @@ -81,7 +81,7 @@ public void GetProjectOptions_NoLaunchProfile_AddsNoLaunchProfileFlag() { var launcher = CreateLauncher("myapp.csproj", launchProfileName: Optional.NoValue); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.False(options.LaunchProfileName.HasValue); @@ -94,7 +94,7 @@ public void GetProjectOptions_NullLaunchProfile_UsesDefault() // null value (HasValue=true) means use default launch profile - no --launch-profile or --no-launch-profile flag var launcher = CreateLauncher("myapp.csproj", launchProfileName: (string?)null); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.True(options.LaunchProfileName.HasValue); @@ -107,7 +107,7 @@ public void GetProjectOptions_WithApplicationArguments_AppendsArguments() { var launcher = CreateLauncher("myapp.csproj", launchProfileName: "Profile", applicationArguments: ["arg1", "arg2"]); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.True(options.LaunchProfileName.HasValue); @@ -120,7 +120,7 @@ public void GetProjectOptions_SetsCustomWorkingDirectory() { var launcher = CreateLauncher("myapp.csproj", workingDirectory: "/custom/path"); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.Equal("/custom/path", options.WorkingDirectory); @@ -131,7 +131,7 @@ public void GetProjectOptions_EntryPointFile_WithLaunchProfileAndArguments() { var launcher = CreateLauncher("Program.cs", launchProfileName: "Dev", applicationArguments: ["--port", "8080"]); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions()!; AssertCommonProperties(options, launcher); Assert.True(options.LaunchProfileName.HasValue); @@ -144,7 +144,7 @@ public void GetProjectOptions_NoLaunchProfile_WithApplicationArguments() { var launcher = CreateLauncher("myapp.csproj", launchProfileName: Optional.NoValue, applicationArguments: ["--urls", "http://localhost:5000"]); - var options = launcher.GetProjectOptions(); + var options = launcher.GetHostProjectOptions(); AssertCommonProperties(options, launcher); Assert.False(options.LaunchProfileName.HasValue); diff --git a/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs b/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs index 7e30a869bbaf..e909805befd2 100644 --- a/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs +++ b/test/Microsoft.DotNet.HotReload.Watch.Aspire.Tests/AspireLauncherTests.cs @@ -42,6 +42,7 @@ public async Task Host() host.Start(testAsset, ["--entrypoint", projectPath]); await host.WaitUntilOutputContains(MessageDescriptor.WaitingForChanges); + await host.WaitUntilOutputContains("Started"); } [PlatformSpecificFact(TestPlatforms.Windows | TestPlatforms.Linux)] // https://github.com/dotnet/sdk/issues/53061 From 3930f032929bdd2c275a23a617a7c7103243a5eb Mon Sep 17 00:00:00 2001 From: Karol Zadora-Przylecki Date: Tue, 14 Apr 2026 18:20:44 -0700 Subject: [PATCH 117/137] Improve AspireHostLauncher interface --- src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs b/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs index fbfd214ca92c..84c991188aed 100644 --- a/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs +++ b/src/Dotnet.Watch/Watch.Aspire/Host/AspireHostLauncher.cs @@ -43,7 +43,7 @@ internal sealed class AspireHostLauncher( launchProfileName: noLaunchProfile ? Optional.NoValue : launchProfile); } - protected override ProjectOptions? GetProjectOptions() + protected override ProjectOptions GetProjectOptions() { var commandArguments = new List() { @@ -75,7 +75,7 @@ internal sealed class AspireHostLauncher( }; } - internal ProjectOptions GetHostProjectOptions() => GetProjectOptions()!; + internal ProjectOptions GetHostProjectOptions() => GetProjectOptions(); public override async Task LaunchAsync(CancellationToken cancellationToken) { From b278293d24c3580614ab7cbcafe069a1a5edd974 Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Wed, 15 Apr 2026 10:20:12 +0200 Subject: [PATCH 118/137] Implement `#:ref` directive for file-based apps (#53480) --- .github/copilot/skills/incremental-test.md | 1 + documentation/general/dotnet-run-file.md | 31 +- .../FileBasedProgramsResources.resx | 8 + .../FileLevelDirectiveHelpers.cs | 95 ++ .../InternalAPI.Unshipped.txt | 17 + .../xlf/FileBasedProgramsResources.cs.xlf | 10 + .../xlf/FileBasedProgramsResources.de.xlf | 10 + .../xlf/FileBasedProgramsResources.es.xlf | 10 + .../xlf/FileBasedProgramsResources.fr.xlf | 10 + .../xlf/FileBasedProgramsResources.it.xlf | 10 + .../xlf/FileBasedProgramsResources.ja.xlf | 10 + .../xlf/FileBasedProgramsResources.ko.xlf | 10 + .../xlf/FileBasedProgramsResources.pl.xlf | 10 + .../xlf/FileBasedProgramsResources.pt-BR.xlf | 10 + .../xlf/FileBasedProgramsResources.ru.xlf | 10 + .../xlf/FileBasedProgramsResources.tr.xlf | 10 + .../FileBasedProgramsResources.zh-Hans.xlf | 10 + .../FileBasedProgramsResources.zh-Hant.xlf | 10 + .../dotnet/Commands/CliCommandStrings.resx | 4 + .../Project/Convert/ProjectConvertCommand.cs | 311 +++-- .../Run/VirtualProjectBuildingCommand.cs | 76 +- .../Commands/xlf/CliCommandStrings.cs.xlf | 5 + .../Commands/xlf/CliCommandStrings.de.xlf | 5 + .../Commands/xlf/CliCommandStrings.es.xlf | 5 + .../Commands/xlf/CliCommandStrings.fr.xlf | 5 + .../Commands/xlf/CliCommandStrings.it.xlf | 5 + .../Commands/xlf/CliCommandStrings.ja.xlf | 5 + .../Commands/xlf/CliCommandStrings.ko.xlf | 5 + .../Commands/xlf/CliCommandStrings.pl.xlf | 5 + .../Commands/xlf/CliCommandStrings.pt-BR.xlf | 5 + .../Commands/xlf/CliCommandStrings.ru.xlf | 5 + .../Commands/xlf/CliCommandStrings.tr.xlf | 5 + .../xlf/CliCommandStrings.zh-Hans.xlf | 5 + .../xlf/CliCommandStrings.zh-Hant.xlf | 5 + .../VirtualProjectBuilder.cs | 31 +- .../Convert/DotnetProjectConvertTests.cs | 452 +++++++ .../CommandTests/Run/RunFileTests.cs | 1072 +++++++++++++++-- 37 files changed, 2126 insertions(+), 167 deletions(-) diff --git a/.github/copilot/skills/incremental-test.md b/.github/copilot/skills/incremental-test.md index a15c42f6cd28..7422b8a28d79 100644 --- a/.github/copilot/skills/incremental-test.md +++ b/.github/copilot/skills/incremental-test.md @@ -6,6 +6,7 @@ Use it after making source code changes to quickly build only the modified proje ## Prerequisites - A full build must have been completed at least once (via `build.cmd` or `build.sh`) so that the redist SDK layout exists at `artifacts\bin\redist\Debug\dotnet\sdk\\`. +- The repo-local `.dotnet` SDK must match the version expected by the test projects. If the runtime or SDK version is out of date (e.g., test build fails with a missing framework error), run `.\restore.cmd` (or `./restore.sh` on macOS/Linux) to download the correct SDK into `.dotnet`. - This workflow uses Windows/PowerShell commands and paths. On macOS/Linux, substitute forward slashes and use `cp` instead of `Copy-Item`. ## When to use diff --git a/documentation/general/dotnet-run-file.md b/documentation/general/dotnet-run-file.md index 9b731cc3e561..9c9ed03ab167 100644 --- a/documentation/general/dotnet-run-file.md +++ b/documentation/general/dotnet-run-file.md @@ -112,8 +112,8 @@ If a dash (`-`) is given instead of the target path (i.e., `dotnet run -`), the In this case, the current working directory is not used to search for other files (launch profiles, other sources in case of multi-file apps); the compilation consists solely of the single file read from the standard input. However, the current working directory is still used as the working directory for building and executing the program. -To reference projects relative to the current working directory (instead of relative to the temporary directory the file is isolated in), -you can use something like `#:project $(MSBuildStartupDirectory)/relative/path`. +To reference projects or files relative to the current working directory (instead of relative to the temporary directory the file is isolated in), +you can use something like `#:project $(MSBuildStartupDirectory)/relative/path` or `#:ref $(MSBuildStartupDirectory)/relative/lib.cs`. `dotnet path.cs` is a shortcut for `dotnet run --file path.cs` provided that `path.cs` is a valid [target path](#target-path) (`dotnet -` is currently not supported) and it is not a DLL path, built-in command, or a NuGet tool (e.g., `dotnet watch` invokes the `dotnet-watch` tool @@ -180,11 +180,12 @@ which are [ignored][ignored-directives] by the C# language but recognized by the #:property LangVersion=preview #:package System.CommandLine@2.0.0-* #:project ../MyLibrary +#:ref ../lib/lib.cs #:include ./**/*.cs ``` Each directive has a kind (e.g., `package`), a name (e.g., `System.CommandLine`), a separator (e.g., `@`), and a value (e.g., the package version). -The value is required for `#:property`, optional for `#:package`/`#:sdk`, and disallowed for `#:project`/`#:include`. +The value is required for `#:property`, optional for `#:package`/`#:sdk`, and disallowed for `#:project`/`#:ref`/`#:include`. The name must be separated from the kind of the directive by whitespace and any leading and trailing white space is not considered part of the name and value. @@ -211,6 +212,26 @@ The directives are processed as follows: (because `ProjectReference` items don't support directory paths). An error is reported if zero or more than one projects are found in the directory, just like `dotnet reference add` would do. +- Each `#:ref` references another `.cs` file as a separate project reference. + A virtual project is created for the referenced file (e.g., `lib.cs` produces a virtual `lib.cs.csproj`), + and a `` is injected in an ``. + It is an error if the name is empty or if the referenced file does not exist. + Unlike `#:project`, `#:ref` points to a `.cs` file (not a `.csproj` file or directory). + + The referenced file is itself a file-based program with its own virtual project (defaulting to `OutputType=Exe`). + Library files without an entry point should use `#:property OutputType=Library` to avoid compilation errors. + Because the referenced file is compiled as a separate assembly, internal members of the referenced file are not accessible from the referencing file. + The `#:ref` directive is transitive: a referenced file can itself contain `#:ref` directives (or any other directives). + + Relative paths are resolved relative to the file containing the directive. + MSBuild variables (like `$(MSBuildProjectDirectory)`) can be used in the path. + + During [conversion](#grow-up), each `#:ref` directive creates a separate library project in a sibling directory + and a corresponding `` entry is added to the converted project. + The conversion is recursive: any `#:ref` directives in the referenced files are also converted in the same way. + + This directive is currently gated under a feature flag that can be enabled by setting the MSBuild property `ExperimentalFileBasedProgramEnableRefDirective=true`. + - Each `#:include` is injected as `<{1} Include="{0}" />` in an `` where `{0}` is the directive's value and `{1}` is determined by its extension. The mapping can be customized by setting the MSBuild property `FileBasedProgramsItemMapping` @@ -230,9 +251,9 @@ The directives are processed as follows: - Other directive kinds result in an error, reserving them for future use. Directive values support MSBuild variables (like `$(..)`) normally as they are translated literally and left to MSBuild engine to process. -However, in `#:project` directives, variables might not be preserved during [grow up](#grow-up), +However, in `#:project` and `#:ref` directives, variables might not be preserved during [grow up](#grow-up), because there is additional processing of those directives that makes it technically challenging to preserve variables in all cases -(project directive values need to be resolved to be relative to the target directory +(project and ref directive values need to be resolved to be relative to the target directory and also to point to a project file rather than a directory). Note that it is not expected that variables inside the path change their meaning during the conversion, so for example `#:project ../$(LibName)` is translated to `` (i.e., the variable is preserved). diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileBasedProgramsResources.resx b/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileBasedProgramsResources.resx index cbe3d3838aa3..57a847ae25f7 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileBasedProgramsResources.resx +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileBasedProgramsResources.resx @@ -165,6 +165,14 @@ The '#:project' directive is invalid: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + + + Could not find file '{0}'. + {0} is the file path. + Missing name of '{0}'. {0} is the directive name like 'package' or 'sdk'. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileLevelDirectiveHelpers.cs b/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileLevelDirectiveHelpers.cs index 89413dc860cc..bee6360deaaf 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileLevelDirectiveHelpers.cs +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileLevelDirectiveHelpers.cs @@ -323,6 +323,7 @@ public void ReportError(TextSpan span, string message) case "property": return Property.Parse(context); case "package": return Package.Parse(context); case "project": return Project.Parse(context); + case "ref": return Ref.Parse(context); case "include" or "exclude": return IncludeOrExclude.Parse(context); default: context.ReportError(string.Format(FileBasedProgramsResources.UnrecognizedDirective, context.DirectiveKind)); @@ -587,6 +588,100 @@ void ReportError(string message) public override string ToString() => $"#:project {Name}"; } + /// + /// #:ref directive. References another file-based app as a library. + /// + public sealed class Ref : Named + { + public const string ExperimentalFileBasedProgramEnableRefDirective = nameof(ExperimentalFileBasedProgramEnableRefDirective); + + [SetsRequiredMembers] + public Ref(in ParseInfo info, string name) : base(info) + { + Name = name; + OriginalName = name; + } + + /// + /// Preserved across calls, i.e., + /// this is the original directive text as entered by the user. + /// + public string OriginalName { get; init; } + + /// + /// This is the with MSBuild $(..) vars expanded. + /// + public string? ExpandedName { get; init; } + + /// + /// The resolved full path to the referenced .cs file. + /// + public string? ResolvedPath { get; init; } + + public static new Ref? Parse(in ParseContext context) + { + var directiveText = context.DirectiveText; + if (directiveText.IsWhiteSpace()) + { + context.ReportError(string.Format(FileBasedProgramsResources.MissingDirectiveName, context.DirectiveKind)); + return null; + } + + return new Ref(context.Info, directiveText); + } + + public enum NameKind + { + /// + /// Change and . + /// + Expanded = 1, + + /// + /// Change and . + /// + Resolved = 2, + + /// + /// Change only . + /// + Final = 3, + } + + public Ref WithName(string name, NameKind kind) + { + return new Ref(Info, name) + { + OriginalName = OriginalName, + ExpandedName = kind == NameKind.Expanded ? name : ExpandedName, + ResolvedPath = kind == NameKind.Resolved ? name : ResolvedPath, + }; + } + + /// + /// Resolves the path relative to the source file's directory. + /// + public Ref EnsureResolvedPath(ErrorReporter errorReporter) + { + var sourcePath = Info.SourceFile.Path; + var sourceDirectory = Path.GetDirectoryName(sourcePath) + ?? throw new InvalidOperationException($"Source file path '{sourcePath}' does not have a containing directory."); + + var resolvedFilePath = Path.GetFullPath(Path.Combine(sourceDirectory, Name.Replace('\\', '/'))); + + if (!File.Exists(resolvedFilePath)) + { + errorReporter(Info.SourceFile.Text, sourcePath, Info.Span, + string.Format(FileBasedProgramsResources.InvalidRefDirective, + string.Format(FileBasedProgramsResources.CouldNotFindRefFile, resolvedFilePath))); + } + + return WithName(resolvedFilePath, NameKind.Resolved); + } + + public override string ToString() => $"#:ref {Name}"; + } + public enum IncludeOrExcludeKind { Include, diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/InternalAPI.Unshipped.txt b/src/Cli/Microsoft.DotNet.FileBasedPrograms/InternalAPI.Unshipped.txt index 8beab97ae92c..bbf3d44bc01b 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/InternalAPI.Unshipped.txt +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/InternalAPI.Unshipped.txt @@ -3,6 +3,7 @@ const Microsoft.DotNet.FileBasedPrograms.CSharpDirective.IncludeOrExclude.Experi const Microsoft.DotNet.FileBasedPrograms.CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableItemMapping = "ExperimentalFileBasedProgramEnableItemMapping" -> string! const Microsoft.DotNet.FileBasedPrograms.CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableTransitiveDirectives = "ExperimentalFileBasedProgramEnableTransitiveDirectives" -> string! const Microsoft.DotNet.FileBasedPrograms.CSharpDirective.IncludeOrExclude.MappingPropertyName = "FileBasedProgramsItemMapping" -> string! +const Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective = "ExperimentalFileBasedProgramEnableRefDirective" -> string! Microsoft.DotNet.FileBasedPrograms.CSharpDirective Microsoft.DotNet.FileBasedPrograms.CSharpDirective.CSharpDirective(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseInfo info) -> void Microsoft.DotNet.FileBasedPrograms.CSharpDirective.IncludeOrExclude @@ -71,6 +72,20 @@ Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Property Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Property.Property(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseInfo info) -> void Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Property.Value.get -> string! Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Property.Value.init -> void +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.EnsureResolvedPath(Microsoft.DotNet.FileBasedPrograms.ErrorReporter! errorReporter) -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref! +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.ExpandedName.get -> string? +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.ExpandedName.init -> void +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind.Expanded = 1 -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind.Final = 3 -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind.Resolved = 2 -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.OriginalName.get -> string! +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.OriginalName.init -> void +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.Ref(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseInfo info, string! name) -> void +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.ResolvedPath.get -> string? +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.ResolvedPath.init -> void +Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.WithName(string! name, Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.NameKind kind) -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref! Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Sdk Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Sdk.Sdk(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseInfo info) -> void Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Sdk.Version.get -> string? @@ -123,6 +138,7 @@ override Microsoft.DotNet.FileBasedPrograms.CSharpDirective.IncludeOrExclude.ToS override Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Package.ToString() -> string! override Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Project.ToString() -> string! override Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Property.ToString() -> string! +override Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.ToString() -> string! override Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Sdk.ToString() -> string! override Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Shebang.ToString() -> string! override Microsoft.DotNet.FileBasedPrograms.SourceFile.GetHashCode() -> int @@ -134,6 +150,7 @@ static Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Package.Parse(in Micro static Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Parse(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseContext context) -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Named? static Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Project.Parse(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseContext context) -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Project? static Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Property.Parse(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseContext context) -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Property? +static Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref.Parse(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseContext context) -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Ref? static Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Sdk.Parse(in Microsoft.DotNet.FileBasedPrograms.CSharpDirective.ParseContext context) -> Microsoft.DotNet.FileBasedPrograms.CSharpDirective.Sdk? static Microsoft.DotNet.FileBasedPrograms.ErrorReporters.CreateCollectingReporter(out System.Collections.Immutable.ImmutableArray.Builder! builder) -> Microsoft.DotNet.FileBasedPrograms.ErrorReporter! static Microsoft.DotNet.FileBasedPrograms.ExternalHelpers.CombineHashCodes(int value1, int value2) -> int diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf index fccd6ec81449..c7b527bc9754 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf @@ -17,6 +17,11 @@ Nenašel se projekt ani adresář {0}. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error chyba @@ -57,6 +62,11 @@ Direktiva #:project je neplatná: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Chybí název pro: {0}. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf index acfc69549e69..ae85b7a2a9fb 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf @@ -17,6 +17,11 @@ Das Projekt oder Verzeichnis "{0}" wurde nicht gefunden. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error Fehler @@ -57,6 +62,11 @@ Die Anweisung „#:p roject“ ist ungültig: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Fehlender Name der Anweisung „{0}“. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf index 7fcfcf9a443e..99af05fd0a22 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf @@ -17,6 +17,11 @@ No se encuentra el proyecto o directorio "{0}". + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error error @@ -57,6 +62,11 @@ La directiva "#:project" no es válida: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Falta el nombre de "{0}". diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf index 88c34c93ba8a..90add5915dd1 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf @@ -17,6 +17,11 @@ Projet ou répertoire '{0}' introuvable. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error erreur @@ -57,6 +62,11 @@ La directive « #:project » n’est pas valide : {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Nom manquant pour « {0} ». diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf index 655d5b367356..47de1ef37010 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf @@ -17,6 +17,11 @@ Non sono stati trovati progetti o directory `{0}`. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error errore @@ -57,6 +62,11 @@ La direttiva '#:project' non è valida: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Manca il nome di '{0}'. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf index 2d2cc195c23a..573c9be2ff5c 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf @@ -17,6 +17,11 @@ プロジェクトまたはディレクトリ `{0}` が見つかりませんでした。 + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error エラー @@ -57,6 +62,11 @@ '#:p roject' ディレクティブが無効です: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. '{0}' の名前がありません。 diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf index 7082b47f9aa8..b466d59e7a63 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf @@ -17,6 +17,11 @@ 프로젝트 또는 디렉터리 {0}을(를) 찾을 수 없습니다. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error 오류 @@ -57,6 +62,11 @@ '#:p roject' 지시문이 잘못되었습니다. {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. '{0}' 이름이 없습니다. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf index 4cd99b2c63c3..eaf6b0b78253 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf @@ -17,6 +17,11 @@ Nie można odnaleźć projektu ani katalogu „{0}”. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error błąd @@ -57,6 +62,11 @@ Dyrektywa „#:project” jest nieprawidłowa: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Brak nazwy „{0}”. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf index a5ef266abb7e..72cc2e9f3706 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf @@ -17,6 +17,11 @@ Não foi possível encontrar o projeto ou diretório ‘{0}’. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error erro @@ -57,6 +62,11 @@ A diretiva '#:project' é inválida:{0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Nome de '{0}' ausente. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf index 3405fe15916b..5d580c932efe 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf @@ -17,6 +17,11 @@ Не удалось найти проект или каталог "{0}". + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error ошибка @@ -57,6 +62,11 @@ Недопустимая директива "#:project": {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Отсутствует имя "{0}". diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf index 40ee3f703b98..e64081b711aa 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf @@ -17,6 +17,11 @@ `{0}` projesi veya dizini bulunamadı. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error hata @@ -57,6 +62,11 @@ ‘#:project’ yönergesi geçersizdir: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. '{0}' adı eksik. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf index b5c92edfd759..bbcefb9f1d7f 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf @@ -17,6 +17,11 @@ 找不到项目或目录“{0}”。 + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error 错误 @@ -57,6 +62,11 @@ '#:project' 指令无效: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. 缺少 '{0}' 的名称。 diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf index d65f38fe59f2..ecfe1971bf1c 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf @@ -17,6 +17,11 @@ 找不到專案或目錄 `{0}`。 + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error 錯誤 @@ -57,6 +62,11 @@ '#:project' 指示詞無效: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. 缺少 '{0}' 的名稱。 diff --git a/src/Cli/dotnet/Commands/CliCommandStrings.resx b/src/Cli/dotnet/Commands/CliCommandStrings.resx index 8987541a2308..7b40ab16089e 100644 --- a/src/Cli/dotnet/Commands/CliCommandStrings.resx +++ b/src/Cli/dotnet/Commands/CliCommandStrings.resx @@ -862,6 +862,10 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man No - keep all source files + + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Project(s) diff --git a/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs b/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs index bab18b2e8ac2..4838b909c8ae 100644 --- a/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs +++ b/src/Cli/dotnet/Commands/Project/Convert/ProjectConvertCommand.cs @@ -4,8 +4,8 @@ using System.Collections.Immutable; using System.CommandLine; using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; using Microsoft.Build.Evaluation; +using Microsoft.Build.Execution; using Microsoft.DotNet.Cli.Commands.Run; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.FileBasedPrograms; @@ -58,90 +58,121 @@ public override int Execute() out var evaluatedDirectives, validateAllDirectives: !_force); + // When the entry point has #:ref directives, place all converted projects in subfolders. + bool hasRefs = evaluatedDirectives.Any(static d => d is CSharpDirective.Ref); + string entryPointName = Path.GetFileNameWithoutExtension(file); + string entryPointOutputDir = hasRefs ? Path.Combine(targetDirectory, entryPointName) : targetDirectory; + + // Pre-validate ref target directories (check for duplicates and existing dirs). + if (hasRefs) + { + var usedFolderNames = new HashSet(StringComparer.OrdinalIgnoreCase) { entryPointName }; + ValidateRefTargetDirectories(evaluatedDirectives, Path.GetDirectoryName(file)!, + new HashSet(StringComparer.OrdinalIgnoreCase), usedFolderNames); + } + + ConvertFile(file, entryPointOutputDir, isEntryPointFile: true); + // Find other items to copy over, e.g., default Content items like JSON files in Web apps. - var includeItems = FindIncludedItems().ToList(); + var includeItems = FindIncludedItems(builder, projectInstance, file).ToList(); - CreateDirectory(targetDirectory); + // Convert referenced files (#:ref directives) into library projects. + var convertedRefFiles = new HashSet(StringComparer.OrdinalIgnoreCase); + var refIncludeItems = new List<(string ItemType, string FullPath, string RelativePath)>(); + ConvertReferencedFiles(evaluatedDirectives, Path.GetDirectoryName(file)!); - var targetFile = Path.Join(targetDirectory, Path.GetFileName(file)); + // Copy or move over included items. + CopyIncludedItems(includeItems, entryPointOutputDir); - // Process the entry point file. - if (_dryRun) - { - Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldCopyFile, file, targetFile); - Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldConvertFile, targetFile); - } - else + // Handle deletion of source files if requested. + bool shouldDelete = _deleteSource || TryAskForDeleteSource(); + if (shouldDelete) { - VirtualProjectBuildingCommand.RemoveDirectivesFromFile(builder.EntryPointSourceFile, targetFile); - } + // Delete the entry point file + DeleteFile(file); - // Create project file. - string projectFile = Path.Join(targetDirectory, Path.GetFileNameWithoutExtension(file) + ".csproj"); - if (_dryRun) - { - Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldCreateFile, projectFile); - } - else - { - using var stream = File.Open(projectFile, FileMode.Create, FileAccess.Write); - using var writer = new StreamWriter(stream, Encoding.UTF8); - VirtualProjectBuilder.WriteProjectFile( - writer, - UpdateDirectives(evaluatedDirectives), - isVirtualProject: false, - userSecretsId: DetermineUserSecretsId(), - defaultProperties: GetDefaultProperties()); + // Delete all included items (e.g., via #:include directives and default items) + foreach (var item in includeItems) + { + DeleteFile(item.FullPath); + } + + // Delete converted referenced files and their included items + foreach (var refFile in convertedRefFiles) + { + DeleteFile(refFile); + } + + foreach (var item in refIncludeItems) + { + DeleteFile(item.FullPath); + } } - // Copy or move over included items. - foreach (var item in includeItems) + return 0; + + (VirtualProjectBuilder builder, ProjectInstance projectInstance, ImmutableArray evaluatedDirectives) + ConvertFile(string sourceFile, string outputDirectory, bool isEntryPointFile) { - string targetItemFullPath = Path.Combine(targetDirectory, item.RelativePath); + var sourceDirectory = Path.GetDirectoryName(sourceFile)!; - // Ignore already-copied files. - if (File.Exists(targetItemFullPath)) + VirtualProjectBuilder fileBuilder; + ProjectInstance fileProjectInstance; + ImmutableArray fileDirectives; + + if (isEntryPointFile) + { + fileBuilder = builder; + fileProjectInstance = projectInstance; + fileDirectives = evaluatedDirectives; + } + else { - continue; + fileBuilder = new VirtualProjectBuilder(sourceFile, VirtualProjectBuildingCommand.TargetFramework); + + fileBuilder.CreateProjectInstance( + projectCollection, + VirtualProjectBuildingCommand.ThrowingReporter, + out fileProjectInstance, + projectRootElement: out _, + out fileDirectives, + validateAllDirectives: !_force); } - string targetItemDirectory = Path.GetDirectoryName(targetItemFullPath)!; - CreateDirectory(targetItemDirectory); + CreateDirectory(outputDirectory); - if (item.ItemType == "Compile") + // Copy the .cs file with directives removed. + var targetFile = Path.Join(outputDirectory, Path.GetFileName(sourceFile)); + if (_dryRun) { - if (_dryRun) - { - Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldCopyFile, item.FullPath, targetItemFullPath); - Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldConvertFile, targetItemFullPath); - } - else - { - var sourceFile = SourceFile.Load(item.FullPath); - VirtualProjectBuildingCommand.RemoveDirectivesFromFile(sourceFile, targetItemFullPath); - } + Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldCopyFile, sourceFile, targetFile); + Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldConvertFile, targetFile); } else { - CopyFile(item.FullPath, targetItemFullPath); + VirtualProjectBuildingCommand.RemoveDirectivesFromFile(fileBuilder.EntryPointSourceFile, targetFile); } - } - - // Handle deletion of source files if requested. - bool shouldDelete = _deleteSource || TryAskForDeleteSource(file); - if (shouldDelete) - { - // Delete the entry point file - DeleteFile(file); - // Delete all included items (e.g., via #:include directives and default items) - foreach (var item in includeItems) + // Create project file. + var projectFile = Path.Join(outputDirectory, Path.GetFileNameWithoutExtension(sourceFile) + ".csproj"); + if (_dryRun) { - DeleteFile(item.FullPath); + Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldCreateFile, projectFile); + } + else + { + using var stream = File.Open(projectFile, FileMode.Create, FileAccess.Write); + using var writer = new StreamWriter(stream, Encoding.UTF8); + VirtualProjectBuilder.WriteProjectFile( + writer, + UpdateDirectives(fileDirectives, sourceDirectory, outputDirectory), + isVirtualProject: false, + userSecretsId: isEntryPointFile ? DetermineUserSecretsId(fileProjectInstance) : null, + defaultProperties: GetDefaultProperties(fileProjectInstance)); } - } - return 0; + return (fileBuilder, fileProjectInstance, fileDirectives); + } void CreateDirectory(string path) { @@ -183,14 +214,125 @@ void DeleteFile(string path) } } - IEnumerable<(string ItemType, string FullPath, string RelativePath)> FindIncludedItems() + void CopyIncludedItems(List<(string ItemType, string FullPath, string RelativePath)> items, string outputDirectory) { - string entryPointFileDirectory = PathUtilities.EnsureTrailingSlash(Path.GetDirectoryName(file)!); + foreach (var item in items) + { + string targetItemFullPath = Path.Combine(outputDirectory, item.RelativePath); + + // Ignore already-copied files. + if (File.Exists(targetItemFullPath)) + { + continue; + } + + string targetItemDirectory = Path.GetDirectoryName(targetItemFullPath)!; + CreateDirectory(targetItemDirectory); + + if (item.ItemType == "Compile") + { + if (_dryRun) + { + Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldCopyFile, item.FullPath, targetItemFullPath); + Reporter.Output.WriteLine(CliCommandStrings.ProjectConvertWouldConvertFile, targetItemFullPath); + } + else + { + var sourceFile = SourceFile.Load(item.FullPath); + VirtualProjectBuildingCommand.RemoveDirectivesFromFile(sourceFile, targetItemFullPath); + } + } + else + { + CopyFile(item.FullPath, targetItemFullPath); + } + } + } + + void ConvertReferencedFiles(ImmutableArray directives, string sourceDirectory) + { + foreach (var directive in directives) + { + if (directive is not CSharpDirective.Ref refDirective) + { + continue; + } + + var refPath = refDirective.ResolvedPath ?? Path.GetFullPath(Path.Combine(sourceDirectory, refDirective.Name.Replace('\\', '/'))); + + if (!convertedRefFiles.Add(refPath)) + { + continue; + } + + var refName = Path.GetFileNameWithoutExtension(refPath); + var refDir = Path.GetDirectoryName(refPath)!; + var refTargetDirectory = Path.Combine(targetDirectory, refName); + + var (refBuilder, refProjectInstance, refEvaluatedDirectives) = ConvertFile(refPath, refTargetDirectory, isEntryPointFile: false); + + // Copy included items (e.g., default Content items) for the referenced file. + var items = FindIncludedItems(refBuilder, refProjectInstance, refPath).ToList(); + CopyIncludedItems(items, refTargetDirectory); + refIncludeItems.AddRange(items); + + // Recursively convert referenced files in the referenced file. + ConvertReferencedFiles(refEvaluatedDirectives, refDir); + } + } + + void ValidateRefTargetDirectories(ImmutableArray directives, string sourceDirectory, HashSet visited, HashSet usedFolderNames) + { + foreach (var directive in directives) + { + if (directive is not CSharpDirective.Ref refDirective) + { + continue; + } + + var refPath = refDirective.ResolvedPath ?? Path.GetFullPath(Path.Combine(sourceDirectory, refDirective.Name.Replace('\\', '/'))); + + if (!visited.Add(refPath)) + { + continue; + } + + var refName = Path.GetFileNameWithoutExtension(refPath); + var refDir = Path.GetDirectoryName(refPath)!; + var refTargetDirectory = Path.Combine(targetDirectory, refName); + + if (!usedFolderNames.Add(refName)) + { + throw new GracefulException(CliCommandStrings.ProjectConvertDuplicateRefFolderName, refTargetDirectory); + } + + if (Directory.Exists(refTargetDirectory)) + { + throw new GracefulException(CliCommandStrings.DirectoryAlreadyExists, refTargetDirectory); + } + + // Recursively validate transitive refs. + var refBuilder = new VirtualProjectBuilder(refPath, VirtualProjectBuildingCommand.TargetFramework); + refBuilder.CreateProjectInstance( + projectCollection, + VirtualProjectBuildingCommand.ThrowingReporter, + project: out _, + projectRootElement: out _, + out var refDirectives, + validateAllDirectives: !_force); + ValidateRefTargetDirectories(refDirectives, refDir, visited, usedFolderNames); + } + } + + IEnumerable<(string ItemType, string FullPath, string RelativePath)> FindIncludedItems( + VirtualProjectBuilder fileBuilder, ProjectInstance fileProjectInstance, string sourceFile) + { + string sourceFileDirectory = PathUtilities.EnsureTrailingSlash(Path.GetDirectoryName(sourceFile)!); // Include only items we know are files. - var mapping = builder.GetItemMapping(projectInstance, VirtualProjectBuildingCommand.ThrowingReporter); + var mapping = fileBuilder.GetItemMapping(fileProjectInstance, VirtualProjectBuildingCommand.ThrowingReporter); - var items = mapping.SelectMany(e => projectInstance.GetItems(e.ItemType)); + var items = mapping.SelectMany(e => fileProjectInstance.GetItems(e.ItemType)); var topLevelFileNames = new HashSet(StringComparer.OrdinalIgnoreCase); @@ -203,7 +345,7 @@ void DeleteFile(string path) continue; } - string itemFullPath = Path.GetFullPath(path: item.GetMetadataValue("FullPath"), basePath: entryPointFileDirectory); + string itemFullPath = Path.GetFullPath(path: item.GetMetadataValue("FullPath"), basePath: sourceFileDirectory); // Exclude items that do not exist. if (!File.Exists(itemFullPath)) @@ -211,7 +353,7 @@ void DeleteFile(string path) continue; } - string itemRelativePath = Path.GetRelativePath(relativeTo: entryPointFileDirectory, path: itemFullPath); + string itemRelativePath = Path.GetRelativePath(relativeTo: sourceFileDirectory, path: itemFullPath); // Files outside the source directory should be copied into the target directory at the top level. // Possibly with a number suffix to avoid conflicts. @@ -241,16 +383,17 @@ void DeleteFile(string path) } } - string? DetermineUserSecretsId() + string? DetermineUserSecretsId(ProjectInstance projectInstance) { var implicitValue = projectInstance.GetPropertyValue("_ImplicitFileBasedProgramUserSecretsId"); var actualValue = projectInstance.GetPropertyValue("UserSecretsId"); return implicitValue == actualValue ? actualValue : null; } - ImmutableArray UpdateDirectives(ImmutableArray directives) + ImmutableArray UpdateDirectives(ImmutableArray directives, string? sourceDirectory = null, string? outputDirectory = null) { - var sourceDirectory = Path.GetDirectoryName(file)!; + sourceDirectory ??= Path.GetDirectoryName(file)!; + outputDirectory ??= targetDirectory; var result = ImmutableArray.CreateBuilder(directives.Length); @@ -282,7 +425,7 @@ ImmutableArray UpdateDirectives(ImmutableArray // The `OriginalName` is absolute if there are no `$(..)` vars at the start. if (!Path.IsPathFullyQualified(project.OriginalName)) { - project = project.WithName(Path.GetRelativePath(relativeTo: targetDirectory, path: project.Name), CSharpDirective.Project.NameKind.Final); + project = project.WithName(Path.GetRelativePath(relativeTo: outputDirectory, path: project.Name), CSharpDirective.Project.NameKind.Final); result.Add(project); continue; } @@ -296,18 +439,36 @@ ImmutableArray UpdateDirectives(ImmutableArray project = project.WithName(Path.Join(project.OriginalName, projectFileName), CSharpDirective.Project.NameKind.Final); } - project = project.WithName(Path.GetRelativePath(relativeTo: targetDirectory, path: Path.Combine(sourceDirectory, project.Name)), CSharpDirective.Project.NameKind.Final); + project = project.WithName(Path.GetRelativePath(relativeTo: outputDirectory, path: Path.Combine(sourceDirectory, project.Name)), CSharpDirective.Project.NameKind.Final); result.Add(project); continue; } + // Convert #:ref directives to #:project directives pointing to the referenced file's + // expected converted project location (i.e., subfolder of the output directory named after the .cs file). + if (directive is CSharpDirective.Ref refDirective) + { + var refPath = refDirective.ResolvedPath ?? Path.GetFullPath(Path.Combine(sourceDirectory, refDirective.Name.Replace('\\', '/'))); + var refName = Path.GetFileNameWithoutExtension(refPath); + + // The referenced file's converted project is expected at: //.csproj + var convertedProjectPath = Path.Combine(targetDirectory, refName, refName + ".csproj"); + var relativePath = Path.GetRelativePath(relativeTo: outputDirectory, path: convertedProjectPath); + + result.Add(new CSharpDirective.Project(refDirective.Info, relativePath) + { + OriginalName = refDirective.OriginalName, + }); + continue; + } + result.Add(directive); } return result.DrainToImmutable(); } - IEnumerable<(string name, string value)> GetDefaultProperties() + IEnumerable<(string name, string value)> GetDefaultProperties(ProjectInstance projectInstance) { foreach (var (name, defaultValue) in VirtualProjectBuilder.GetDefaultProperties(VirtualProjectBuildingCommand.TargetFramework)) { @@ -375,7 +536,7 @@ private string DetermineOutputDirectory(string file) return targetDirectory; } - private bool TryAskForDeleteSource(string sourceFile) + private bool TryAskForDeleteSource() { if (!_interactive) { diff --git a/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs b/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs index 0d8ea09da7ac..f3a9ef6eacab 100644 --- a/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs +++ b/src/Cli/dotnet/Commands/Run/VirtualProjectBuildingCommand.cs @@ -118,6 +118,13 @@ internal sealed class VirtualProjectBuildingCommand : CommandBase public VirtualProjectBuilder Builder { get; } public MSBuildArgs MSBuildArgs { get; } + /// + /// Keeps strong references to s created for #:ref directives, + /// preventing their s from being garbage collected + /// (same reason as VirtualProjectBuilder._projectRootElement). + /// + private readonly List _referencedBuilders = []; + public ImmutableArray Directives { get @@ -526,6 +533,12 @@ bool CanSaveCache(ProjectInstance projectInstance) return false; } + if (EvaluatedDirectives.Any(static d => d is CSharpDirective.Ref)) + { + Reporter.Verbose.WriteLine("Not saving cache because there is a ref directive."); + return false; + } + if (EvaluatedDirectives.Any(static d => d is CSharpDirective.IncludeOrExclude { Kind: CSharpDirective.IncludeOrExcludeKind.Include } includeDirective && includeDirective.Name.AsSpan().ContainsAny('*', '?'))) @@ -756,9 +769,9 @@ public bool DetermineFinalCanReuseAuxiliaryFiles() /// private CacheInfo? ComputeCacheEntry() { - if (Directives.Any(static d => d is CSharpDirective.Project)) + if (Directives.Any(static d => d is CSharpDirective.Project or CSharpDirective.Ref)) { - Reporter.Verbose.WriteLine("Skipping computing cache because there are project directives."); + Reporter.Verbose.WriteLine("Skipping computing cache because there are project or ref directives."); return null; } @@ -1177,9 +1190,68 @@ public ProjectInstance CreateProjectInstance(ProjectCollection projectCollection EvaluatedDirectives = evaluatedDirectives; + // Create virtual ProjectRootElements for all #:ref directives so MSBuild can resolve them. + CreateReferencedVirtualProjects(projectCollection, evaluatedDirectives); + return project; } + /// + /// Recursively creates virtual s for all #:ref directives + /// in the given (and transitively in referenced files). + /// The s are registered in the 's + /// ProjectRootElementCache so MSBuild can resolve <ProjectReference> items to them. + /// + private void CreateReferencedVirtualProjects( + ProjectCollection projectCollection, + ImmutableArray directives) + { + var processedFiles = new HashSet(StringComparer.OrdinalIgnoreCase) { Builder.EntryPointFileFullPath }; + CreateReferencedVirtualProjectsCore(projectCollection, directives, processedFiles, _referencedBuilders); + + static void CreateReferencedVirtualProjectsCore( + ProjectCollection projectCollection, + ImmutableArray directives, + HashSet processedFiles, + List referencedBuilders) + { + foreach (var refDirective in directives.OfType()) + { + // ResolvedPath is always set when using ThrowingReporter (EnsureResolvedPath throws on error). + Debug.Assert(refDirective.ResolvedPath is not null); + + if (refDirective.ResolvedPath is not { } resolvedPath) + { + continue; + } + + if (!processedFiles.Add(resolvedPath)) + { + // Already processed or cycle detected. + continue; + } + + var refBuilder = new VirtualProjectBuilder( + resolvedPath, + TargetFramework); + + refBuilder.CreateProjectInstance( + projectCollection, + ThrowingReporter, + project: out _, + projectRootElement: out _, + out var refEvaluatedDirectives); + + // Keep a strong reference to prevent GC from collecting the ProjectRootElement + // after MSBuild's ProjectRootElementCache demotes it to a weak reference. + referencedBuilders.Add(refBuilder); + + // Recursively create virtual projects for any #:ref in the referenced file. + CreateReferencedVirtualProjectsCore(projectCollection, refEvaluatedDirectives, processedFiles, referencedBuilders); + } + } + } + /// /// Creates a temporary subdirectory for file-based apps. /// Use to obtain the path. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf index 5b25a0b4082e..2f5d8f197eba 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf @@ -1256,6 +1256,11 @@ Nástroj {1} (verze {2}) se úspěšně nainstaloval. Do souboru manifestu {3} s Odstraněný zdrojový soubor: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Zkušební spuštění: odebere direktivy na úrovni souboru ze souboru: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf index 6013df11d21e..67d8a75d1641 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf @@ -1256,6 +1256,11 @@ Das Tool "{1}" (Version {2}) wurde erfolgreich installiert. Der Eintrag wird der Quelldatei gelöscht: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Probelauf. Anweisungen auf Dateiebene würden aus Datei entfernt: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf index 808fabcec6f5..a7784fbe6057 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf @@ -1256,6 +1256,11 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. Se ha agregado Archivo de origen eliminado: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Simulación: se eliminarían las directivas a nivel de archivo del archivo {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf index 7298d1c4f990..173b8a464603 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf @@ -1256,6 +1256,11 @@ L'outil '{1}' (version '{2}') a été correctement installé. L'entrée est ajou Fichier source supprimé : {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Test à blanc : supprimerait les directives de niveau fichier du fichier : {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf index 7ff173c7450f..a4ecc79c41ba 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf @@ -1256,6 +1256,11 @@ Lo strumento '{1}' versione '{2}' è stato installato. La voce è stata aggiunta File di origine eliminato: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Esecuzione di prova: rimuoverebbe le direttive a livello di file dal file: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf index 9af952478d44..857e8e4e459a 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 削除されたソース ファイル: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} ドライ ラン: ファイルからファイル レベルのディレクティブを削除します: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf index f5a085361b43..da738b37cbe7 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 원본 파일을 삭제함: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} 시험 실행: 파일에서 파일 수준 지시문을 제거합니다. {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf index 68ff0ba7942d..da4ba95c1ea4 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf @@ -1256,6 +1256,11 @@ Narzędzie „{1}” (wersja „{2}”) zostało pomyślnie zainstalowane. Wpis Usunięto plik źródłowy: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Przebieg próbny: spowoduje usunięcie dyrektyw na poziomie pliku z pliku: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf index 3cee39fa42fa..426840b2d695 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf @@ -1256,6 +1256,11 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. A entrada foi adici Arquivo de origem excluído: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Execução de teste: diretivas de nível de arquivo a serem removidas do arquivo: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf index 4c2f8b799955..47a36ac13072 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Исходный файл удален: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Пробный прогон: будут удалены директивы на уровне файла из файла: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf index f2cbb5075f24..a702754d4ca1 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Kaynak dosya silindi: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Deneme çalıştırması: dosya düzeyindeki yönergeleri şu dosyadan kaldırıyor: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf index c851f5d272b1..97f4b9fe46cf 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 已删除的源文件: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} 试运行: 将从文件 {0} 中移除文件级指令 diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf index a70f1ca045af..c3c7ed0d05c9 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 已刪除來源檔案: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} 試執行: 將從檔案移除檔案層級指示詞: {0} diff --git a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs index c8fb09c95f28..78ffdbcbf176 100644 --- a/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs +++ b/src/Microsoft.DotNet.ProjectTools/VirtualProjectBuilder.cs @@ -199,7 +199,7 @@ private ImmutableArray EvaluateDirectives( ImmutableArray directives, ErrorReporter reportError) { - if (!directives.Any(static d => d is CSharpDirective.Project or CSharpDirective.IncludeOrExclude)) + if (!directives.Any(static d => d is CSharpDirective.Project or CSharpDirective.IncludeOrExclude or CSharpDirective.Ref)) { return directives; } @@ -219,6 +219,13 @@ private ImmutableArray EvaluateDirectives( builder.Add(projectDirective); break; + case CSharpDirective.Ref refDirective: + refDirective = refDirective.WithName(project.ExpandString(refDirective.Name), CSharpDirective.Ref.NameKind.Expanded); + refDirective = refDirective.EnsureResolvedPath(reportError); + + builder.Add(refDirective); + break; + case CSharpDirective.IncludeOrExclude includeOrExcludeDirective: var expandedPath = project.ExpandString(includeOrExcludeDirective.Name); var fullPath = Path.GetFullPath(path: expandedPath, basePath: Path.GetDirectoryName(includeOrExcludeDirective.Info.SourceFile.Path)!); @@ -431,12 +438,18 @@ private void CheckDirectives( ImmutableArray directives, ErrorReporter reportError) { + bool? refEnabled = null; bool? includeEnabled = null; bool? excludeEnabled = null; bool? transitiveEnabled = null; foreach (var directive in directives) { + if (directive is CSharpDirective.Ref) + { + CheckFlagEnabled(ref refEnabled, CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective, directive); + } + if (directive is CSharpDirective.IncludeOrExclude includeOrExcludeDirective) { if (includeOrExcludeDirective.Kind == CSharpDirective.IncludeOrExcludeKind.Include) @@ -489,6 +502,7 @@ internal static void WriteProjectFile( var propertyDirectives = directives.OfType(); var packageDirectives = directives.OfType(); var projectDirectives = directives.OfType(); + var refDirectives = directives.OfType(); var includeOrExcludeDirectives = directives.OfType(); const string defaultSdkName = "Microsoft.NET.Sdk"; @@ -736,7 +750,7 @@ internal static void WriteProjectFile( """); } - if (projectDirectives.Any()) + if (projectDirectives.Any() || refDirectives.Any()) { writer.WriteLine(""" @@ -751,6 +765,19 @@ internal static void WriteProjectFile( processedDirectives++; } + foreach (var refDirective in refDirectives) + { + if (refDirective.ResolvedPath is not null) + { + var virtualProjectPath = GetVirtualProjectPath(refDirective.ResolvedPath); + writer.WriteLine($""" + + """); + } + + processedDirectives++; + } + writer.WriteLine(""" diff --git a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs index 3bb43deb767c..c0e03300da4e 100644 --- a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs +++ b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs @@ -203,6 +203,458 @@ public static void M() """); } + [Fact] + public void RefDirective() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet(string name) => $"Hello, {name}!"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib.cs + Console.WriteLine(MyLib.Greeter.Greet("World")); + """); + + var expectedOutput = "Hello, World!"; + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(expectedOutput); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + new DotnetCommand(Log, "project", "convert", "app.cs", "-o", outputDirFullPath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass(); + + // #:ref lib.cs should become a ProjectReference to ../lib/lib.csproj + File.ReadAllText(Path.Join(outputDirFullPath, "app", "app.csproj")) + .Should().Contain($""" + + """); + + // The referenced library should have been converted too. + var libProjectDir = Path.Join(outputDirFullPath, "lib"); + File.Exists(Path.Join(libProjectDir, "lib.csproj")).Should().BeTrue(); + File.Exists(Path.Join(libProjectDir, "lib.cs")).Should().BeTrue(); + File.ReadAllText(Path.Join(libProjectDir, "lib.csproj")) + .Should().Contain("Library"); + + // The converted project should build and produce the same output. + new DotnetCommand(Log, "run") + .WithWorkingDirectory(Path.Join(outputDirFullPath, "app")) + .Execute() + .Should().Pass() + .And.HaveStdOut(expectedOutput); + } + + [Fact] + public void RefDirective_Transitive_Convert() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + + File.WriteAllText(Path.Join(testInstance.Path, "lib2.cs"), """ + #:property OutputType=Library + namespace Lib2; + public static class Helper + { + public static string Get() => "from lib2"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "lib1.cs"), """ + #:property OutputType=Library + #:ref lib2.cs + namespace Lib1; + public static class Facade + { + public static string Get() => $"from lib1 and {Lib2.Helper.Get()}"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib1.cs + Console.WriteLine(Lib1.Facade.Get()); + """); + + var expectedOutput = "from lib1 and from lib2"; + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(expectedOutput); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + new DotnetCommand(Log, "project", "convert", "app.cs", "-o", outputDirFullPath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass(); + + // All three projects should exist. + File.Exists(Path.Join(outputDirFullPath, "app", "app.csproj")).Should().BeTrue(); + File.Exists(Path.Join(outputDirFullPath, "lib1", "lib1.csproj")).Should().BeTrue(); + File.Exists(Path.Join(outputDirFullPath, "lib2", "lib2.csproj")).Should().BeTrue(); + + // lib1.csproj should reference lib2. + File.ReadAllText(Path.Join(outputDirFullPath, "lib1", "lib1.csproj")) + .Should().Contain($""" + + """); + + // The converted project should build and produce the same output. + new DotnetCommand(Log, "run") + .WithWorkingDirectory(Path.Join(outputDirFullPath, "app")) + .Execute() + .Should().Pass() + .And.HaveStdOut(expectedOutput); + } + + [Fact] + public void RefDirective_DuplicateFolderName() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + + Directory.CreateDirectory(Path.Join(testInstance.Path, "a")); + File.WriteAllText(Path.Join(testInstance.Path, "a", "lib.cs"), """ + #:property OutputType=Library + namespace A; + public static class Lib { public static string Get() => "a"; } + """); + + Directory.CreateDirectory(Path.Join(testInstance.Path, "b")); + File.WriteAllText(Path.Join(testInstance.Path, "b", "lib.cs"), """ + #:property OutputType=Library + namespace B; + public static class Lib { public static string Get() => "b"; } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref a/lib.cs + #:ref b/lib.cs + Console.WriteLine(A.Lib.Get() + B.Lib.Get()); + """); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + var duplicateTargetDirectory = Path.Join(outputDirFullPath, "lib"); + new DotnetCommand(Log, "project", "convert", "app.cs", "-o", outputDirFullPath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(string.Format(CliCommandStrings.ProjectConvertDuplicateRefFolderName, duplicateTargetDirectory)); + + // Nothing should have been converted. + Directory.Exists(outputDirFullPath).Should().BeFalse(); + + new DirectoryInfo(testInstance.Path) + .EnumerateFileSystemInfos().Select(d => d.Name).Order() + .Should().BeEquivalentTo(["a", "app.cs", "b", "Directory.Build.props"]); + } + + [Fact] + public void RefDirective_DuplicateFolderName_Transitive() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + + // a/lib.cs is referenced by mid.cs + Directory.CreateDirectory(Path.Join(testInstance.Path, "a")); + File.WriteAllText(Path.Join(testInstance.Path, "a", "lib.cs"), """ + #:property OutputType=Library + namespace A; + public static class Lib { public static string Get() => "a"; } + """); + + // mid.cs references a/lib.cs + File.WriteAllText(Path.Join(testInstance.Path, "mid.cs"), """ + #:property OutputType=Library + #:ref a/lib.cs + namespace Mid; + public static class Mid { public static string Get() => A.Lib.Get(); } + """); + + // b/lib.cs would conflict with a/lib.cs (both "lib") + Directory.CreateDirectory(Path.Join(testInstance.Path, "b")); + File.WriteAllText(Path.Join(testInstance.Path, "b", "lib.cs"), """ + #:property OutputType=Library + namespace B; + public static class Lib { public static string Get() => "b"; } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref mid.cs + #:ref b/lib.cs + Console.WriteLine(Mid.Mid.Get() + B.Lib.Get()); + """); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + var duplicateTargetDirectory = Path.Join(outputDirFullPath, "lib"); + new DotnetCommand(Log, "project", "convert", "app.cs", "-o", outputDirFullPath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(string.Format(CliCommandStrings.ProjectConvertDuplicateRefFolderName, duplicateTargetDirectory)); + + // Nothing should have been converted. + Directory.Exists(outputDirFullPath).Should().BeFalse(); + } + + [Fact] + public void RefDirective_DuplicateFolderName_ViaInclude() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + true + true + + + """); + + // a/lib.cs is referenced by the app directly + Directory.CreateDirectory(Path.Join(testInstance.Path, "a")); + File.WriteAllText(Path.Join(testInstance.Path, "a", "lib.cs"), """ + #:property OutputType=Library + namespace A; + public static class Lib { public static string Get() => "a"; } + """); + + // b/lib.cs would conflict (same name "lib") - referenced via #:include-d file + Directory.CreateDirectory(Path.Join(testInstance.Path, "b")); + File.WriteAllText(Path.Join(testInstance.Path, "b", "lib.cs"), """ + #:property OutputType=Library + namespace B; + public static class Lib { public static string Get() => "b"; } + """); + + // extra.cs is included and references b/lib.cs + File.WriteAllText(Path.Join(testInstance.Path, "extra.cs"), """ + #:ref b/lib.cs + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref a/lib.cs + #:include extra.cs + Console.WriteLine(A.Lib.Get() + B.Lib.Get()); + """); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + var duplicateTargetDirectory = Path.Join(outputDirFullPath, "lib"); + new DotnetCommand(Log, "project", "convert", "app.cs", "-o", outputDirFullPath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(string.Format(CliCommandStrings.ProjectConvertDuplicateRefFolderName, duplicateTargetDirectory)); + + // Nothing should have been converted. + Directory.Exists(outputDirFullPath).Should().BeFalse(); + } + + /// + /// Verifies that default items (e.g., appsettings.json) in a #:ref'd file's directory + /// are copied to the converted project output directory. + /// + [Fact] + public void RefDirective_IncludedItemsCopied() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + + var libDir = Path.Join(testInstance.Path, "lib"); + Directory.CreateDirectory(libDir); + + File.WriteAllText(Path.Join(libDir, "mylib.cs"), """ + #:property OutputType=Library + #:property EnableDefaultNoneItems=true + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); + + // A non-code file next to the library that should be picked up as a default item. + File.WriteAllText(Path.Join(libDir, "data.json"), """{ "key": "value" }"""); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib/mylib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + new DotnetCommand(Log, "project", "convert", "app.cs", "-o", outputDirFullPath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass(); + + // The library's included item (data.json) should be copied to the ref output directory. + var libOutputDir = Path.Join(outputDirFullPath, "mylib"); + File.Exists(Path.Join(libOutputDir, "mylib.cs")).Should().BeTrue(); + File.Exists(Path.Join(libOutputDir, "mylib.csproj")).Should().BeTrue(); + File.Exists(Path.Join(libOutputDir, "data.json")).Should().BeTrue(); + } + + /// + /// Verifies that --delete-source also deletes included items of #:ref'd files. + /// + [Fact] + public void RefDirective_IncludedItemsDeleted() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + + var libDir = Path.Join(testInstance.Path, "lib"); + Directory.CreateDirectory(libDir); + + File.WriteAllText(Path.Join(libDir, "mylib.cs"), """ + #:property OutputType=Library + #:property EnableDefaultNoneItems=true + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); + + File.WriteAllText(Path.Join(libDir, "config.json"), """{ "setting": true }"""); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib/mylib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + new DotnetCommand(Log, "project", "convert", "app.cs", "-o", outputDirFullPath, "--delete-source") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass(); + + // Source files should be deleted. + File.Exists(Path.Join(testInstance.Path, "app.cs")).Should().BeFalse(); + File.Exists(Path.Join(libDir, "mylib.cs")).Should().BeFalse(); + File.Exists(Path.Join(libDir, "config.json")).Should().BeFalse(); + + // Converted files should exist. + var libOutputDir = Path.Join(outputDirFullPath, "mylib"); + File.Exists(Path.Join(libOutputDir, "mylib.cs")).Should().BeTrue(); + File.Exists(Path.Join(libOutputDir, "mylib.csproj")).Should().BeTrue(); + File.Exists(Path.Join(libOutputDir, "config.json")).Should().BeTrue(); + } + + /// + /// Converting one app that #:refs a library does not affect other apps that also reference the same library. + /// + [Fact] + public void RefDirective_ConvertScope() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app1.cs"), """ + #:ref lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app2.cs"), """ + #:ref lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + var unrelatedDir = Path.Join(testInstance.Path, "unrelated"); + Directory.CreateDirectory(unrelatedDir); + File.WriteAllText(Path.Join(unrelatedDir, "app3.cs"), """ + #:ref ../lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + var outputDirFullPath = Path.Join(testInstance.Path, "Project"); + new DotnetCommand(Log, "project", "convert", "app1.cs", "-o", outputDirFullPath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass(); + + // app1 should be converted. + File.Exists(Path.Join(outputDirFullPath, "app1", "app1.csproj")).Should().BeTrue(); + File.Exists(Path.Join(outputDirFullPath, "lib", "lib.csproj")).Should().BeTrue(); + + // app2 and app3 should be unaffected (still exist as .cs files with their directives intact). + File.ReadAllText(Path.Join(testInstance.Path, "app2.cs")).Should().Contain("#:ref lib.cs"); + File.ReadAllText(Path.Join(unrelatedDir, "app3.cs")).Should().Contain("#:ref ../lib.cs"); + } + [Fact] public void ProjectReference_FullPath_WithVars() { diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index baa1adcd74e7..44356531c095 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -147,6 +147,24 @@ internal static string DirectiveError(string path, int line, string messageForma return $"{path}({line}): {FileBasedProgramsResources.DirectiveError}: {string.Format(messageFormat, args)}"; } + private static void EnableRefDirective(TestDirectory testInstance) + { + var propsPath = Path.Join(testInstance.Path, "Directory.Build.props"); + var propsContent = File.Exists(propsPath) ? File.ReadAllText(propsPath) : null; + if (propsContent is not null && propsContent.Contains(CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective)) + { + return; + } + + File.WriteAllText(propsPath, $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + + + """); + } + /// /// dotnet run file.cs succeeds without a project file. /// @@ -588,6 +606,61 @@ public class LibClass .And.HaveStdErrContaining(errorParts[1]); } + /// + /// dotnet run - with #:ref uses $(MSBuildStartupDirectory) to resolve paths. + /// Relative paths don't work from stdin since the file is in an isolated temp directory. + /// Analogous to . + /// + [Fact] + public void ReadFromStdin_RefDirective() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + var libDir = Path.Join(testInstance.Path, "lib"); + Directory.CreateDirectory(libDir); + + File.WriteAllText(Path.Join(libDir, "mylib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello from lib!"; + } + """); + + var appDir = Path.Join(testInstance.Path, "app"); + Directory.CreateDirectory(appDir); + + new DotnetCommand(Log, "run", "-") + .WithWorkingDirectory(appDir) + .WithEnvironmentVariable(CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective, "true") + .WithStandardInput(""" + #:ref $(MSBuildStartupDirectory)/../lib/mylib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello from lib!"); + + // Relative paths are resolved from the isolated temp directory, hence they don't work. + + var errorParts = DirectiveError("app.cs", 1, FileBasedProgramsResources.InvalidRefDirective, + string.Format(FileBasedProgramsResources.CouldNotFindRefFile, "{}")).Split("{}"); + errorParts.Should().HaveCount(2); + + new DotnetCommand(Log, "run", "-") + .WithWorkingDirectory(appDir) + .WithEnvironmentVariable(CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective, "true") + .WithStandardInput(""" + #:ref ../lib/mylib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(errorParts[0]) + .And.HaveStdErrContaining(errorParts[1]); + } + [Fact] public void ReadFromStdin_NoBuild() { @@ -3113,132 +3186,820 @@ public class LibClass new DotnetCommand(Log, "run", "App/Program.cs") .WithWorkingDirectory(testInstance.Path) .Execute() - .Should().Pass() - .And.HaveStdOut(expectedOutput); + .Should().Pass() + .And.HaveStdOut(expectedOutput); + } + + [Theory] + [InlineData(null)] + [InlineData("app")] + public void ProjectReference_Errors(string? subdir) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + var relativeFilePath = Path.Join(subdir, "Program.cs"); + var filePath = Path.Join(testInstance.Path, relativeFilePath); + Directory.CreateDirectory(Path.GetDirectoryName(filePath)!); + File.WriteAllText(filePath, """ + #:project wrong.csproj + """); + + // Project file does not exist. + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, + string.Format(FileBasedProgramsResources.CouldNotFindProjectOrDirectory, Path.Join(testInstance.Path, subdir, "wrong.csproj")))); + + File.WriteAllText(filePath, """ + #:project dir/ + """); + + // Project directory does not exist. + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, + string.Format(FileBasedProgramsResources.CouldNotFindProjectOrDirectory, Path.Join(testInstance.Path, subdir, "dir/")))); + + Directory.CreateDirectory(Path.Join(testInstance.Path, subdir, "dir")); + + // Directory exists but has no project file. + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, + string.Format(FileBasedProgramsResources.CouldNotFindAnyProjectInDirectory, Path.Join(testInstance.Path, subdir, "dir/")))); + + File.WriteAllText(Path.Join(testInstance.Path, subdir, "dir", "proj1.csproj"), ""); + File.WriteAllText(Path.Join(testInstance.Path, subdir, "dir", "proj2.csproj"), ""); + + // Directory exists but has multiple project files. + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, + string.Format(FileBasedProgramsResources.MoreThanOneProjectInDirectory, Path.Join(testInstance.Path, subdir, "dir/")))); + + // Malformed MSBuild variable syntax. + File.WriteAllText(filePath, """ + #:project $(Test + """); + + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, + string.Format(FileBasedProgramsResources.CouldNotFindProjectOrDirectory, Path.Join(testInstance.Path, subdir, "$(Test")))); + } + + [Theory] + [InlineData(null)] + [InlineData("app")] + public void ProjectReference_Duplicate(string? subdir) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + var relativeFilePath = Path.Join(subdir, "Program.cs"); + var filePath = Path.Join(testInstance.Path, relativeFilePath); + Directory.CreateDirectory(Path.GetDirectoryName(filePath)!); + Directory.CreateDirectory(Path.Join(testInstance.Path, subdir, "dir")); + File.WriteAllText(Path.Join(testInstance.Path, subdir, "dir", "proj1.csproj"), $""" + + + {ToolsetInfo.CurrentTargetFramework} + + + """); + + File.WriteAllText(filePath, """ + #:project dir/ + #:project dir/ + Console.WriteLine("Hello"); + """); + + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 2, FileBasedProgramsResources.DuplicateDirective, "#:project dir/")); + + File.WriteAllText(filePath, """ + #:project dir/ + #:project dir/proj1.csproj + Console.WriteLine("Hello"); + """); + + // https://github.com/dotnet/sdk/issues/51139: we should detect the duplicate project reference + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello"); + + File.WriteAllText(filePath, """ + #:project dir/ + #:project $(MSBuildProjectDirectory)/dir/ + Console.WriteLine("Hello"); + """); + + // https://github.com/dotnet/sdk/issues/51139: we should detect the duplicate project reference + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello"); + } + + [Fact] + public void RefDirective() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet(string name) => $"Hello, {name}!"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib.cs + Console.WriteLine(MyLib.Greeter.Greet("World")); + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello, World!"); + } + + [Fact] + public void RefDirective_Subdirectory() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + var libDir = Path.Join(testInstance.Path, "lib"); + Directory.CreateDirectory(libDir); + + File.WriteAllText(Path.Join(libDir, "mylib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet(string name) => $"Hello, {name}!"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib/mylib.cs + Console.WriteLine(MyLib.Greeter.Greet("World")); + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello, World!"); + } + + /// + /// Analogous to but for #:ref. + /// + [Theory] + [InlineData(null)] + [InlineData("app")] + public void RefDirective_Errors(string? subdir) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + var relativeFilePath = Path.Join(subdir, "Program.cs"); + var filePath = Path.Join(testInstance.Path, relativeFilePath); + Directory.CreateDirectory(Path.GetDirectoryName(filePath)!); + + // Missing name. + File.WriteAllText(filePath, """ + #:ref + """); + + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.MissingDirectiveName, "ref")); + + // File does not exist. + File.WriteAllText(filePath, """ + #:ref nonexistent.cs + """); + + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidRefDirective, + string.Format(FileBasedProgramsResources.CouldNotFindRefFile, Path.Join(testInstance.Path, subdir, "nonexistent.cs")))); + } + + /// + /// Verifies that #:ref produces a metadata (assembly) reference, + /// meaning internal members are not accessible unless InternalsVisibleTo is used. + /// + [Fact] + public void RefDirective_InternalsNotAccessible() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class PublicClass + { + public static string PublicMethod() => "public"; + internal static string InternalMethod() => "internal"; + } + internal static class InternalClass + { + public static string Method() => "internal class"; + } + """); + + // Accessing internal member should fail. + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib.cs + Console.WriteLine(MyLib.PublicClass.InternalMethod()); + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdOutContaining("error CS"); + + // Accessing public member should succeed. + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib.cs + Console.WriteLine(MyLib.PublicClass.PublicMethod()); + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("public"); + } + + /// + /// Verifies transitive #:ref references work: app.cs → lib1.cs → lib2.cs. + /// + [Fact] + public void RefDirective_Transitive() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + File.WriteAllText(Path.Join(testInstance.Path, "lib2.cs"), """ + #:property OutputType=Library + namespace Lib2; + public static class Base + { + public static string Value() => "from lib2"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "lib1.cs"), """ + #:property OutputType=Library + #:ref lib2.cs + namespace Lib1; + public static class Middle + { + public static string Value() => $"from lib1 and {Lib2.Base.Value()}"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib1.cs + Console.WriteLine(Lib1.Middle.Value()); + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("from lib1 and from lib2"); + } + + /// + /// #:ref with various path formats (forward slashes, backslashes, MSBuild properties, parent dirs). + /// Analogous to . + /// + [Theory] + [InlineData("../Lib/lib.cs")] + [InlineData(@"..\Lib\lib.cs")] + [InlineData("$(MSBuildProjectDirectory)/../$(LibDirName)/lib.cs")] + [InlineData(@"$(MSBuildProjectDirectory)\..\Lib\lib.cs")] + public void RefDirective_PathFormats(string arg) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + var libDir = Path.Join(testInstance.Path, "Lib"); + Directory.CreateDirectory(libDir); + + File.WriteAllText(Path.Join(libDir, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet(string name) => $"Hello, {name}!"; + } + """); + + var appDir = Path.Join(testInstance.Path, "App"); + Directory.CreateDirectory(appDir); + + File.WriteAllText(Path.Join(appDir, "app.cs"), $""" + #:ref {arg} + #:property LibDirName=Lib + Console.WriteLine(MyLib.Greeter.Greet("World")); + """); + + var expectedOutput = "Hello, World!"; + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(appDir) + .Execute() + .Should().Pass() + .And.HaveStdOut(expectedOutput); + + // Running from a different working directory shouldn't affect handling of the relative paths. + new DotnetCommand(Log, "run", "App/app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(expectedOutput); + } + + /// + /// #:ref duplicate detection. + /// Analogous to . + /// + [Theory] + [InlineData(null)] + [InlineData("app")] + public void RefDirective_Duplicate(string? subdir) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + var relativeFilePath = Path.Join(subdir, "Program.cs"); + var filePath = Path.Join(testInstance.Path, relativeFilePath); + Directory.CreateDirectory(Path.GetDirectoryName(filePath)!); + + File.WriteAllText(Path.Join(testInstance.Path, subdir, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); + + File.WriteAllText(filePath, """ + #:ref lib.cs + #:ref lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 2, FileBasedProgramsResources.DuplicateDirective, "#:ref lib.cs")); + + File.WriteAllText(filePath, """ + #:ref lib.cs + #:ref ./lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + // https://github.com/dotnet/sdk/issues/51139: we should detect the duplicate ref + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello!"); + + File.WriteAllText(filePath, """ + #:ref lib.cs + #:ref $(MSBuildProjectDirectory)/lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + // https://github.com/dotnet/sdk/issues/51139: we should detect the duplicate ref + new DotnetCommand(Log, "run", relativeFilePath) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello!"); + } + + /// + /// #:ref is an experimental feature that must be opted into. + /// Analogous to . + /// + [Fact] + public void RefDirective_FeatureFlag() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + var libPath = Path.Join(testInstance.Path, "lib.cs"); + File.WriteAllText(libPath, """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); + + var programPath = Path.Join(testInstance.Path, "Program.cs"); + File.WriteAllText(programPath, """ + #:ref lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErr($""" + {DirectiveError(programPath, 1, Resources.ExperimentalFeatureDisabled, CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective)} + + {CliCommandStrings.RunCommandException} + """); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .WithEnvironmentVariable(CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective, "true") + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello!"); + } + + /// + /// Combining #:ref and #:include in the same file-based app. + /// + [Fact] + public void RefDirective_WithInclude() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + <{CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableIncludeDirective}>true + + + """); + + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #!/usr/bin/env dotnet + #:property OutputType=Library + #:include LibHelper.cs + #:include LibFormatter.cs + namespace MyLib; + public static class Greeter + { + public static string Greet(string name) => LibFormatter.Format(LibHelper.Prefix, name); + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "LibHelper.cs"), """ + namespace MyLib; + public static class LibHelper + { + public static string Prefix => "Hello"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "LibFormatter.cs"), """ + namespace MyLib; + public static class LibFormatter + { + public static string Format(string prefix, string name) => $"{prefix}, {name}!"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "Util.cs"), """ + static class Util + { + public static string GetName() => "World"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #!/usr/bin/env dotnet + #:ref lib.cs + #:include Util.cs + Console.WriteLine(MyLib.Greeter.Greet(Util.GetName())); + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello, World!"); + } + + /// + /// A #:ref library can target a different framework (e.g., netstandard2.0) + /// than the referencing app (net10.0). + /// + [Fact] + public void RefDirective_DifferentTargetFramework() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + #:property TargetFramework=netstandard2.0 + #:property LangVersion=latest + #:property ImplicitUsings=disable + #:property PublishAot=false + namespace MyLib; + public static class Greeter + { + #if NETSTANDARD2_0 + public static string Greet() => "Hello from netstandard2.0!"; + #else + public static string Greet() => "Hello from other!"; + #endif + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib.cs + #if NET10_0_OR_GREATER + Console.WriteLine("App is net10.0+: " + MyLib.Greeter.Greet()); + #else + Console.WriteLine("App is older: " + MyLib.Greeter.Greet()); + #endif + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("App is net10.0+: Hello from netstandard2.0!"); + } + + /// + /// #:ref *.cs does not expand globs — it looks for a literal file named *.cs. + /// + [Fact] + public void RefDirective_Glob() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); + + var filePath = Path.Join(testInstance.Path, "app.cs"); + File.WriteAllText(filePath, """ + #:ref *.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + new DotnetCommand(Log, "run", "app.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidRefDirective, + string.Format(FileBasedProgramsResources.CouldNotFindRefFile, Path.Join(testInstance.Path, "*.cs")))); } - [Theory] - [InlineData(null)] - [InlineData("app")] - public void ProjectReference_Errors(string? subdir) + /// + /// Verifies that cyclic #:ref references (lib1 → lib2 → lib1) do not cause an infinite loop. + /// + [Fact] + public void RefDirective_Cycle() { var testInstance = _testAssetsManager.CreateTestDirectory(); - var relativeFilePath = Path.Join(subdir, "Program.cs"); - var filePath = Path.Join(testInstance.Path, relativeFilePath); - Directory.CreateDirectory(Path.GetDirectoryName(filePath)!); - File.WriteAllText(filePath, """ - #:project wrong.csproj + EnableRefDirective(testInstance); + + File.WriteAllText(Path.Join(testInstance.Path, "lib1.cs"), """ + #:property OutputType=Library + #:ref lib2.cs + namespace Lib1; + public static class C1 { public static string Get() => "lib1"; } """); - // Project file does not exist. - new DotnetCommand(Log, "run", relativeFilePath) - .WithWorkingDirectory(testInstance.Path) - .Execute() - .Should().Fail() - .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, - string.Format(FileBasedProgramsResources.CouldNotFindProjectOrDirectory, Path.Join(testInstance.Path, subdir, "wrong.csproj")))); + File.WriteAllText(Path.Join(testInstance.Path, "lib2.cs"), """ + #:property OutputType=Library + #:ref lib1.cs + namespace Lib2; + public static class C2 { public static string Get() => "lib2"; } + """); - File.WriteAllText(filePath, """ - #:project dir/ + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib1.cs + Console.WriteLine(Lib1.C1.Get()); """); - // Project directory does not exist. - new DotnetCommand(Log, "run", relativeFilePath) + // Should not hang. The cycle is broken by processedFiles deduplication. + // error NU1108: Cycle detected. + // error NU1108: lib1 -> lib2 -> lib1. + new DotnetCommand(Log, "run", "app.cs") .WithWorkingDirectory(testInstance.Path) .Execute() .Should().Fail() - .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, - string.Format(FileBasedProgramsResources.CouldNotFindProjectOrDirectory, Path.Join(testInstance.Path, subdir, "dir/")))); + .And.HaveStdOutContaining("error NU1108"); + } - Directory.CreateDirectory(Path.Join(testInstance.Path, subdir, "dir")); + /// + /// Two #:include'd files each have #:ref to the same library. + /// The deduplication via processedFiles should ensure the library is only processed once. + /// + [Fact] + public void RefDirective_DuplicateRefFromIncludedFiles() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); - // Directory exists but has no project file. - new DotnetCommand(Log, "run", relativeFilePath) - .WithWorkingDirectory(testInstance.Path) - .Execute() - .Should().Fail() - .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, - string.Format(FileBasedProgramsResources.CouldNotFindAnyProjectInDirectory, Path.Join(testInstance.Path, subdir, "dir/")))); + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + <{CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableIncludeDirective}>true + <{CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableTransitiveDirectives}>true + + + """); - File.WriteAllText(Path.Join(testInstance.Path, subdir, "dir", "proj1.csproj"), ""); - File.WriteAllText(Path.Join(testInstance.Path, subdir, "dir", "proj2.csproj"), ""); + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); - // Directory exists but has multiple project files. - new DotnetCommand(Log, "run", relativeFilePath) - .WithWorkingDirectory(testInstance.Path) - .Execute() - .Should().Fail() - .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, - string.Format(FileBasedProgramsResources.MoreThanOneProjectInDirectory, Path.Join(testInstance.Path, subdir, "dir/")))); + File.WriteAllText(Path.Join(testInstance.Path, "helper1.cs"), """ + #:ref lib.cs + static class Helper1 + { + public static string Get() => MyLib.Greeter.Greet(); + } + """); - // Malformed MSBuild variable syntax. - File.WriteAllText(filePath, """ - #:project $(Test + File.WriteAllText(Path.Join(testInstance.Path, "helper2.cs"), """ + #:ref lib.cs + static class Helper2 + { + public static string Get() => MyLib.Greeter.Greet(); + } """); - new DotnetCommand(Log, "run", relativeFilePath) + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #!/usr/bin/env dotnet + #:include helper1.cs + #:include helper2.cs + Console.WriteLine(Helper1.Get() + " " + Helper2.Get()); + """); + + new DotnetCommand(Log, "run", "app.cs") .WithWorkingDirectory(testInstance.Path) .Execute() - .Should().Fail() - .And.HaveStdErrContaining(DirectiveError(filePath, 1, FileBasedProgramsResources.InvalidProjectDirective, - string.Format(FileBasedProgramsResources.CouldNotFindProjectOrDirectory, Path.Join(testInstance.Path, subdir, "$(Test")))); + .Should().Pass() + .And.HaveStdOut("Hello! Hello!"); } - [Theory] - [InlineData(null)] - [InlineData("app")] - public void ProjectReference_Duplicate(string? subdir) + /// + /// Two #:include'd files in different directories each have #:ref to the same library + /// using different relative paths. Deduplication via processedFiles uses the resolved (absolute) path, + /// so the library is only processed once. + /// + [Fact] + public void RefDirective_DuplicateRefFromIncludedFiles_Subdirectories() { var testInstance = _testAssetsManager.CreateTestDirectory(); - var relativeFilePath = Path.Join(subdir, "Program.cs"); - var filePath = Path.Join(testInstance.Path, relativeFilePath); - Directory.CreateDirectory(Path.GetDirectoryName(filePath)!); - Directory.CreateDirectory(Path.Join(testInstance.Path, subdir, "dir")); - File.WriteAllText(Path.Join(testInstance.Path, subdir, "dir", "proj1.csproj"), $""" - + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + - {ToolsetInfo.CurrentTargetFramework} + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + <{CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableIncludeDirective}>true + <{CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableTransitiveDirectives}>true """); - File.WriteAllText(filePath, """ - #:project dir/ - #:project dir/ - Console.WriteLine("Hello"); + // lib.cs is in the root directory. + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } """); - new DotnetCommand(Log, "run", relativeFilePath) - .WithWorkingDirectory(testInstance.Path) - .Execute() - .Should().Fail() - .And.HaveStdErrContaining(DirectiveError(filePath, 2, FileBasedProgramsResources.DuplicateDirective, "#:project dir/")); + // helper1.cs is in sub1/, refers to lib.cs via ../lib.cs. + var sub1 = Path.Join(testInstance.Path, "sub1"); + Directory.CreateDirectory(sub1); + File.WriteAllText(Path.Join(sub1, "helper1.cs"), """ + #:ref ../lib.cs + static class Helper1 + { + public static string Get() => MyLib.Greeter.Greet(); + } + """); - File.WriteAllText(filePath, """ - #:project dir/ - #:project dir/proj1.csproj - Console.WriteLine("Hello"); + // helper2.cs is in sub2/nested/, refers to lib.cs via ../../lib.cs (different relative path, same resolved path). + var sub2 = Path.Join(testInstance.Path, "sub2", "nested"); + Directory.CreateDirectory(sub2); + File.WriteAllText(Path.Join(sub2, "helper2.cs"), """ + #:ref ../../lib.cs + static class Helper2 + { + public static string Get() => MyLib.Greeter.Greet(); + } """); - // https://github.com/dotnet/sdk/issues/51139: we should detect the duplicate project reference - new DotnetCommand(Log, "run", relativeFilePath) + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #!/usr/bin/env dotnet + #:include sub1/helper1.cs + #:include sub2/nested/helper2.cs + Console.WriteLine(Helper1.Get() + " " + Helper2.Get()); + """); + + new DotnetCommand(Log, "run", "app.cs") .WithWorkingDirectory(testInstance.Path) .Execute() .Should().Pass() - .And.HaveStdOut("Hello"); + .And.HaveStdOut("Hello! Hello!"); + } - File.WriteAllText(filePath, """ - #:project dir/ - #:project $(MSBuildProjectDirectory)/dir/ - Console.WriteLine("Hello"); + /// + /// Both #:include and #:ref pointing at the same file. + /// The file ends up both compiled into the current assembly and referenced as a separate assembly. + /// This is expected to produce a compilation error (duplicate type definitions). + /// + [Fact] + public void RefDirective_IncludeAndRefSameFile() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" + + + <{CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective}>true + <{CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableIncludeDirective}>true + <{CSharpDirective.IncludeOrExclude.ExperimentalFileBasedProgramEnableTransitiveDirectives}>true + + """); - // https://github.com/dotnet/sdk/issues/51139: we should detect the duplicate project reference - new DotnetCommand(Log, "run", relativeFilePath) + File.WriteAllText(Path.Join(testInstance.Path, "lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello!"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "app.cs"), """ + #:ref lib.cs + #:include lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + // The #:include brings in lib.cs's #:property OutputType=Library, making the app a library. + // error CS8805: Program using top-level statements must be an executable. + new DotnetCommand(Log, "run", "app.cs") .WithWorkingDirectory(testInstance.Path) .Execute() - .Should().Pass() - .And.HaveStdOut("Hello"); + .Should().Fail() + .And.HaveStdOutContaining("error CS8805"); } [Theory, CombinatorialData] @@ -4883,6 +5644,50 @@ public class LibClass Build(testInstance, BuildLevel.All, expectedOutput: "v1 Hello from Lib v2", programFileName: programFileName); } + /// + /// optimization currently does not support #:ref references and hence is disabled if those are present. + /// Analogous to . + /// + [Fact] + public void UpToDate_RefDirectives() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + var libPath = Path.Join(testInstance.Path, "lib.cs"); + var libCode = """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "v1"; + } + """; + File.WriteAllText(libPath, libCode); + + var programCode = """ + #:ref lib.cs + Console.WriteLine("Hello " + MyLib.Greeter.Greet()); + """; + + var programPath = Path.Join(testInstance.Path, "Program.cs"); + File.WriteAllText(programPath, programCode); + + // Remove artifacts from possible previous runs of this test. + var artifactsDir = VirtualProjectBuilder.GetArtifactsPath(programPath); + if (Directory.Exists(artifactsDir)) Directory.Delete(artifactsDir, recursive: true); + + Build(testInstance, BuildLevel.All, expectedOutput: "Hello v1"); + + // We cannot detect changes in referenced files, so we always rebuild. + Build(testInstance, BuildLevel.All, expectedOutput: "Hello v1"); + + libCode = libCode.Replace("v1", "v2"); + File.WriteAllText(libPath, libCode); + + Build(testInstance, BuildLevel.All, expectedOutput: "Hello v2"); + } + /// /// optimization considers default items. /// Also tests optimization. @@ -5590,6 +6395,52 @@ public class LibClass Build(testInstance, BuildLevel.All, expectedOutput: "v2 Hello from Lib v2", programFileName: programFileName); } + /// + /// See . + /// This optimization currently does not support #:ref references and hence is disabled if those are present. + /// Analogous to . + /// + [Fact] + public void CscOnly_AfterMSBuild_RefDirectives() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + EnableRefDirective(testInstance); + + var libPath = Path.Join(testInstance.Path, "lib.cs"); + var libCode = """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "v1"; + } + """; + File.WriteAllText(libPath, libCode); + + var programCode = """ + #:ref lib.cs + Console.WriteLine("Hello " + MyLib.Greeter.Greet()); + """; + + var programPath = Path.Join(testInstance.Path, "Program.cs"); + File.WriteAllText(programPath, programCode); + + // Remove artifacts from possible previous runs of this test. + var artifactsDir = VirtualProjectBuilder.GetArtifactsPath(programPath); + if (Directory.Exists(artifactsDir)) Directory.Delete(artifactsDir, recursive: true); + + Build(testInstance, BuildLevel.All, expectedOutput: "Hello v1"); + + programCode = programCode.Replace("Hello", "Hi"); + File.WriteAllText(programPath, programCode); + + libCode = libCode.Replace("v1", "v2"); + File.WriteAllText(libPath, libCode); + + // Cannot use CSC because we cannot detect updates in the referenced file. + Build(testInstance, BuildLevel.All, expectedOutput: "Hi v2"); + } + /// /// See . /// If users have more complex build customizations, they can opt out of the optimization. @@ -6532,4 +7383,59 @@ public void VirtualProject_SurvivesGCDuringRestore() .Should().Pass() .And.HaveStdOut("Hello from virtual project"); } + + /// + /// Same as but for #:ref referenced projects. + /// The referenced project's must also survive GC. + /// + [Fact] + public void VirtualProject_SurvivesGCDuringRestore_RefDirective() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + File.WriteAllText(Path.Join(testInstance.Path, "Lib.cs"), """ + #:property OutputType=Library + namespace MyLib; + public static class Greeter + { + public static string Greet() => "Hello from ref"; + } + """); + + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), """ + #:ref Lib.cs + Console.WriteLine(MyLib.Greeter.Greet()); + """); + + // Directory.Build.targets that forces GC during restore, + // after SDK imports have already evicted the virtual PRE from the strong cache. + File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.targets"), """ + + + + + + + + <_ForceGCTask /> + + + """); + + new DotnetCommand(Log, "run", "--no-cache", "Program.cs") + // A cache size of 1 ensures the virtual PRE is evicted from the strong cache + // as soon as any SDK .targets/.props file is loaded during evaluation. + .WithEnvironmentVariable("MSBUILDPROJECTROOTELEMENTCACHESIZE", "1") + .WithEnvironmentVariable(CSharpDirective.Ref.ExperimentalFileBasedProgramEnableRefDirective, "true") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut("Hello from ref"); + } } From c6d77a25fbf4a5e9feaca4ed8c5ab825fc062933 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Wed, 15 Apr 2026 11:36:11 +0200 Subject: [PATCH 119/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2951665 --- src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf | 5 +++++ src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf | 5 +++++ 13 files changed, 65 insertions(+) diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf index 5b25a0b4082e..2f5d8f197eba 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf @@ -1256,6 +1256,11 @@ Nástroj {1} (verze {2}) se úspěšně nainstaloval. Do souboru manifestu {3} s Odstraněný zdrojový soubor: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Zkušební spuštění: odebere direktivy na úrovni souboru ze souboru: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf index 6013df11d21e..67d8a75d1641 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf @@ -1256,6 +1256,11 @@ Das Tool "{1}" (Version {2}) wurde erfolgreich installiert. Der Eintrag wird der Quelldatei gelöscht: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Probelauf. Anweisungen auf Dateiebene würden aus Datei entfernt: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf index 808fabcec6f5..a7784fbe6057 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf @@ -1256,6 +1256,11 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. Se ha agregado Archivo de origen eliminado: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Simulación: se eliminarían las directivas a nivel de archivo del archivo {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf index 7298d1c4f990..173b8a464603 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf @@ -1256,6 +1256,11 @@ L'outil '{1}' (version '{2}') a été correctement installé. L'entrée est ajou Fichier source supprimé : {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Test à blanc : supprimerait les directives de niveau fichier du fichier : {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf index 7ff173c7450f..a4ecc79c41ba 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf @@ -1256,6 +1256,11 @@ Lo strumento '{1}' versione '{2}' è stato installato. La voce è stata aggiunta File di origine eliminato: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Esecuzione di prova: rimuoverebbe le direttive a livello di file dal file: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf index 9af952478d44..857e8e4e459a 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 削除されたソース ファイル: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} ドライ ラン: ファイルからファイル レベルのディレクティブを削除します: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf index f5a085361b43..da738b37cbe7 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 원본 파일을 삭제함: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} 시험 실행: 파일에서 파일 수준 지시문을 제거합니다. {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf index 68ff0ba7942d..da4ba95c1ea4 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf @@ -1256,6 +1256,11 @@ Narzędzie „{1}” (wersja „{2}”) zostało pomyślnie zainstalowane. Wpis Usunięto plik źródłowy: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Przebieg próbny: spowoduje usunięcie dyrektyw na poziomie pliku z pliku: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf index 3cee39fa42fa..426840b2d695 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf @@ -1256,6 +1256,11 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. A entrada foi adici Arquivo de origem excluído: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Execução de teste: diretivas de nível de arquivo a serem removidas do arquivo: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf index 4c2f8b799955..47a36ac13072 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Исходный файл удален: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Пробный прогон: будут удалены директивы на уровне файла из файла: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf index f2cbb5075f24..a702754d4ca1 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Kaynak dosya silindi: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} Deneme çalıştırması: dosya düzeyindeki yönergeleri şu dosyadan kaldırıyor: {0} diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf index c851f5d272b1..97f4b9fe46cf 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 已删除的源文件: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} 试运行: 将从文件 {0} 中移除文件级指令 diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf index a70f1ca045af..c3c7ed0d05c9 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf @@ -1256,6 +1256,11 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man 已刪除來源檔案: {0} {0} is the source file path. + + Multiple referenced files would be converted into the same directory: '{0}' + Multiple referenced files would be converted into the same directory: '{0}' + {0} is the target directory path. + Dry run: would remove file-level directives from file: {0} 試執行: 將從檔案移除檔案層級指示詞: {0} From 2dfefb1a34113553157de47533b058b32dd26116 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Wed, 15 Apr 2026 11:38:58 +0200 Subject: [PATCH 120/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2951665 --- .../xlf/FileBasedProgramsResources.cs.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.de.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.es.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.fr.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.it.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.ja.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.ko.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.pl.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.pt-BR.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.ru.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.tr.xlf | 10 ++++++++++ 11 files changed, 110 insertions(+) diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf index fccd6ec81449..c7b527bc9754 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf @@ -17,6 +17,11 @@ Nenašel se projekt ani adresář {0}. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error chyba @@ -57,6 +62,11 @@ Direktiva #:project je neplatná: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Chybí název pro: {0}. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf index acfc69549e69..ae85b7a2a9fb 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf @@ -17,6 +17,11 @@ Das Projekt oder Verzeichnis "{0}" wurde nicht gefunden. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error Fehler @@ -57,6 +62,11 @@ Die Anweisung „#:p roject“ ist ungültig: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Fehlender Name der Anweisung „{0}“. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf index 7fcfcf9a443e..99af05fd0a22 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf @@ -17,6 +17,11 @@ No se encuentra el proyecto o directorio "{0}". + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error error @@ -57,6 +62,11 @@ La directiva "#:project" no es válida: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Falta el nombre de "{0}". diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf index 88c34c93ba8a..90add5915dd1 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf @@ -17,6 +17,11 @@ Projet ou répertoire '{0}' introuvable. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error erreur @@ -57,6 +62,11 @@ La directive « #:project » n’est pas valide : {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Nom manquant pour « {0} ». diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf index 655d5b367356..47de1ef37010 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf @@ -17,6 +17,11 @@ Non sono stati trovati progetti o directory `{0}`. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error errore @@ -57,6 +62,11 @@ La direttiva '#:project' non è valida: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Manca il nome di '{0}'. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf index 2d2cc195c23a..573c9be2ff5c 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf @@ -17,6 +17,11 @@ プロジェクトまたはディレクトリ `{0}` が見つかりませんでした。 + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error エラー @@ -57,6 +62,11 @@ '#:p roject' ディレクティブが無効です: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. '{0}' の名前がありません。 diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf index 7082b47f9aa8..b466d59e7a63 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf @@ -17,6 +17,11 @@ 프로젝트 또는 디렉터리 {0}을(를) 찾을 수 없습니다. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error 오류 @@ -57,6 +62,11 @@ '#:p roject' 지시문이 잘못되었습니다. {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. '{0}' 이름이 없습니다. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf index 4cd99b2c63c3..eaf6b0b78253 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf @@ -17,6 +17,11 @@ Nie można odnaleźć projektu ani katalogu „{0}”. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error błąd @@ -57,6 +62,11 @@ Dyrektywa „#:project” jest nieprawidłowa: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Brak nazwy „{0}”. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf index a5ef266abb7e..72cc2e9f3706 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf @@ -17,6 +17,11 @@ Não foi possível encontrar o projeto ou diretório ‘{0}’. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error erro @@ -57,6 +62,11 @@ A diretiva '#:project' é inválida:{0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Nome de '{0}' ausente. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf index 3405fe15916b..5d580c932efe 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf @@ -17,6 +17,11 @@ Не удалось найти проект или каталог "{0}". + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error ошибка @@ -57,6 +62,11 @@ Недопустимая директива "#:project": {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. Отсутствует имя "{0}". diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf index 40ee3f703b98..e64081b711aa 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf @@ -17,6 +17,11 @@ `{0}` projesi veya dizini bulunamadı. + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error hata @@ -57,6 +62,11 @@ ‘#:project’ yönergesi geçersizdir: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. '{0}' adı eksik. From c674bd57cc9c73f009f03fd729a7a6b31f88928d Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Wed, 15 Apr 2026 11:40:20 +0200 Subject: [PATCH 121/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2951665 --- .../xlf/FileBasedProgramsResources.zh-Hans.xlf | 10 ++++++++++ .../xlf/FileBasedProgramsResources.zh-Hant.xlf | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf index b5c92edfd759..bbcefb9f1d7f 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf @@ -17,6 +17,11 @@ 找不到项目或目录“{0}”。 + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error 错误 @@ -57,6 +62,11 @@ '#:project' 指令无效: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. 缺少 '{0}' 的名称。 diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf index d65f38fe59f2..ecfe1971bf1c 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf @@ -17,6 +17,11 @@ 找不到專案或目錄 `{0}`。 + + Could not find file '{0}'. + Could not find file '{0}'. + {0} is the file path. + error 錯誤 @@ -57,6 +62,11 @@ '#:project' 指示詞無效: {0} {0} is the inner error message. + + The '#:ref' directive is invalid: {0} + The '#:ref' directive is invalid: {0} + {Locked="#:ref"}{0} is the inner error message. + Missing name of '{0}'. 缺少 '{0}' 的名稱。 From 5e98323b619a8618744e76c47847908f5aadd755 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 17:58:52 +0000 Subject: [PATCH 122/137] Reset files to release/10.0.3xx Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 1 - eng/Version.Details.props | 274 ++++++++++--------- eng/Version.Details.xml | 551 +++++++++++++++++++------------------- global.json | 6 +- 4 files changed, 425 insertions(+), 407 deletions(-) diff --git a/NuGet.config b/NuGet.config index 612e59b10559..f3f728c95515 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,7 +4,6 @@ - diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 74e42fd4114f..40b8f31a30ed 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,145 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4-servicing.26119.110 - 10.0.0-preview.26208.102 - 10.0.4 - 10.0.4 - 18.3.3 - 18.3.3-servicing-26208-102 - 7.3.0-rc.20902 - 10.0.202 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 10.0.0-preview.26208.102 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 2.0.0-preview.1.26119.110 - 2.2.4 - 10.0.0-beta.26208.102 - 10.0.0-beta.26208.102 - 10.0.0-beta.26208.102 - 10.0.0-beta.26208.102 - 10.0.0-beta.26208.102 - 10.0.0-beta.26208.102 - 10.0.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.0-beta.26208.102 - 10.0.0-beta.26208.102 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 15.2.202-servicing.26208.102 - 10.0.4 - 5.3.0-2.26208.102 - 5.3.0-2.26208.102 - 10.0.4-servicing.26119.110 - 10.0.4 - 10.0.4 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-preview.26203.106 + 10.0.5 + 10.0.5 + 18.6.0-preview-26203-106 + 18.6.0-preview-26203-106 + 7.6.0-rc.20406 + 10.0.300-alpha.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 10.0.0-preview.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 2.0.0-preview.1.26153.111 + 2.2.5 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5-servicing.26153.111 + 10.0.0-beta.26203.106 + 10.0.0-beta.26203.106 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 15.2.300-servicing.26203.106 + 10.0.5 + 5.6.0-2.26203.106 + 5.6.0-2.26203.106 + 10.0.5-servicing.26153.111 + 10.0.5 + 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26208.102 - 10.0.4-servicing.26119.110 - 18.3.0-release-26208-102 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26208.102 - 10.0.202 - 10.0.202-servicing.26208.102 - 10.0.202 - 10.0.202 - 10.0.202-servicing.26208.102 - 18.3.0-release-26208-102 - 18.3.0-release-26208-102 - 3.2.4 - 10.0.4 - 10.0.4-servicing.26119.110 - 10.0.4 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 7.3.0-rc.20902 - 10.0.4 - 2.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 - 10.0.4 + 10.0.0-preview.26203.106 + 10.0.5-servicing.26153.111 + 18.3.0-release-26203-106 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-alpha.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 10.0.300-preview.26203.106 + 18.3.0-release-26203-106 + 18.3.0-release-26203-106 + 3.2.5 + 10.0.5 + 10.0.5-servicing.26153.111 + 10.0.5 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 7.6.0-rc.20406 + 10.0.5 + 2.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 + 10.0.5 - 2.3.0-preview.26202.5 - 4.3.0-preview.26202.5 + 2.1.0-preview.25571.1 + 4.1.0-preview.25571.1 @@ -190,6 +193,7 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) + $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -201,9 +205,11 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetWebItemTemplates100PackageVersion) $(MicrosoftDotNetWebProjectTemplates100PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) + $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) $(MicrosoftDotNetXUnitExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) + $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) $(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion) $(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ae26dac1d072..d144b971620b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 @@ -68,170 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + + + https://github.com/dotnet/dotnet + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 + + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + + + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://github.com/dotnet/dotnet - ca08b17aa41cb6c2cf159f3bb7925210147a9510 + f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/microsoft/testfx - cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://github.com/microsoft/testfx - cc183c7df9aa41b4b27a1cc9d7d6f707ea51f4e3 + 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 80d3e14f5e08b4888f464e3cd0d0b2445b63ec46 + a612c2a1056fe3265387ae3ff7c94eba1505caf9 diff --git a/global.json b/global.json index 80afb86eeaec..8fafeae1ec8a 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.201", + "dotnet": "10.0.105", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26208.102", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26208.102", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.106", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.106", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 5963f1fde5765a238fccc7854b69e5983d5a5250 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Wed, 15 Apr 2026 18:05:19 +0000 Subject: [PATCH 123/137] [release/10.0.3xx] Source code updates from dotnet/dotnet (#53759) [release/10.0.3xx] Source code updates from dotnet/dotnet - Merge branch 'release/10.0.3xx' into darc-release/10.0.3xx-4b23931f-fea0-4216-abd2-098084c035f8 - Disable C++/CLI and compilation context tests pending toolset fixes - Disable C++/CLI tests pending v143 toolset fix on VS 2026 Helix (https://github.com/dotnet/sdk/issues/53789) - Disable SourceLinkTests.Cpp pending v143 toolset fix (https://github.com/dotnet/sdk/issues/53789) - Skip net46 InlineData in GivenThatWeWantToPreserveCompilationContext (https://github.com/dotnet/sdk/issues/53796) Agent-Logs-Url: https://github.com/dotnet/sdk/sessions/62e0b341-f057-4e31-b5b5-665d79e4d545 Co-authored-by: MiYanni <17788297+MiYanni@users.noreply.github.com> --- eng/Version.Details.props | 124 ++++----- eng/Version.Details.xml | 250 +++++++++--------- eng/common/core-templates/job/job.yml | 5 +- .../job/publish-build-assets.yml | 14 +- eng/common/core-templates/jobs/jobs.yml | 5 + .../core-templates/post-build/post-build.yml | 105 +++++--- .../post-build/setup-maestro-vars.yml | 5 +- .../steps/component-governance.yml | 16 -- .../core-templates/steps/generate-sbom.yml | 60 +---- .../core-templates/steps/publish-logs.yml | 9 +- .../core-templates/steps/source-build.yml | 2 +- eng/common/generate-sbom-prep.ps1 | 29 -- eng/common/generate-sbom-prep.sh | 39 --- eng/common/template-guidance.md | 2 - eng/common/templates-official/job/job.yml | 64 ++--- .../steps/component-governance.yml | 7 - .../steps/publish-pipeline-artifacts.yml | 4 +- eng/common/templates/job/job.yml | 57 ++-- .../templates/steps/component-governance.yml | 7 - global.json | 4 +- .../GivenThatWeWantToBuildACppCliProject.cs | 16 +- ...ToBuildACppCliProjectWithTransitiveDeps.cs | 6 +- .../SourceLinkTests.cs | 2 +- .../GivenThatWeWantToPackACppCliProject.cs | 2 +- ...nThatWeWantToPreserveCompilationContext.cs | 3 +- .../GivenThatWeWantToPublishACppCliProject.cs | 2 +- 26 files changed, 377 insertions(+), 462 deletions(-) delete mode 100644 eng/common/core-templates/steps/component-governance.yml delete mode 100644 eng/common/generate-sbom-prep.ps1 delete mode 100755 eng/common/generate-sbom-prep.sh delete mode 100644 eng/common/templates-official/steps/component-governance.yml delete mode 100644 eng/common/templates/steps/component-governance.yml diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 40b8f31a30ed..e1f9a4b1bb84 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26203.106 + 10.0.0-preview.26210.101 10.0.5 10.0.5 - 18.6.0-preview-26203-106 - 18.6.0-preview-26203-106 - 7.6.0-rc.20406 - 10.0.300-alpha.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 10.0.0-preview.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 + 18.6.0-preview-26210-101 + 18.6.0-preview-26210-101 + 7.6.0-rc.21101 + 10.0.300-alpha.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 10.0.0-preview.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26203.106 - 10.0.0-beta.26203.106 - 10.0.0-beta.26203.106 - 10.0.0-beta.26203.106 - 10.0.0-beta.26203.106 - 10.0.0-beta.26203.106 + 10.0.0-beta.26210.101 + 10.0.0-beta.26210.101 + 10.0.0-beta.26210.101 + 10.0.0-beta.26210.101 + 10.0.0-beta.26210.101 + 10.0.0-beta.26210.101 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26203.106 - 10.0.0-beta.26203.106 + 10.0.0-beta.26210.101 + 10.0.0-beta.26210.101 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26203.106 + 15.2.300-servicing.26210.101 10.0.5 - 5.6.0-2.26203.106 - 5.6.0-2.26203.106 + 5.6.0-2.26210.101 + 5.6.0-2.26210.101 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26203.106 + 10.0.0-preview.26210.101 10.0.5-servicing.26153.111 - 18.3.0-release-26203-106 + 18.3.0-release-26210-101 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26203.106 - 10.0.300-alpha.26203.106 - 10.0.300-alpha.26203.106 - 10.0.300-alpha.26203.106 - 10.0.300-alpha.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 10.0.300-preview.26203.106 - 18.3.0-release-26203-106 - 18.3.0-release-26203-106 + 10.0.300-alpha.26210.101 + 10.0.300-alpha.26210.101 + 10.0.300-alpha.26210.101 + 10.0.300-alpha.26210.101 + 10.0.300-alpha.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 10.0.300-preview.26210.101 + 18.3.0-release-26210-101 + 18.3.0-release-26210-101 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 - 7.6.0-rc.20406 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 + 7.6.0-rc.21101 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d144b971620b..ede76b7c9f9b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 - + https://github.com/dotnet/dotnet - f53e3a87c05e7d5ba77e7327dd453dc5fef64b7f + 70c50b3477e27fe499dafca4406902b502467d89 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml index 5ce518406198..eaed6d87e653 100644 --- a/eng/common/core-templates/job/job.yml +++ b/eng/common/core-templates/job/job.yml @@ -24,12 +24,12 @@ parameters: enablePublishBuildArtifacts: false enablePublishBuildAssets: false enablePublishTestResults: false + enablePublishing: false enableBuildRetry: false mergeTestResults: false testRunTitle: '' testResultsFormat: '' name: '' - componentGovernanceSteps: [] preSteps: [] artifactPublishSteps: [] runAsPublic: false @@ -146,9 +146,6 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} - - ${{ each step in parameters.componentGovernanceSteps }}: - - ${{ step }} - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - template: /eng/common/core-templates/steps/cleanup-microbuild.yml parameters: diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index 9afcb8ae1590..06f2eed0323d 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -172,17 +172,18 @@ jobs: targetPath: '$(Build.ArtifactStagingDirectory)/MergedManifest.xml' artifactName: AssetManifests displayName: 'Publish Merged Manifest' - retryCountOnTaskFailure: 10 # for any logs being locked - sbomEnabled: false # we don't need SBOM for logs + retryCountOnTaskFailure: 10 # for any files being locked + isProduction: false # just metadata for publishing - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: displayName: Publish ReleaseConfigs Artifact - pathToPublish: '$(Build.StagingDirectory)/ReleaseConfigs' - publishLocation: Container + targetPath: '$(Build.StagingDirectory)/ReleaseConfigs' artifactName: ReleaseConfigs + retryCountOnTaskFailure: 10 # for any files being locked + isProduction: false # just metadata for publishing - ${{ if or(eq(parameters.publishAssetsImmediately, 'true'), eq(parameters.isAssetlessBuild, 'true')) }}: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -218,4 +219,5 @@ jobs: - template: /eng/common/core-templates/steps/publish-logs.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} - JobLabel: 'Publish_Artifacts_Logs' + StageLabel: 'BuildAssetRegistry' + JobLabel: 'Publish_Artifacts_Logs' diff --git a/eng/common/core-templates/jobs/jobs.yml b/eng/common/core-templates/jobs/jobs.yml index 01ada7476651..cc8cce452786 100644 --- a/eng/common/core-templates/jobs/jobs.yml +++ b/eng/common/core-templates/jobs/jobs.yml @@ -43,6 +43,10 @@ parameters: artifacts: {} is1ESPipeline: '' + + # Publishing version w/default. + publishingVersion: 3 + repositoryAlias: self officialBuildId: '' @@ -102,6 +106,7 @@ jobs: parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} continueOnError: ${{ parameters.continueOnError }} + publishingVersion: ${{ parameters.publishingVersion }} dependsOn: - ${{ if ne(parameters.publishBuildAssetsDependsOn, '') }}: - ${{ each job in parameters.publishBuildAssetsDependsOn }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 2df4acb76859..905a6315e2d5 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -9,6 +9,7 @@ parameters: default: 3 values: - 3 + - 4 - name: BARBuildId displayName: BAR Build Id @@ -140,16 +141,30 @@ stages: PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} is1ESPipeline: ${{ parameters.is1ESPipeline }} - - task: DownloadBuildArtifacts@0 - displayName: Download Package Artifacts - inputs: - buildType: specific - buildVersionToDownload: specific - project: $(AzDOProjectName) - pipeline: $(AzDOPipelineId) - buildId: $(AzDOBuildId) - artifactName: PackageArtifacts - checkDownloadedFiles: true + - ${{ if ne(parameters.publishingInfraVersion, 4) }}: + - task: DownloadBuildArtifacts@0 + displayName: Download Package Artifacts + inputs: + buildType: specific + buildVersionToDownload: specific + project: $(AzDOProjectName) + pipeline: $(AzDOPipelineId) + buildId: $(AzDOBuildId) + artifactName: PackageArtifacts + checkDownloadedFiles: true + - ${{ if eq(parameters.publishingInfraVersion, 4) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download Pipeline Artifacts (V4) + inputs: + itemPattern: '*/packages/**/*.nupkg' + targetPath: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' + - task: CopyFiles@2 + displayName: Flatten packages to PackageArtifacts + inputs: + SourceFolder: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' + Contents: '**/*.nupkg' + TargetFolder: '$(Build.ArtifactStagingDirectory)/PackageArtifacts' + flattenFolders: true - task: PowerShell@2 displayName: Validate @@ -183,16 +198,30 @@ stages: PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} is1ESPipeline: ${{ parameters.is1ESPipeline }} - - task: DownloadBuildArtifacts@0 - displayName: Download Package Artifacts - inputs: - buildType: specific - buildVersionToDownload: specific - project: $(AzDOProjectName) - pipeline: $(AzDOPipelineId) - buildId: $(AzDOBuildId) - artifactName: PackageArtifacts - checkDownloadedFiles: true + - ${{ if ne(parameters.publishingInfraVersion, 4) }}: + - task: DownloadBuildArtifacts@0 + displayName: Download Package Artifacts + inputs: + buildType: specific + buildVersionToDownload: specific + project: $(AzDOProjectName) + pipeline: $(AzDOPipelineId) + buildId: $(AzDOBuildId) + artifactName: PackageArtifacts + checkDownloadedFiles: true + - ${{ if eq(parameters.publishingInfraVersion, 4) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download Pipeline Artifacts (V4) + inputs: + itemPattern: '*/packages/**/*.nupkg' + targetPath: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' + - task: CopyFiles@2 + displayName: Flatten packages to PackageArtifacts + inputs: + SourceFolder: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' + Contents: '**/*.nupkg' + TargetFolder: '$(Build.ArtifactStagingDirectory)/PackageArtifacts' + flattenFolders: true # This is necessary whenever we want to publish/restore to an AzDO private feed # Since sdk-task.ps1 tries to restore packages we need to do this authentication here @@ -244,16 +273,30 @@ stages: PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} is1ESPipeline: ${{ parameters.is1ESPipeline }} - - task: DownloadBuildArtifacts@0 - displayName: Download Blob Artifacts - inputs: - buildType: specific - buildVersionToDownload: specific - project: $(AzDOProjectName) - pipeline: $(AzDOPipelineId) - buildId: $(AzDOBuildId) - artifactName: BlobArtifacts - checkDownloadedFiles: true + - ${{ if ne(parameters.publishingInfraVersion, 4) }}: + - task: DownloadBuildArtifacts@0 + displayName: Download Blob Artifacts + inputs: + buildType: specific + buildVersionToDownload: specific + project: $(AzDOProjectName) + pipeline: $(AzDOPipelineId) + buildId: $(AzDOBuildId) + artifactName: BlobArtifacts + checkDownloadedFiles: true + - ${{ if eq(parameters.publishingInfraVersion, 4) }}: + - task: DownloadPipelineArtifact@2 + displayName: Download Pipeline Artifacts (V4) + inputs: + itemPattern: '*/assets/**' + targetPath: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' + - task: CopyFiles@2 + displayName: Flatten assets to BlobArtifacts + inputs: + SourceFolder: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' + Contents: '**/*' + TargetFolder: '$(Build.ArtifactStagingDirectory)/BlobArtifacts' + flattenFolders: true - task: PowerShell@2 displayName: Validate @@ -328,7 +371,7 @@ stages: scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1 arguments: > -BuildId $(BARBuildId) - -PublishingInfraVersion ${{ parameters.publishingInfraVersion }} + -PublishingInfraVersion 3 -AzdoToken '$(System.AccessToken)' -WaitPublishingFinish true -RequireDefaultChannels ${{ parameters.requireDefaultChannels }} diff --git a/eng/common/core-templates/post-build/setup-maestro-vars.yml b/eng/common/core-templates/post-build/setup-maestro-vars.yml index a7abd58c4bb6..6dfa99ec5e37 100644 --- a/eng/common/core-templates/post-build/setup-maestro-vars.yml +++ b/eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -8,12 +8,11 @@ steps: - 'Illegal entry point, is1ESPipeline is not defined. Repository yaml should not directly reference templates in core-templates folder.': error - ${{ if eq(coalesce(parameters.PromoteToChannelIds, 0), 0) }}: - - task: DownloadBuildArtifacts@0 + - task: DownloadPipelineArtifact@2 displayName: Download Release Configs inputs: - buildType: current artifactName: ReleaseConfigs - checkDownloadedFiles: true + targetPath: '$(Build.StagingDirectory)/ReleaseConfigs' - task: AzureCLI@2 name: setReleaseVars diff --git a/eng/common/core-templates/steps/component-governance.yml b/eng/common/core-templates/steps/component-governance.yml deleted file mode 100644 index cf0649aa9565..000000000000 --- a/eng/common/core-templates/steps/component-governance.yml +++ /dev/null @@ -1,16 +0,0 @@ -parameters: - disableComponentGovernance: false - componentGovernanceIgnoreDirectories: '' - is1ESPipeline: false - displayName: 'Component Detection' - -steps: -- ${{ if eq(parameters.disableComponentGovernance, 'true') }}: - - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true" - displayName: Set skipComponentGovernanceDetection variable -- ${{ if ne(parameters.disableComponentGovernance, 'true') }}: - - task: ComponentGovernanceComponentDetection@0 - continueOnError: true - displayName: ${{ parameters.displayName }} - inputs: - ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} diff --git a/eng/common/core-templates/steps/generate-sbom.yml b/eng/common/core-templates/steps/generate-sbom.yml index c05f65027979..aad0a8aeda33 100644 --- a/eng/common/core-templates/steps/generate-sbom.yml +++ b/eng/common/core-templates/steps/generate-sbom.yml @@ -1,54 +1,14 @@ -# BuildDropPath - The root folder of the drop directory for which the manifest file will be generated. -# PackageName - The name of the package this SBOM represents. -# PackageVersion - The version of the package this SBOM represents. -# ManifestDirPath - The path of the directory where the generated manifest files will be placed -# IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector. - parameters: - PackageVersion: 10.0.0 - BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' - PackageName: '.NET' - ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom - IgnoreDirectories: '' - sbomContinueOnError: true - is1ESPipeline: false - # disable publishArtifacts if some other step is publishing the artifacts (like job.yml). - publishArtifacts: true + PackageVersion: unused + BuildDropPath: unused + PackageName: unused + ManifestDirPath: unused + IgnoreDirectories: unused + sbomContinueOnError: unused + is1ESPipeline: unused + publishArtifacts: unused steps: -- task: PowerShell@2 - displayName: Prep for SBOM generation in (Non-linux) - condition: or(eq(variables['Agent.Os'], 'Windows_NT'), eq(variables['Agent.Os'], 'Darwin')) - inputs: - filePath: ./eng/common/generate-sbom-prep.ps1 - arguments: ${{parameters.manifestDirPath}} - -# Chmodding is a workaround for https://github.com/dotnet/arcade/issues/8461 - script: | - chmod +x ./eng/common/generate-sbom-prep.sh - ./eng/common/generate-sbom-prep.sh ${{parameters.manifestDirPath}} - displayName: Prep for SBOM generation in (Linux) - condition: eq(variables['Agent.Os'], 'Linux') - continueOnError: ${{ parameters.sbomContinueOnError }} - -- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0 - displayName: 'Generate SBOM manifest' - continueOnError: ${{ parameters.sbomContinueOnError }} - inputs: - PackageName: ${{ parameters.packageName }} - BuildDropPath: ${{ parameters.buildDropPath }} - PackageVersion: ${{ parameters.packageVersion }} - ManifestDirPath: ${{ parameters.manifestDirPath }}/$(ARTIFACT_NAME) - ${{ if ne(parameters.IgnoreDirectories, '') }}: - AdditionalComponentDetectorArgs: '--IgnoreDirectories ${{ parameters.IgnoreDirectories }}' - -- ${{ if eq(parameters.publishArtifacts, 'true')}}: - - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} - args: - displayName: Publish SBOM manifest - continueOnError: ${{parameters.sbomContinueOnError}} - targetPath: '${{ parameters.manifestDirPath }}' - artifactName: $(ARTIFACT_NAME) - + echo "##vso[task.logissue type=warning]Including generate-sbom.yml is deprecated, SBOM generation is handled 1ES PT now. Remove this include." + displayName: Issue generate-sbom.yml deprecation warning diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index a9ea99ba6aaa..4eed0312b807 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -50,13 +50,14 @@ steps: TargetFolder: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' condition: always() -- template: /eng/common/core-templates/steps/publish-build-artifacts.yml +- template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: displayName: Publish Logs - pathToPublish: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' - publishLocation: Container - artifactName: PostBuildLogs + targetPath: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' + artifactName: PostBuildLogs_${{ parameters.StageLabel }}_${{ parameters.JobLabel }}_Attempt$(System.JobAttempt) continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any files being locked + isProduction: false # logs are non-production artifacts diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml index b9c86c18ae42..09ae5cd73ae3 100644 --- a/eng/common/core-templates/steps/source-build.yml +++ b/eng/common/core-templates/steps/source-build.yml @@ -62,4 +62,4 @@ steps: artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt) continueOnError: true condition: succeededOrFailed() - sbomEnabled: false # we don't need SBOM for logs + isProduction: false # logs are non-production artifacts diff --git a/eng/common/generate-sbom-prep.ps1 b/eng/common/generate-sbom-prep.ps1 deleted file mode 100644 index a0c7d792a76f..000000000000 --- a/eng/common/generate-sbom-prep.ps1 +++ /dev/null @@ -1,29 +0,0 @@ -Param( - [Parameter(Mandatory=$true)][string] $ManifestDirPath # Manifest directory where sbom will be placed -) - -. $PSScriptRoot\pipeline-logging-functions.ps1 - -# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly -# with their own overwriting ours. So we create it as a sub directory of the requested manifest path. -$ArtifactName = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM" -$SafeArtifactName = $ArtifactName -replace '["/:<>\\|?@*"() ]', '_' -$SbomGenerationDir = Join-Path $ManifestDirPath $SafeArtifactName - -Write-Host "Artifact name before : $ArtifactName" -Write-Host "Artifact name after : $SafeArtifactName" - -Write-Host "Creating dir $ManifestDirPath" - -# create directory for sbom manifest to be placed -if (!(Test-Path -path $SbomGenerationDir)) -{ - New-Item -ItemType Directory -path $SbomGenerationDir - Write-Host "Successfully created directory $SbomGenerationDir" -} -else{ - Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder." -} - -Write-Host "Updating artifact name" -Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$SafeArtifactName" diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh deleted file mode 100755 index b8ecca72bbf5..000000000000 --- a/eng/common/generate-sbom-prep.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash - -source="${BASH_SOURCE[0]}" - -# resolve $SOURCE until the file is no longer a symlink -while [[ -h $source ]]; do - scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" - source="$(readlink "$source")" - - # if $source was a relative symlink, we need to resolve it relative to the path where the - # symlink file was located - [[ $source != /* ]] && source="$scriptroot/$source" -done -scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" -. $scriptroot/pipeline-logging-functions.sh - - -# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts. -artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM" -safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}" -manifest_dir=$1 - -# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly -# with their own overwriting ours. So we create it as a sub directory of the requested manifest path. -sbom_generation_dir="$manifest_dir/$safe_artifact_name" - -if [ ! -d "$sbom_generation_dir" ] ; then - mkdir -p "$sbom_generation_dir" - echo "Sbom directory created." $sbom_generation_dir -else - Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder." -fi - -echo "Artifact name before : "$artifact_name -echo "Artifact name after : "$safe_artifact_name -export ARTIFACT_NAME=$safe_artifact_name -echo "##vso[task.setvariable variable=ARTIFACT_NAME]$safe_artifact_name" - -exit 0 diff --git a/eng/common/template-guidance.md b/eng/common/template-guidance.md index 4bf4cf41bd7c..e2b07a865f10 100644 --- a/eng/common/template-guidance.md +++ b/eng/common/template-guidance.md @@ -82,7 +82,6 @@ eng\common\ publish-build-artifacts.yml (logic) publish-pipeline-artifacts.yml (logic) component-governance.yml (shim) - generate-sbom.yml (shim) publish-logs.yml (shim) retain-build.yml (shim) send-to-helix.yml (shim) @@ -107,7 +106,6 @@ eng\common\ setup-maestro-vars.yml (logic) steps\ component-governance.yml (logic) - generate-sbom.yml (logic) publish-build-artifacts.yml (redirect) publish-logs.yml (logic) publish-pipeline-artifacts.yml (redirect) diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index 92a0664f5647..d68e9fbc2656 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -1,24 +1,15 @@ parameters: -# Sbom related params - enableSbom: true runAsPublic: false - PackageVersion: 9.0.0 - BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' +# Sbom related params, unused now and can eventually be removed + enableSbom: unused + PackageVersion: unused + BuildDropPath: unused jobs: - template: /eng/common/core-templates/job/job.yml parameters: is1ESPipeline: true - componentGovernanceSteps: - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.enableSbom, 'true')) }}: - - template: /eng/common/templates/steps/generate-sbom.yml - parameters: - PackageVersion: ${{ parameters.packageVersion }} - BuildDropPath: ${{ parameters.buildDropPath }} - ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom - publishArtifacts: false - # publish artifacts # for 1ES managed templates, use the templateContext.output to handle multiple outputs. templateContext: @@ -26,12 +17,19 @@ jobs: outputs: - ${{ if ne(parameters.artifacts.publish, '') }}: - ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}: - - output: buildArtifacts + - output: pipelineArtifact displayName: Publish pipeline artifacts - PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts' - ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} - condition: always() - retryCountOnTaskFailure: 10 # for any logs being locked + targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' + artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} + condition: succeeded() + retryCountOnTaskFailure: 10 # for any files being locked + continueOnError: true + - output: pipelineArtifact + displayName: Publish pipeline artifacts + targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' + artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}_Attempt$(System.JobAttempt) + condition: not(succeeded()) + retryCountOnTaskFailure: 10 # for any files being locked continueOnError: true - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - output: pipelineArtifact @@ -40,18 +38,18 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() - retryCountOnTaskFailure: 10 # for any logs being locked - sbomEnabled: false # we don't need SBOM for logs + retryCountOnTaskFailure: 10 # for any files being locked + isProduction: false # logs are non-production artifacts - ${{ if eq(parameters.enablePublishBuildArtifacts, true) }}: - - output: buildArtifacts + - output: pipelineArtifact displayName: Publish Logs - PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' - publishLocation: Container - ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} + targetPath: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' + artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() - sbomEnabled: false # we don't need SBOM for logs + retryCountOnTaskFailure: 10 # for any files being locked + isProduction: false # logs are non-production artifacts - ${{ if eq(parameters.enableBuildRetry, 'true') }}: - output: pipelineArtifact @@ -59,14 +57,20 @@ jobs: artifactName: 'BuildConfiguration' displayName: 'Publish build retry configuration' continueOnError: true - sbomEnabled: false # we don't need SBOM for BuildConfiguration + retryCountOnTaskFailure: 10 # for any files being locked + isProduction: false # BuildConfiguration is a non-production artifact - - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.enableSbom, 'true')) }}: + # V4 publishing: automatically publish staged artifacts as a pipeline artifact. + # The artifact name matches the SDK's FutureArtifactName ($(System.PhaseName)_Artifacts), + # which is encoded in the asset manifest for downstream publishing to discover. + # Jobs can opt in by setting enablePublishing: true. + - ${{ if and(eq(parameters.publishingVersion, 4), eq(parameters.enablePublishing, 'true')) }}: - output: pipelineArtifact - displayName: Publish SBOM manifest + displayName: 'Publish V4 pipeline artifacts' + targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' + artifactName: '$(System.PhaseName)_Artifacts' continueOnError: true - targetPath: $(Build.ArtifactStagingDirectory)/sbom - artifactName: $(ARTIFACT_NAME) + retryCountOnTaskFailure: 10 # for any files being locked # add any outputs provided via root yaml - ${{ if ne(parameters.templateContext.outputs, '') }}: diff --git a/eng/common/templates-official/steps/component-governance.yml b/eng/common/templates-official/steps/component-governance.yml deleted file mode 100644 index 30bb3985ca2b..000000000000 --- a/eng/common/templates-official/steps/component-governance.yml +++ /dev/null @@ -1,7 +0,0 @@ -steps: -- template: /eng/common/core-templates/steps/component-governance.yml - parameters: - is1ESPipeline: true - - ${{ each parameter in parameters }}: - ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates-official/steps/publish-pipeline-artifacts.yml b/eng/common/templates-official/steps/publish-pipeline-artifacts.yml index 172f9f0fdc97..9e5981365e56 100644 --- a/eng/common/templates-official/steps/publish-pipeline-artifacts.yml +++ b/eng/common/templates-official/steps/publish-pipeline-artifacts.yml @@ -24,5 +24,7 @@ steps: artifactName: ${{ parameters.args.artifactName }} ${{ if parameters.args.properties }}: properties: ${{ parameters.args.properties }} - ${{ if parameters.args.sbomEnabled }}: + ${{ if ne(parameters.args.sbomEnabled, '') }}: sbomEnabled: ${{ parameters.args.sbomEnabled }} + ${{ if ne(parameters.args.isProduction, '') }}: + isProduction: ${{ parameters.args.isProduction }} diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index 238fa0818f7b..5e261f34db42 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -1,12 +1,12 @@ parameters: enablePublishBuildArtifacts: false - disableComponentGovernance: '' - componentGovernanceIgnoreDirectories: '' -# Sbom related params - enableSbom: true runAsPublic: false - PackageVersion: 9.0.0 - BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' +# CG related params, unused now and can eventually be removed + disableComponentGovernance: unused +# Sbom related params, unused now and can eventually be removed + enableSbom: unused + PackageVersion: unused + BuildDropPath: unused jobs: - template: /eng/common/core-templates/job/job.yml @@ -21,32 +21,34 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} - componentGovernanceSteps: - - template: /eng/common/templates/steps/component-governance.yml - parameters: - ${{ if eq(parameters.disableComponentGovernance, '') }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.runAsPublic, 'false'), or(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/dotnet/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/microsoft/'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}: - disableComponentGovernance: false - ${{ else }}: - disableComponentGovernance: true - ${{ else }}: - disableComponentGovernance: ${{ parameters.disableComponentGovernance }} - componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} + # we don't run CG in public + - ${{ if eq(variables['System.TeamProject'], 'public') }}: + - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true" + displayName: Set skipComponentGovernanceDetection variable artifactPublishSteps: - ${{ if ne(parameters.artifacts.publish, '') }}: - ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}: - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: false args: displayName: Publish pipeline artifacts - pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts' - publishLocation: Container + targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} continueOnError: true - condition: always() - retryCountOnTaskFailure: 10 # for any logs being locked + condition: succeeded() + retryCountOnTaskFailure: 10 # for any files being locked + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml + parameters: + is1ESPipeline: false + args: + displayName: Publish pipeline artifacts + targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' + artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}_Attempt$(System.JobAttempt) + continueOnError: true + condition: not(succeeded()) + retryCountOnTaskFailure: 10 # for any files being locked - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: @@ -57,20 +59,19 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() - retryCountOnTaskFailure: 10 # for any logs being locked - sbomEnabled: false # we don't need SBOM for logs + retryCountOnTaskFailure: 10 # for any files being locked - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}: - - template: /eng/common/core-templates/steps/publish-build-artifacts.yml + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: is1ESPipeline: false args: displayName: Publish Logs - pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' - publishLocation: Container + targetPath: '$(Build.ArtifactStagingDirectory)/artifacts/log/$(_BuildConfig)' artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() + retryCountOnTaskFailure: 10 # for any files being locked - ${{ if eq(parameters.enableBuildRetry, 'true') }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml @@ -81,4 +82,4 @@ jobs: artifactName: 'BuildConfiguration' displayName: 'Publish build retry configuration' continueOnError: true - sbomEnabled: false # we don't need SBOM for BuildConfiguration + retryCountOnTaskFailure: 10 # for any files being locked diff --git a/eng/common/templates/steps/component-governance.yml b/eng/common/templates/steps/component-governance.yml deleted file mode 100644 index c12a5f8d21d7..000000000000 --- a/eng/common/templates/steps/component-governance.yml +++ /dev/null @@ -1,7 +0,0 @@ -steps: -- template: /eng/common/core-templates/steps/component-governance.yml - parameters: - is1ESPipeline: false - - ${{ each parameter in parameters }}: - ${{ parameter.key }}: ${{ parameter.value }} diff --git a/global.json b/global.json index 8fafeae1ec8a..71798bf9d09f 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26203.106", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26203.106", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26210.101", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26210.101", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs index 83ff1a3553d6..3a2915cc928f 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs @@ -13,7 +13,7 @@ public GivenThatWeWantToBuildACppCliProject(ITestOutputHelper log) : base(log) { } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_builds_and_runs() { var testAsset = _testAssetsManager @@ -49,7 +49,7 @@ public void It_builds_and_runs() .HaveStdOutContaining("Hello, World!"); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_builds_and_runs_with_package_reference() { var targetFramework = ToolsetInfo.CurrentTargetFramework + "-windows"; @@ -84,7 +84,7 @@ public void It_builds_and_runs_with_package_reference() } } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void Given_no_restore_It_builds_cpp_project() { var testAsset = _testAssetsManager @@ -98,7 +98,7 @@ public void Given_no_restore_It_builds_cpp_project() .Pass(); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void Given_Wpf_framework_reference_It_builds_cpp_project() { var testAsset = _testAssetsManager @@ -111,7 +111,7 @@ public void Given_Wpf_framework_reference_It_builds_cpp_project() .Pass(); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_fails_with_error_message_on_EnableComHosting() { var testAsset = _testAssetsManager @@ -139,7 +139,7 @@ public void It_fails_with_error_message_on_EnableComHosting() .HaveStdOutContaining(Strings.NoSupportCppEnableComHosting); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_fails_with_error_message_on_fullframework() { var testAsset = _testAssetsManager @@ -156,7 +156,7 @@ public void It_fails_with_error_message_on_fullframework() .HaveStdOutContaining(Strings.NETFrameworkWithoutUsingNETSdkDefaults); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_fails_with_error_message_on_tfm_lower_than_3_1() { var testAsset = _testAssetsManager @@ -173,7 +173,7 @@ public void It_fails_with_error_message_on_tfm_lower_than_3_1() .HaveStdOutContaining(Strings.CppRequiresTFMVersion31); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void When_run_with_selfcontained_It_fails_with_error_message() { var testAsset = _testAssetsManager diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs index 4808f781d25a..9bac9adf9619 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps.cs @@ -12,7 +12,7 @@ public GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps(ITestOutputHelper private readonly Lazy _buildAsset; - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_can_generate_correct_depsJson_file() { TestAsset testAsset = _buildAsset.Value; @@ -23,7 +23,7 @@ public void It_can_generate_correct_depsJson_file() depsJsonContent.Should().Contain("NETCoreCppCliTestC.dll", "should contain transitive reference"); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_can_generate_all_runtimeconfig_files_to_output_folder() { TestAsset testAsset = _buildAsset.Value; @@ -35,7 +35,7 @@ public void It_can_generate_all_runtimeconfig_files_to_output_folder() }); } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_can_generate_all_depsjson_files_to_output_folder() { TestAsset testAsset = _buildAsset.Value; diff --git a/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs b/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs index 5fa880ec9812..544e18dbe2dd 100644 --- a/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs +++ b/test/Microsoft.NET.Build.Tests/SourceLinkTests.cs @@ -290,7 +290,7 @@ public void SuppressImplicitGitSourceLink_ExplicitPackage(bool multitarget) } } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void Cpp() { var testAsset = _testAssetsManager diff --git a/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs b/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs index 28a9660ac8fb..10a8bdaaadc1 100644 --- a/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs +++ b/test/Microsoft.NET.Pack.Tests/GivenThatWeWantToPackACppCliProject.cs @@ -11,7 +11,7 @@ public GivenThatWeWantToPackACppCliProject(ITestOutputHelper log) : base(log) { } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void It_cannot_pack_the_cppcliproject() { var testAsset = _testAssetsManager diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs index 1b4b5eaabcab..18dece1d353a 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPreserveCompilationContext.cs @@ -14,7 +14,8 @@ public GivenThatWeWantToPreserveCompilationContext(ITestOutputHelper log) : base } [Theory] - [InlineData("net46", "netstandard1.3", false)] + // Skip = "https://github.com/dotnet/sdk/issues/53796" + //[InlineData("net46", "netstandard1.3", false)] [InlineData("netcoreapp2.0", "netstandard2.0", false)] [InlineData("netcoreapp2.0", "netstandard2.0", true)] [InlineData("netcoreapp3.0", "netstandard2.0", false)] diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs index 8a1408ba0e61..67d48f9712ef 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishACppCliProject.cs @@ -11,7 +11,7 @@ public GivenThatWeWantToPublishACppCliProject(ITestOutputHelper log) : base(log) { } - [FullMSBuildOnlyFact] + [FullMSBuildOnlyFact(Skip = "https://github.com/dotnet/sdk/issues/53789")] public void When_referenced_by_csharp_project_it_publishes_and_runs() { var testAsset = _testAssetsManager From d96971bcaaef82fb4f4ea18ca22344fe8cf1971a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 15 Apr 2026 23:34:12 +0000 Subject: [PATCH 124/137] Update dependencies from build 310584 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26210.101 -> 10.0.0-preview.26215.116) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26210-101 -> 18.6.0-preview-26215-116) 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.6.0-rc.21101 -> 7.6.0-rc.21616) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26210.101 -> 10.0.300-alpha.26215.116) 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.6.0-2.26210.101 -> 5.6.0-2.26215.116) 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.26210.101 -> 10.0.0-beta.26215.116) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26210.101 -> 15.2.300-servicing.26215.116) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26210-101 -> 18.3.0-release-26215-116) 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.300-preview.26210.101 -> 10.0.300-preview.26215.116) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index e1f9a4b1bb84..e40ba20ff7b5 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-preview.26210.101 + 10.0.0-preview.26215.116 10.0.5 10.0.5 - 18.6.0-preview-26210-101 - 18.6.0-preview-26210-101 - 7.6.0-rc.21101 - 10.0.300-alpha.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 10.0.0-preview.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 + 18.6.0-preview-26215-116 + 18.6.0-preview-26215-116 + 7.6.0-rc.21616 + 10.0.300-alpha.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 10.0.0-preview.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 2.0.0-preview.1.26153.111 2.2.5 - 10.0.0-beta.26210.101 - 10.0.0-beta.26210.101 - 10.0.0-beta.26210.101 - 10.0.0-beta.26210.101 - 10.0.0-beta.26210.101 - 10.0.0-beta.26210.101 + 10.0.0-beta.26215.116 + 10.0.0-beta.26215.116 + 10.0.0-beta.26215.116 + 10.0.0-beta.26215.116 + 10.0.0-beta.26215.116 + 10.0.0-beta.26215.116 10.0.5 10.0.5 10.0.5-servicing.26153.111 10.0.5-servicing.26153.111 - 10.0.0-beta.26210.101 - 10.0.0-beta.26210.101 + 10.0.0-beta.26215.116 + 10.0.0-beta.26215.116 10.0.5 10.0.5 10.0.5 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.5 10.0.5 10.0.5 - 15.2.300-servicing.26210.101 + 15.2.300-servicing.26215.116 10.0.5 - 5.6.0-2.26210.101 - 5.6.0-2.26210.101 + 5.6.0-2.26215.116 + 5.6.0-2.26215.116 10.0.5-servicing.26153.111 10.0.5 10.0.5 10.0.0-preview.7.25377.103 - 10.0.0-preview.26210.101 + 10.0.0-preview.26215.116 10.0.5-servicing.26153.111 - 18.3.0-release-26210-101 + 18.3.0-release-26215-116 10.0.5 10.0.5-servicing.26153.111 - 10.0.300-alpha.26210.101 - 10.0.300-alpha.26210.101 - 10.0.300-alpha.26210.101 - 10.0.300-alpha.26210.101 - 10.0.300-alpha.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 10.0.300-preview.26210.101 - 18.3.0-release-26210-101 - 18.3.0-release-26210-101 + 10.0.300-alpha.26215.116 + 10.0.300-alpha.26215.116 + 10.0.300-alpha.26215.116 + 10.0.300-alpha.26215.116 + 10.0.300-alpha.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 10.0.300-preview.26215.116 + 18.3.0-release-26215-116 + 18.3.0-release-26215-116 3.2.5 10.0.5 10.0.5-servicing.26153.111 10.0.5 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 - 7.6.0-rc.21101 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 + 7.6.0-rc.21616 10.0.5 2.0.5 10.0.5 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ede76b7c9f9b..9c4d7c649227 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet a612c2a1056fe3265387ae3ff7c94eba1505caf9 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 - + https://github.com/dotnet/dotnet - 70c50b3477e27fe499dafca4406902b502467d89 + fe40c4e7b110cf7220a726d71541340399598771 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index 71798bf9d09f..9c974e314106 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26210.101", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26210.101", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26215.116", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26215.116", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 263b3975dc1c5275c7dc3ee538bd70a4289bd594 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 16 Apr 2026 03:27:19 +0000 Subject: [PATCH 125/137] [release/10.0.3xx] Enhance fish shell completions with static+dynamic hybrid generation (#53779) Co-authored-by: Stuart Lang Co-authored-by: Claude Opus 4.6 --- .../shells/FishShellProvider.cs | 391 +++++++++++++++++- .../FishShellProviderTests.cs | 137 ++++++ .../VerifyConfiguration.cs | 1 + ...ests.BoundedMultiValueOption.verified.fish | 67 +++ ...DynamicCompletionsGeneration.verified.fish | 52 +++ ...iderTests.GenericCompletions.verified.fish | 20 + ...viderTests.MixedArityOptions.verified.fish | 87 ++++ ...s.NestedSubcommandCompletion.verified.fish | 34 ++ ...Tests.SimpleOptionCompletion.verified.fish | 50 +++ ...iderTests.StaticOptionValues.verified.fish | 55 +++ ...mmandAndOptionInTopLevelList.verified.fish | 54 +++ ...ts.UnboundedMultiValueOption.verified.fish | 68 +++ 12 files changed, 1009 insertions(+), 7 deletions(-) create mode 100644 test/System.CommandLine.StaticCompletions.Tests/FishShellProviderTests.cs create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.BoundedMultiValueOption.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.DynamicCompletionsGeneration.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.GenericCompletions.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.MixedArityOptions.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.NestedSubcommandCompletion.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SimpleOptionCompletion.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.StaticOptionValues.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SubcommandAndOptionInTopLevelList.verified.fish create mode 100644 test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.UnboundedMultiValueOption.verified.fish diff --git a/src/System.CommandLine.StaticCompletions/shells/FishShellProvider.cs b/src/System.CommandLine.StaticCompletions/shells/FishShellProvider.cs index b9555424d493..27b4fc71fa34 100644 --- a/src/System.CommandLine.StaticCompletions/shells/FishShellProvider.cs +++ b/src/System.CommandLine.StaticCompletions/shells/FishShellProvider.cs @@ -1,6 +1,8 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.CodeDom.Compiler; +using System.CommandLine.Completions; using System.CommandLine.StaticCompletions.Resources; namespace System.CommandLine.StaticCompletions.Shells; @@ -16,13 +18,388 @@ public class FishShellProvider : IShellProvider // override the ToString method to return the argument name so that CLI help is cleaner for 'default' values public override string ToString() => ArgumentName; - private static readonly string _dynamicCompletionScript = - """ - # fish parameter completion for the dotnet CLI - # add the following to your config.fish to enable completions + public string GenerateCompletions(Command command) + { + var safeName = command.Name.MakeSafeFunctionName(); - complete -f -c dotnet -a "(dotnet complete (commandline -cp))" - """; + using var textWriter = new StringWriter { NewLine = "\n" }; + using var writer = new IndentedTextWriter(textWriter); - public string GenerateCompletions(System.CommandLine.Command command) => _dynamicCompletionScript; + writer.WriteLine($"# fish completions for {command.Name}"); + writer.WriteLine(); + + // Collect all commands in a flat list and assign numeric state IDs + var states = new List<(int id, Command cmd)>(); + CollectStates(command, states); + var stateIdByCommand = states.ToDictionary(s => s.cmd, s => s.id); + + // Write the main completion function + writer.WriteLine($"function _{safeName}"); + writer.Indent++; + + WriteTokenization(writer); + writer.WriteLine(); + WriteStateWalker(writer, states, stateIdByCommand); + writer.WriteLine(); + WriteOptionValueCompletions(writer, states); + WriteStateCompletions(writer, states); + + writer.Indent--; + writer.WriteLine("end"); + writer.WriteLine(); + + writer.WriteLine($"complete -c {command.Name} -f -a '(_{safeName})'"); + + writer.Flush(); + return textWriter.ToString(); + } + + /// + /// Recursively collect all visible commands into a flat list with numeric state IDs. + /// State 0 is the root command. + /// + private static void CollectStates(Command cmd, List<(int id, Command cmd)> states) + { + states.Add((states.Count, cmd)); + foreach (var sub in cmd.Subcommands.Where(c => !c.Hidden)) + { + CollectStates(sub, states); + } + } + + /// + /// Write the command line tokenization logic. + /// Uses fish's commandline builtin to get completed tokens up to the cursor. + /// + private static void WriteTokenization(IndentedTextWriter writer) + { + // -opc: tokenize, cut at cursor, only completed tokens (excludes current partial word) + writer.WriteLine("set -l tokens (commandline -opc)"); + } + + // Options with MaximumNumberOfValues at or above this threshold are treated as unbounded + // (i.e. consume tokens until an option-like token is encountered). + // System.CommandLine uses 100_000 as its internal sentinel for ZeroOrMore/OneOrMore. + private const int UnboundedArityThreshold = 100_000; + + /// + /// Generate the state machine that walks completed tokens to determine which subcommand context we're in. + /// For each state, we check if the current word matches a known subcommand (transitioning to that subcommand's state) + /// or a value-taking option (skipping tokens for the option's value(s), respecting the option's arity). + /// + private static void WriteStateWalker(IndentedTextWriter writer, List<(int id, Command cmd)> states, Dictionary stateIdByCommand) + { + writer.WriteLine("set -l state 0"); + writer.WriteLine("set -l i 2"); // start after the command name (fish arrays are 1-based) + writer.WriteLine("while test $i -le (count $tokens)"); + writer.Indent++; + writer.WriteLine("set -l word $tokens[$i]"); + + writer.WriteLine("switch $state"); + writer.Indent++; + + foreach (var (stateId, cmd) in states) + { + var visibleSubs = cmd.Subcommands.Where(c => !c.Hidden).ToArray(); + var valueOptions = cmd.HierarchicalOptions() + .Where(o => !o.Hidden && !o.IsFlag()) + .ToArray(); + + // Skip states that have no transitions to emit + if (visibleSubs.Length == 0 && valueOptions.Length == 0) + continue; + + writer.WriteLine($"case {stateId}"); + writer.Indent++; + writer.WriteLine("switch $word"); + writer.Indent++; + + // Subcommand transitions + foreach (var sub in visibleSubs) + { + var subStateId = stateIdByCommand[sub]; + var names = string.Join(" ", sub.Names()); + writer.WriteLine($"case {names}"); + writer.Indent++; + writer.WriteLine($"set state {subStateId}"); + writer.Indent--; + } + + // Single-value options (arity exactly 1): skip the next token + var singleValueNames = valueOptions + .Where(o => o.Arity.MaximumNumberOfValues == 1) + .SelectMany(o => o.Names()) + .ToArray(); + if (singleValueNames.Length > 0) + { + writer.WriteLine($"case {string.Join(" ", singleValueNames)}"); + writer.Indent++; + writer.WriteLine("set i (math $i + 1)"); + writer.Indent--; + } + + // Multi-value options (arity > 1): skip up to N tokens, stopping at option-like tokens. + // Group by arity so options with the same max can share a case branch. + var multiValueByArity = valueOptions + .Where(o => o.Arity.MaximumNumberOfValues > 1) + .GroupBy(o => o.Arity.MaximumNumberOfValues); + foreach (var group in multiValueByArity) + { + var names = string.Join(" ", group.SelectMany(o => o.Names())); + writer.WriteLine($"case {names}"); + writer.Indent++; + WriteMultiValueSkipLoop(writer, group.Key); + writer.Indent--; + } + + writer.Indent--; + writer.WriteLine("end"); + writer.Indent--; + } + + writer.Indent--; + writer.WriteLine("end"); + + writer.WriteLine("set i (math $i + 1)"); + writer.Indent--; + writer.WriteLine("end"); + } + + /// + /// Emit a fish loop that skips value tokens after a multi-value option. + /// Stops when it has consumed maxValues tokens, or encounters a token starting with '-', + /// whichever comes first. For unbounded arities, only the '-' check applies. + /// + private static void WriteMultiValueSkipLoop(IndentedTextWriter writer, int maxValues) + { + bool isBounded = maxValues < UnboundedArityThreshold; + + if (isBounded) + { + writer.WriteLine($"set -l skip_max {maxValues}"); + writer.WriteLine("set -l skipped 0"); + writer.WriteLine("while test $skipped -lt $skip_max -a (math $i + 1) -le (count $tokens)"); + } + else + { + writer.WriteLine("while test (math $i + 1) -le (count $tokens)"); + } + + writer.Indent++; + writer.WriteLine("set -l next $tokens[(math $i + 1)]"); + writer.WriteLine("if string match -q -- '-*' $next"); + writer.Indent++; + writer.WriteLine("break"); + writer.Indent--; + writer.WriteLine("end"); + writer.WriteLine("set i (math $i + 1)"); + if (isBounded) + { + writer.WriteLine("set skipped (math $skipped + 1)"); + } + writer.Indent--; + writer.WriteLine("end"); + } + + /// + /// Generate option value completions. + /// Scans backward through completed tokens to find the nearest option, then checks whether + /// we're still within that option's arity. This correctly handles both single-value and + /// multi-value options (e.g. --sources foo bar with arity 3 still offers completions + /// for the third value). + /// + private static void WriteOptionValueCompletions(IndentedTextWriter writer, List<(int id, Command cmd)> states) + { + var hasAnyValueOptions = states.Any(s => + s.cmd.HierarchicalOptions().Any(o => !o.Hidden && !o.IsFlag())); + + if (!hasAnyValueOptions) return; + + // Scan backward through tokens to find the nearest option (token starting with -) + writer.WriteLine("set -l opt_index 0"); + writer.WriteLine("if test (count $tokens) -ge 2"); + writer.Indent++; + writer.WriteLine("for j in (seq (count $tokens) -1 2)"); + writer.Indent++; + writer.WriteLine("if string match -q -- '-*' $tokens[$j]"); + writer.Indent++; + writer.WriteLine("set opt_index $j"); + writer.WriteLine("break"); + writer.Indent--; + writer.WriteLine("end"); + writer.Indent--; + writer.WriteLine("end"); + writer.Indent--; + writer.WriteLine("end"); + writer.WriteLine(); + + writer.WriteLine("if test $opt_index -gt 0"); + writer.Indent++; + writer.WriteLine("set -l opt $tokens[$opt_index]"); + // values_after = number of non-option tokens between the option and the cursor + writer.WriteLine("set -l values_after (math (count $tokens) - $opt_index)"); + writer.WriteLine("switch $state"); + writer.Indent++; + + foreach (var (stateId, cmd) in states) + { + var valueOptions = cmd.HierarchicalOptions() + .Where(o => !o.Hidden && !o.IsFlag()) + .ToArray(); + + if (valueOptions.Length == 0) + continue; + + writer.WriteLine($"case {stateId}"); + writer.Indent++; + writer.WriteLine("switch $opt"); + writer.Indent++; + + foreach (var option in valueOptions) + { + var names = string.Join(" ", option.Names()); + var maxValues = option.Arity.MaximumNumberOfValues; + bool isBounded = maxValues < UnboundedArityThreshold; + + writer.WriteLine($"case {names}"); + writer.Indent++; + + // For bounded options, check that we haven't exceeded the arity. + // For unbounded options, always offer completions (any number of values is valid). + if (isBounded) + { + writer.WriteLine($"if test $values_after -lt {maxValues}"); + writer.Indent++; + } + + if (option.IsDynamic) + { + writer.WriteLine(GenerateDynamicCall()); + } + else + { + var completions = option.GetCompletions(CompletionContext.Empty).ToArray(); + foreach (var c in completions) + { + WriteCompletionCandidate(writer, c); + } + } + writer.WriteLine("return"); + + if (isBounded) + { + writer.Indent--; + writer.WriteLine("end"); + } + + writer.Indent--; + } + + writer.Indent--; + writer.WriteLine("end"); + writer.Indent--; + } + + writer.Indent--; + writer.WriteLine("end"); + writer.Indent--; + writer.WriteLine("end"); + writer.WriteLine(); + } + + /// + /// Generate the main completion output for each state. + /// Emits subcommands, options, and positional argument completions for the current context. + /// + private static void WriteStateCompletions(IndentedTextWriter writer, List<(int id, Command cmd)> states) + { + writer.WriteLine("switch $state"); + writer.Indent++; + + foreach (var (stateId, cmd) in states) + { + writer.WriteLine($"case {stateId}"); + writer.Indent++; + + // Subcommand completions + foreach (var sub in cmd.Subcommands.Where(c => !c.Hidden)) + { + WriteCandidate(writer, sub.Name, SanitizeDescription(sub.Description)); + } + + // Option completions - emit all aliases so both -h and --help are completable + foreach (var option in cmd.HierarchicalOptions().Where(o => !o.Hidden)) + { + var desc = SanitizeDescription(option.Description); + foreach (var name in option.Names()) + { + WriteCandidate(writer, name, desc); + } + } + + // Positional argument completions + foreach (var arg in cmd.Arguments.Where(a => !a.Hidden)) + { + if (arg.IsDynamic) + { + writer.WriteLine(GenerateDynamicCall()); + } + else + { + var completions = arg.GetCompletions(CompletionContext.Empty).ToArray(); + foreach (var c in completions) + { + WriteCompletionCandidate(writer, c); + } + } + } + + writer.Indent--; + } + + writer.Indent--; + writer.WriteLine("end"); + } + + /// + /// Write a single completion candidate line with an optional description. + /// Fish uses tab-separated format: candidate\tdescription + /// + private static void WriteCompletionCandidate(IndentedTextWriter writer, CompletionItem completion) + { + var label = completion.InsertText ?? completion.Label; + var desc = completion.Documentation ?? completion.Detail; + WriteCandidate(writer, label, desc); + } + + private static void WriteCandidate(IndentedTextWriter writer, string label, string? description) + { + if (!string.IsNullOrEmpty(description)) + writer.WriteLine($"printf '%s\\t%s\\n' {FishEscape(label)} {FishEscape(description)}"); + else + writer.WriteLine($"printf '%s\\n' {FishEscape(label)}"); + } + + /// + /// Generate a dynamic completion call that invokes the binary's 'complete' subcommand. + /// Uses the actual command from the command line ($tokens[1]) so it works regardless of how the binary was invoked. + /// + /// TODO: this is currently bound to the .NET CLI's 'complete' command pattern - this should be definable/injectable per-host instead. + internal static string GenerateDynamicCall() + { + return "command $tokens[1] complete --position (commandline -C) (commandline -cp) 2>/dev/null"; + } + + /// + /// Escape a string for use in a fish single-quoted string. + /// Fish single-quoted strings support \' and \\ as escape sequences. + /// + internal static string FishEscape(string? s) + { + if (string.IsNullOrEmpty(s)) return "''"; + return "'" + s.Replace("\\", "\\\\").Replace("'", "\\'") + "'"; + } + + private static string SanitizeDescription(string? s) => + s?.Replace("\r\n", " ").Replace('\n', ' ').Replace('\r', ' ').Replace('\t', ' ') ?? ""; } diff --git a/test/System.CommandLine.StaticCompletions.Tests/FishShellProviderTests.cs b/test/System.CommandLine.StaticCompletions.Tests/FishShellProviderTests.cs new file mode 100644 index 000000000000..c8f385a5013b --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/FishShellProviderTests.cs @@ -0,0 +1,137 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +#nullable disable + +namespace System.CommandLine.StaticCompletions.Tests; + +using System.CommandLine.StaticCompletions.Shells; + +public class FishShellProviderTests(ITestOutputHelper log) +{ + private IShellProvider provider = new FishShellProvider(); + + [Fact] + public async Task GenericCompletions() + { + await provider.Verify(new("mycommand"), log); + } + + [Fact] + public async Task SimpleOptionCompletion() + { + await provider.Verify(new("mycommand") { + new Option("--name") + }, log); + } + + [Fact] + public async Task SubcommandAndOptionInTopLevelList() + { + await provider.Verify(new("mycommand") { + new Option("--name"), + new Command("subcommand") + }, log); + } + + [Fact] + public async Task NestedSubcommandCompletion() + { + await provider.Verify(new("mycommand") { + new Command("subcommand") { + new Command("nested") + } + }, log); + } + + [Fact] + public async Task DynamicCompletionsGeneration() + { + var dynamicOption = new Option("--dynamic") + { + IsDynamic = true + }; + var dynamicArg = new Argument("values") + { + IsDynamic = true + }; + Command command = new Command("mycommand") + { + dynamicOption, + dynamicArg + }; + await provider.Verify(command, log); + } + + [Fact] + public async Task StaticOptionValues() + { + var staticOption = new Option("--verbosity"); + staticOption.AcceptOnlyFromAmong("quiet", "minimal", "normal", "detailed", "diagnostic"); + Command command = new Command("mycommand") + { + staticOption + }; + await provider.Verify(command, log); + } + + [Fact] + public async Task BoundedMultiValueOption() + { + var multiOption = new Option("--sources") + { + Arity = new ArgumentArity(1, 3) + }; + multiOption.AcceptOnlyFromAmong("src1", "src2", "src3", "src4"); + Command command = new Command("mycommand") + { + multiOption, + new Command("subcommand") + }; + await provider.Verify(command, log); + } + + [Fact] + public async Task UnboundedMultiValueOption() + { + var unboundedOption = new Option("--items") + { + Arity = ArgumentArity.ZeroOrMore + }; + unboundedOption.AcceptOnlyFromAmong("a", "b", "c"); + Command command = new Command("mycommand") + { + unboundedOption, + new Option("--name"), + new Command("subcommand") + }; + await provider.Verify(command, log); + } + + [Fact] + public async Task MixedArityOptions() + { + var singleOption = new Option("--config"); + singleOption.AcceptOnlyFromAmong("debug", "release"); + + var multiOption = new Option("--framework", "-f") + { + Arity = new ArgumentArity(1, 3) + }; + multiOption.AcceptOnlyFromAmong("net8.0", "net9.0", "net10.0"); + + var unboundedOption = new Option("--sources") + { + Arity = ArgumentArity.OneOrMore + }; + + Command command = new Command("mycommand") + { + singleOption, + multiOption, + unboundedOption, + new Command("build") + }; + await provider.Verify(command, log); + } +} diff --git a/test/System.CommandLine.StaticCompletions.Tests/VerifyConfiguration.cs b/test/System.CommandLine.StaticCompletions.Tests/VerifyConfiguration.cs index 4eeca67880c1..71dd56b1d276 100644 --- a/test/System.CommandLine.StaticCompletions.Tests/VerifyConfiguration.cs +++ b/test/System.CommandLine.StaticCompletions.Tests/VerifyConfiguration.cs @@ -25,5 +25,6 @@ public static void Initialize() EmptyFiles.FileExtensions.AddTextExtension("ps1"); EmptyFiles.FileExtensions.AddTextExtension("nu"); + EmptyFiles.FileExtensions.AddTextExtension("fish"); } } diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.BoundedMultiValueOption.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.BoundedMultiValueOption.verified.fish new file mode 100644 index 000000000000..b33eebee909a --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.BoundedMultiValueOption.verified.fish @@ -0,0 +1,67 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case subcommand + set state 1 + case --sources + set -l skip_max 3 + set -l skipped 0 + while test $skipped -lt $skip_max -a (math $i + 1) -le (count $tokens) + set -l next $tokens[(math $i + 1)] + if string match -q -- '-*' $next + break + end + set i (math $i + 1) + set skipped (math $skipped + 1) + end + end + end + set i (math $i + 1) + end + + set -l opt_index 0 + if test (count $tokens) -ge 2 + for j in (seq (count $tokens) -1 2) + if string match -q -- '-*' $tokens[$j] + set opt_index $j + break + end + end + end + + if test $opt_index -gt 0 + set -l opt $tokens[$opt_index] + set -l values_after (math (count $tokens) - $opt_index) + switch $state + case 0 + switch $opt + case --sources + if test $values_after -lt 3 + printf '%s\n' 'src1' + printf '%s\n' 'src2' + printf '%s\n' 'src3' + printf '%s\n' 'src4' + return + end + end + end + end + + switch $state + case 0 + printf '%s\n' 'subcommand' + printf '%s\n' '--sources' + case 1 + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.DynamicCompletionsGeneration.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.DynamicCompletionsGeneration.verified.fish new file mode 100644 index 000000000000..f7f353523b26 --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.DynamicCompletionsGeneration.verified.fish @@ -0,0 +1,52 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case --dynamic + set i (math $i + 1) + end + end + set i (math $i + 1) + end + + set -l opt_index 0 + if test (count $tokens) -ge 2 + for j in (seq (count $tokens) -1 2) + if string match -q -- '-*' $tokens[$j] + set opt_index $j + break + end + end + end + + if test $opt_index -gt 0 + set -l opt $tokens[$opt_index] + set -l values_after (math (count $tokens) - $opt_index) + switch $state + case 0 + switch $opt + case --dynamic + if test $values_after -lt 1 + command $tokens[1] complete --position (commandline -C) (commandline -cp) 2>/dev/null + return + end + end + end + end + + switch $state + case 0 + printf '%s\n' '--dynamic' + command $tokens[1] complete --position (commandline -C) (commandline -cp) 2>/dev/null + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.GenericCompletions.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.GenericCompletions.verified.fish new file mode 100644 index 000000000000..c86386e997c8 --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.GenericCompletions.verified.fish @@ -0,0 +1,20 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + end + set i (math $i + 1) + end + + switch $state + case 0 + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.MixedArityOptions.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.MixedArityOptions.verified.fish new file mode 100644 index 000000000000..a5728a17ce22 --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.MixedArityOptions.verified.fish @@ -0,0 +1,87 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case build + set state 1 + case --config + set i (math $i + 1) + case --framework -f + set -l skip_max 3 + set -l skipped 0 + while test $skipped -lt $skip_max -a (math $i + 1) -le (count $tokens) + set -l next $tokens[(math $i + 1)] + if string match -q -- '-*' $next + break + end + set i (math $i + 1) + set skipped (math $skipped + 1) + end + case --sources + while test (math $i + 1) -le (count $tokens) + set -l next $tokens[(math $i + 1)] + if string match -q -- '-*' $next + break + end + set i (math $i + 1) + end + end + end + set i (math $i + 1) + end + + set -l opt_index 0 + if test (count $tokens) -ge 2 + for j in (seq (count $tokens) -1 2) + if string match -q -- '-*' $tokens[$j] + set opt_index $j + break + end + end + end + + if test $opt_index -gt 0 + set -l opt $tokens[$opt_index] + set -l values_after (math (count $tokens) - $opt_index) + switch $state + case 0 + switch $opt + case --config + if test $values_after -lt 1 + printf '%s\n' 'debug' + printf '%s\n' 'release' + return + end + case --framework -f + if test $values_after -lt 3 + printf '%s\n' 'net10.0' + printf '%s\n' 'net8.0' + printf '%s\n' 'net9.0' + return + end + case --sources + return + end + end + end + + switch $state + case 0 + printf '%s\n' 'build' + printf '%s\n' '--config' + printf '%s\n' '--framework' + printf '%s\n' '-f' + printf '%s\n' '--sources' + case 1 + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.NestedSubcommandCompletion.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.NestedSubcommandCompletion.verified.fish new file mode 100644 index 000000000000..400d43cf29c3 --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.NestedSubcommandCompletion.verified.fish @@ -0,0 +1,34 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case subcommand + set state 1 + end + case 1 + switch $word + case nested + set state 2 + end + end + set i (math $i + 1) + end + + switch $state + case 0 + printf '%s\n' 'subcommand' + case 1 + printf '%s\n' 'nested' + case 2 + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SimpleOptionCompletion.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SimpleOptionCompletion.verified.fish new file mode 100644 index 000000000000..68d8ab21e67b --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SimpleOptionCompletion.verified.fish @@ -0,0 +1,50 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case --name + set i (math $i + 1) + end + end + set i (math $i + 1) + end + + set -l opt_index 0 + if test (count $tokens) -ge 2 + for j in (seq (count $tokens) -1 2) + if string match -q -- '-*' $tokens[$j] + set opt_index $j + break + end + end + end + + if test $opt_index -gt 0 + set -l opt $tokens[$opt_index] + set -l values_after (math (count $tokens) - $opt_index) + switch $state + case 0 + switch $opt + case --name + if test $values_after -lt 1 + return + end + end + end + end + + switch $state + case 0 + printf '%s\n' '--name' + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.StaticOptionValues.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.StaticOptionValues.verified.fish new file mode 100644 index 000000000000..98a413a4497f --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.StaticOptionValues.verified.fish @@ -0,0 +1,55 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case --verbosity + set i (math $i + 1) + end + end + set i (math $i + 1) + end + + set -l opt_index 0 + if test (count $tokens) -ge 2 + for j in (seq (count $tokens) -1 2) + if string match -q -- '-*' $tokens[$j] + set opt_index $j + break + end + end + end + + if test $opt_index -gt 0 + set -l opt $tokens[$opt_index] + set -l values_after (math (count $tokens) - $opt_index) + switch $state + case 0 + switch $opt + case --verbosity + if test $values_after -lt 1 + printf '%s\n' 'detailed' + printf '%s\n' 'diagnostic' + printf '%s\n' 'minimal' + printf '%s\n' 'normal' + printf '%s\n' 'quiet' + return + end + end + end + end + + switch $state + case 0 + printf '%s\n' '--verbosity' + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SubcommandAndOptionInTopLevelList.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SubcommandAndOptionInTopLevelList.verified.fish new file mode 100644 index 000000000000..0936b3b28cf8 --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.SubcommandAndOptionInTopLevelList.verified.fish @@ -0,0 +1,54 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case subcommand + set state 1 + case --name + set i (math $i + 1) + end + end + set i (math $i + 1) + end + + set -l opt_index 0 + if test (count $tokens) -ge 2 + for j in (seq (count $tokens) -1 2) + if string match -q -- '-*' $tokens[$j] + set opt_index $j + break + end + end + end + + if test $opt_index -gt 0 + set -l opt $tokens[$opt_index] + set -l values_after (math (count $tokens) - $opt_index) + switch $state + case 0 + switch $opt + case --name + if test $values_after -lt 1 + return + end + end + end + end + + switch $state + case 0 + printf '%s\n' 'subcommand' + printf '%s\n' '--name' + case 1 + end +end + +complete -c mycommand -f -a '(_mycommand)' diff --git a/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.UnboundedMultiValueOption.verified.fish b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.UnboundedMultiValueOption.verified.fish new file mode 100644 index 000000000000..92f17b003bcb --- /dev/null +++ b/test/System.CommandLine.StaticCompletions.Tests/snapshots/fish/FishShellProviderTests.UnboundedMultiValueOption.verified.fish @@ -0,0 +1,68 @@ +# fish completions for mycommand + +function _mycommand + set -l tokens (commandline -opc) + + set -l state 0 + set -l i 2 + while test $i -le (count $tokens) + set -l word $tokens[$i] + switch $state + case 0 + switch $word + case subcommand + set state 1 + case --name + set i (math $i + 1) + case --items + while test (math $i + 1) -le (count $tokens) + set -l next $tokens[(math $i + 1)] + if string match -q -- '-*' $next + break + end + set i (math $i + 1) + end + end + end + set i (math $i + 1) + end + + set -l opt_index 0 + if test (count $tokens) -ge 2 + for j in (seq (count $tokens) -1 2) + if string match -q -- '-*' $tokens[$j] + set opt_index $j + break + end + end + end + + if test $opt_index -gt 0 + set -l opt $tokens[$opt_index] + set -l values_after (math (count $tokens) - $opt_index) + switch $state + case 0 + switch $opt + case --items + printf '%s\n' 'a' + printf '%s\n' 'b' + printf '%s\n' 'c' + return + case --name + if test $values_after -lt 1 + return + end + end + end + end + + switch $state + case 0 + printf '%s\n' 'subcommand' + printf '%s\n' '--items' + printf '%s\n' '--name' + case 1 + end +end + +complete -c mycommand -f -a '(_mycommand)' From 320c853f5f00dec18f1164c504c9cdebe07e8f1e Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 16 Apr 2026 03:28:07 +0000 Subject: [PATCH 126/137] Update dependencies from build 310613 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26215.116 -> 10.0.0-preview.26215.119) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26215-116 -> 18.6.0-preview-26215-119) 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.6.0-rc.21616 -> 7.6.0-rc.21619) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26215.116 -> 10.0.300-alpha.26215.119) 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.6.0-2.26215.116 -> 5.6.0-2.26215.119) 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.26215.116 -> 10.0.0-beta.26215.119) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26215.116 -> 15.2.300-servicing.26215.119) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26215-116 -> 18.3.0-release-26215-119) 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.300-preview.26215.116 -> 10.0.300-preview.26215.119) Microsoft.NETCore.App.Ref, System.IO.Hashing, Microsoft.Extensions.DependencyModel, Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64, Microsoft.NET.ILLink.Tasks, System.CodeDom, System.ComponentModel.Composition, System.Formats.Asn1, System.Security.Cryptography.ProtectedData, System.Text.Encoding.CodePages, System.Resources.Extensions, Microsoft.WindowsDesktop.App.Ref, Microsoft.AspNetCore.App.Ref, Microsoft.AspNetCore.Authentication.Facebook, Microsoft.AspNetCore.Authentication.Google, Microsoft.AspNetCore.Authentication.MicrosoftAccount, Microsoft.AspNetCore.Components, Microsoft.AspNetCore.Components.Analyzers, Microsoft.AspNetCore.Components.Forms, Microsoft.AspNetCore.Components.WebAssembly, Microsoft.AspNetCore.Components.WebAssembly.Server, Microsoft.AspNetCore.Components.WebView, Microsoft.AspNetCore.Metadata, Microsoft.Extensions.FileProviders.Embedded, Microsoft.AspNetCore.Authorization, Microsoft.AspNetCore.Components.Web, Microsoft.JSInterop, Microsoft.Extensions.ObjectPool, Microsoft.AspNetCore.TestHost, Microsoft.DotNet.Web.ItemTemplates.10.0, Microsoft.DotNet.Web.ProjectTemplates.10.0, Microsoft.Extensions.Logging, Microsoft.Extensions.Logging.Abstractions, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.Logging.Console, Microsoft.Extensions.FileSystemGlobbing, System.ServiceProcess.ServiceController, System.Text.Json, Microsoft.Bcl.AsyncInterfaces, Microsoft.Extensions.FileProviders.Abstractions, Microsoft.Win32.SystemEvents, System.Composition.AttributedModel, System.Composition.Convention, System.Composition.Hosting, System.Composition.Runtime, System.Composition.TypedParts, System.Configuration.ConfigurationManager, System.Diagnostics.DiagnosticSource, System.Security.Cryptography.Pkcs, System.Security.Cryptography.Xml, System.Security.Permissions, System.Windows.Extensions, System.Reflection.MetadataLoadContext, Microsoft.Extensions.Configuration.Ini (Version 10.0.5 -> 10.0.6) Microsoft.NETCore.Platforms, Microsoft.NET.HostModel, Microsoft.WindowsDesktop.App.Internal, Microsoft.Dotnet.WinForms.ProjectTemplates, Microsoft.DotNet.Wpf.ProjectTemplates, Microsoft.NET.Sdk.WindowsDesktop, Microsoft.AspNetCore.App.Ref.Internal, dotnet-dev-certs, dotnet-user-jwts, dotnet-user-secrets, Microsoft.AspNetCore.Analyzers, Microsoft.AspNetCore.Components.SdkAnalyzers, Microsoft.AspNetCore.Mvc.Analyzers, Microsoft.AspNetCore.Mvc.Api.Analyzers, Microsoft.AspNetCore.DeveloperCertificates.XPlat (Version 10.0.5-servicing.26153.111 -> 10.0.6-servicing.26176.101) Microsoft.Web.Xdt (Version 3.2.5 -> 3.2.6) System.CommandLine (Version 2.0.5 -> 2.0.6) Microsoft.DiaSymReader (Version 2.2.5 -> 2.2.6) Microsoft.Deployment.DotNet.Releases (Version 2.0.0-preview.1.26153.111 -> 2.0.0-preview.1.26176.101) [[ commit created by automation ]] --- eng/Version.Details.props | 270 +++++++++---------- eng/Version.Details.xml | 542 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 408 insertions(+), 408 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index e40ba20ff7b5..d5b8e36ed307 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,142 +8,142 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.5-servicing.26153.111 - 10.0.5-servicing.26153.111 - 10.0.5-servicing.26153.111 - 10.0.5-servicing.26153.111 - 10.0.5 - 10.0.5-servicing.26153.111 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5-servicing.26153.111 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5-servicing.26153.111 - 10.0.5 - 10.0.5-servicing.26153.111 - 10.0.5-servicing.26153.111 - 10.0.0-preview.26215.116 - 10.0.5 - 10.0.5 - 18.6.0-preview-26215-116 - 18.6.0-preview-26215-116 - 7.6.0-rc.21616 - 10.0.300-alpha.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 10.0.0-preview.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 2.0.0-preview.1.26153.111 - 2.2.5 - 10.0.0-beta.26215.116 - 10.0.0-beta.26215.116 - 10.0.0-beta.26215.116 - 10.0.0-beta.26215.116 - 10.0.0-beta.26215.116 - 10.0.0-beta.26215.116 - 10.0.5 - 10.0.5 - 10.0.5-servicing.26153.111 - 10.0.5-servicing.26153.111 - 10.0.0-beta.26215.116 - 10.0.0-beta.26215.116 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 15.2.300-servicing.26215.116 - 10.0.5 - 5.6.0-2.26215.116 - 5.6.0-2.26215.116 - 10.0.5-servicing.26153.111 - 10.0.5 - 10.0.5 + 10.0.6-servicing.26176.101 + 10.0.6-servicing.26176.101 + 10.0.6-servicing.26176.101 + 10.0.6-servicing.26176.101 + 10.0.6 + 10.0.6-servicing.26176.101 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26176.101 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26176.101 + 10.0.6 + 10.0.6-servicing.26176.101 + 10.0.6-servicing.26176.101 + 10.0.0-preview.26215.119 + 10.0.6 + 10.0.6 + 18.6.0-preview-26215-119 + 18.6.0-preview-26215-119 + 7.6.0-rc.21619 + 10.0.300-alpha.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 10.0.0-preview.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 2.0.0-preview.1.26176.101 + 2.2.6 + 10.0.0-beta.26215.119 + 10.0.0-beta.26215.119 + 10.0.0-beta.26215.119 + 10.0.0-beta.26215.119 + 10.0.0-beta.26215.119 + 10.0.0-beta.26215.119 + 10.0.6 + 10.0.6 + 10.0.6-servicing.26176.101 + 10.0.6-servicing.26176.101 + 10.0.0-beta.26215.119 + 10.0.0-beta.26215.119 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 15.2.300-servicing.26215.119 + 10.0.6 + 5.6.0-2.26215.119 + 5.6.0-2.26215.119 + 10.0.6-servicing.26176.101 + 10.0.6 + 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26215.116 - 10.0.5-servicing.26153.111 - 18.3.0-release-26215-116 - 10.0.5 - 10.0.5-servicing.26153.111 - 10.0.300-alpha.26215.116 - 10.0.300-alpha.26215.116 - 10.0.300-alpha.26215.116 - 10.0.300-alpha.26215.116 - 10.0.300-alpha.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 10.0.300-preview.26215.116 - 18.3.0-release-26215-116 - 18.3.0-release-26215-116 - 3.2.5 - 10.0.5 - 10.0.5-servicing.26153.111 - 10.0.5 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 7.6.0-rc.21616 - 10.0.5 - 2.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 - 10.0.5 + 10.0.0-preview.26215.119 + 10.0.6-servicing.26176.101 + 18.3.0-release-26215-119 + 10.0.6 + 10.0.6-servicing.26176.101 + 10.0.300-alpha.26215.119 + 10.0.300-alpha.26215.119 + 10.0.300-alpha.26215.119 + 10.0.300-alpha.26215.119 + 10.0.300-alpha.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 10.0.300-preview.26215.119 + 18.3.0-release-26215-119 + 18.3.0-release-26215-119 + 3.2.6 + 10.0.6 + 10.0.6-servicing.26176.101 + 10.0.6 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 7.6.0-rc.21619 + 10.0.6 + 2.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 + 10.0.6 2.1.0-preview.25571.1 4.1.0-preview.25571.1 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9c4d7c649227..be4ddb0cdfcc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,62 @@ - + - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 @@ -68,174 +68,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://github.com/dotnet/dotnet - fe40c4e7b110cf7220a726d71541340399598771 + 5c62320222555757bd9b82f3d38eaf5069f3d883 - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 https://github.com/microsoft/testfx @@ -581,9 +581,9 @@ https://github.com/microsoft/testfx 43e592148ac1c7916908477bdffcf2a345affa6d - + https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - a612c2a1056fe3265387ae3ff7c94eba1505caf9 + 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 diff --git a/global.json b/global.json index 9c974e314106..f52ea61f9358 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26215.116", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26215.116", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26215.119", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26215.119", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From eecf5857ad9daa76c467039791b6efe3ef902d25 Mon Sep 17 00:00:00 2001 From: Logan Bussell Date: Thu, 16 Apr 2026 00:56:03 -0700 Subject: [PATCH 127/137] Add validation script and nested AGENTS.md to enforce agent skill quality (#53721) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/copilot-instructions.md | 4 +- .github/skills/AGENTS.md | 24 ++++ .github/skills/ValidateSkill.cs | 103 ++++++++++++++++++ .../incremental-test/SKILL.md} | 15 +-- 4 files changed, 137 insertions(+), 9 deletions(-) create mode 100644 .github/skills/AGENTS.md create mode 100755 .github/skills/ValidateSkill.cs rename .github/{copilot/skills/incremental-test.md => skills/incremental-test/SKILL.md} (90%) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 5cb5d96045cd..54b0cbfa788d 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -21,10 +21,10 @@ Testing: - Examples: - `dotnet test test/dotnet.Tests/dotnet.Tests.csproj --filter "Name~ItShowsTheAppropriateMessageToTheUser"` - `dotnet exec artifacts/bin/redist/Debug/dotnet.Tests.dll -method "*ItShowsTheAppropriateMessageToTheUser*"` -- For incremental test runs of `dotnet.Tests` (avoids slow full `build.cmd`), see the skill at `.github/copilot/skills/incremental-test.md`. In short: build only the modified projects, copy their output DLLs into the redist SDK layout, then run the tests. +- For incremental test runs of `dotnet.Tests` (avoids slow full `build.cmd`), use the `incremental-test` skill. - To test CLI command changes: - Build the redist SDK: `./build.sh` from repo root - - Create a dogfood environment: `source eng/dogfood.sh` + - Create a dogfood environment: `source eng/dogfood.sh` - Test commands in the dogfood shell (e.g., `dnx --help`, `dotnet tool install --help`) - The dogfood script sets up PATH and environment to use the newly built SDK diff --git a/.github/skills/AGENTS.md b/.github/skills/AGENTS.md new file mode 100644 index 000000000000..0b022c9eba26 --- /dev/null +++ b/.github/skills/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Skills + +When creating skills, follow: +- Agent skills specification: https://agentskills.io/specification.md +- Best practices: https://agentskills.io/skill-creation/best-practices.md + +## Structure + +``` +.github/skills/skill-name/ +├── SKILL.md # Required: metadata + instructions +├── scripts/ # Optional: executable code +├── references/ # Optional: documentation +├── assets/ # Optional: templates, resources +└── ... # Any additional files or directories +``` + +## Quick Checklist + +- [ ] Run `dotnet .github/skills/ValidateSkill.cs ` to validate format. +- [ ] `description` describes what the skill does and when to use it. Skill body does not include "When to use this skill". +- [ ] Skill does not explain things the agent already knows. Focus on what's specific to the task at hand. +- [ ] Deterministic processes use scripts (for example, to fetch and format data from an API). +- [ ] Scripts use PowerShell or .NET file-based apps, not bash. diff --git a/.github/skills/ValidateSkill.cs b/.github/skills/ValidateSkill.cs new file mode 100755 index 000000000000..12d1e0b51342 --- /dev/null +++ b/.github/skills/ValidateSkill.cs @@ -0,0 +1,103 @@ +#!/usr/bin/env dotnet +#:property ManagePackageVersionsCentrally=false +#:property PublishAot=false +#:package YamlDotNet@16.3.0 + +using YamlDotNet.Serialization; +using System.Text.RegularExpressions; + +if (args.Length == 0) +{ + Console.Error.WriteLine("Usage: dotnet ValidateSkill.cs "); + return 1; +} + +string skillDir = Path.GetFullPath(args[0]); +string skillName = Path.GetFileName(Path.TrimEndingDirectorySeparator(skillDir)); +string skillFile = Path.Combine(skillDir, "SKILL.md"); + +// SKILL.md must exist in the skill directory +if (!File.Exists(skillFile)) +{ + Console.Error.WriteLine($"SKILL.md not found in {skillDir}"); + return 1; +} + +string text = File.ReadAllText(skillFile); + +// SKILL.md must begin with YAML frontmatter delimited by --- +if (!text.StartsWith("---")) +{ + Console.Error.WriteLine("No YAML frontmatter found."); + return 1; +} + +Match frontmatterMatch = Regex.Match( + text, + @"\A---\r?\n(?.*?)(?:\r?\n)---(?:\r?\n|$)", + RegexOptions.Singleline); +if (!frontmatterMatch.Success) +{ + Console.Error.WriteLine("Unterminated YAML frontmatter."); + return 1; +} + +string yaml = frontmatterMatch.Groups["yaml"].Value.Trim(); + +IDeserializer deserializer = new DeserializerBuilder().Build(); +Dictionary frontmatter = deserializer.Deserialize>(yaml); + +// name is required +if (!frontmatter.TryGetValue("name", out object? nameValue) || nameValue is not string frontmatterName) +{ + Console.Error.WriteLine("Frontmatter missing 'name' field."); + return 1; +} + +// name must be 1-64 characters +if (frontmatterName.Length == 0 || frontmatterName.Length > 64) +{ + Console.Error.WriteLine($"Name is {frontmatterName.Length} chars (must be 1-64)."); + return 1; +} + +// name: lowercase alphanumeric and hyphens only, no leading/trailing/consecutive hyphens +if (!Regex.IsMatch(frontmatterName, @"^[a-z0-9]([a-z0-9-]*[a-z0-9])?$") + || frontmatterName.Contains("--")) +{ + Console.Error.WriteLine($"Invalid name '{frontmatterName}'. Must be lowercase letters, numbers, and hyphens only. Must not start/end with a hyphen or contain consecutive hyphens."); + return 1; +} + +// name must match the parent directory name +if (!string.Equals(skillName, frontmatterName, StringComparison.Ordinal)) +{ + Console.Error.WriteLine($"Name mismatch: directory is '{skillName}' but SKILL.md name is '{frontmatterName}'."); + return 1; +} + +// description is required +if (!frontmatter.TryGetValue("description", out object? descValue) || descValue is not string description) +{ + Console.Error.WriteLine("Frontmatter missing 'description' field."); + return 1; +} + +// description must be 1-1024 characters +if (description.Length == 0 || description.Length > 1024) +{ + Console.Error.WriteLine($"Description is {description.Length} chars (must be 1-1024)."); + return 1; +} + +// Keep SKILL.md under 500 lines; move detailed content to references/ or scripts/ +// See "Progressive Disclosure" at https://agentskills.io/specification.md +int lineCount = text.Split('\n').Length; +if (lineCount > 500) +{ + Console.Error.WriteLine($"SKILL.md is {lineCount} lines (max 500). See \"Progressive Disclosure\" at https://agentskills.io/specification.md"); + return 1; +} + +Console.WriteLine($"Skill '{frontmatterName}' is valid."); +return 0; diff --git a/.github/copilot/skills/incremental-test.md b/.github/skills/incremental-test/SKILL.md similarity index 90% rename from .github/copilot/skills/incremental-test.md rename to .github/skills/incremental-test/SKILL.md index 7422b8a28d79..f4d927873152 100644 --- a/.github/copilot/skills/incremental-test.md +++ b/.github/skills/incremental-test/SKILL.md @@ -1,7 +1,12 @@ -# Incremental Test Runner for dotnet.Tests +--- +name: incremental-test +description: >- + Run dotnet.Tests incrementally without a full build.cmd rebuild. Use after + modifying source code in SDK projects to quickly build only changed projects, + deploy their outputs into the redist SDK layout, and run tests against them. +--- -This skill enables fast incremental test runs of `dotnet.Tests` without a full `build.cmd` rebuild. -Use it after making source code changes to quickly build only the modified projects and deploy their outputs into the redist SDK layout so tests can run against them. +# Incremental Test Runner for dotnet.Tests ## Prerequisites @@ -9,10 +14,6 @@ Use it after making source code changes to quickly build only the modified proje - The repo-local `.dotnet` SDK must match the version expected by the test projects. If the runtime or SDK version is out of date (e.g., test build fails with a missing framework error), run `.\restore.cmd` (or `./restore.sh` on macOS/Linux) to download the correct SDK into `.dotnet`. - This workflow uses Windows/PowerShell commands and paths. On macOS/Linux, substitute forward slashes and use `cp` instead of `Copy-Item`. -## When to use - -Use this skill when you need to run `dotnet.Tests` after modifying source code in one or more SDK projects. It avoids the slow full `build.cmd` by only rebuilding the changed projects and copying their output DLLs into the redist layout. - ## Workflow ### Step 1: Identify modified projects From bdfa6b79f7d52f1f6f3bb55eb22986cd8c19a35d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 17 Apr 2026 01:28:49 +0000 Subject: [PATCH 128/137] Update dependencies from build 310753 Updated Dependencies: Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal, Microsoft.CodeAnalysis.Razor.Tooling.Internal, Microsoft.NET.Sdk.Razor.SourceGenerators.Transport (Version 10.0.0-preview.26215.119 -> 10.0.0-preview.26216.115) Microsoft.Build, Microsoft.Build.Localization (Version 18.6.0-preview-26215-119 -> 18.6.0-preview-26216-115) 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.6.0-rc.21619 -> 7.6.0-rc.21715) Microsoft.Build.Tasks.Git, Microsoft.SourceLink.AzureRepos.Git, Microsoft.SourceLink.Bitbucket.Git, Microsoft.SourceLink.Common, Microsoft.SourceLink.GitHub, Microsoft.SourceLink.GitLab (Version 10.0.300-alpha.26215.119 -> 10.0.300-alpha.26216.115) 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.6.0-2.26215.119 -> 5.6.0-2.26216.115) 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.26215.119 -> 10.0.0-beta.26216.115) Microsoft.FSharp.Compiler (Version 15.2.300-servicing.26215.119 -> 15.2.300-servicing.26216.115) Microsoft.NET.Test.Sdk, Microsoft.TestPlatform.Build, Microsoft.TestPlatform.CLI (Version 18.3.0-release-26215-119 -> 18.3.0-release-26216-115) 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.300-preview.26215.119 -> 10.0.300-preview.26216.115) [[ commit created by automation ]] --- eng/Version.Details.props | 124 +++++++++---------- eng/Version.Details.xml | 250 +++++++++++++++++++------------------- global.json | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/eng/Version.Details.props b/eng/Version.Details.props index d5b8e36ed307..82e48abcaa25 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -30,39 +30,39 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6-servicing.26176.101 10.0.6-servicing.26176.101 - 10.0.0-preview.26215.119 + 10.0.0-preview.26216.115 10.0.6 10.0.6 - 18.6.0-preview-26215-119 - 18.6.0-preview-26215-119 - 7.6.0-rc.21619 - 10.0.300-alpha.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 10.0.0-preview.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 + 18.6.0-preview-26216-115 + 18.6.0-preview-26216-115 + 7.6.0-rc.21715 + 10.0.300-alpha.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 10.0.0-preview.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 2.0.0-preview.1.26176.101 2.2.6 - 10.0.0-beta.26215.119 - 10.0.0-beta.26215.119 - 10.0.0-beta.26215.119 - 10.0.0-beta.26215.119 - 10.0.0-beta.26215.119 - 10.0.0-beta.26215.119 + 10.0.0-beta.26216.115 + 10.0.0-beta.26216.115 + 10.0.0-beta.26216.115 + 10.0.0-beta.26216.115 + 10.0.0-beta.26216.115 + 10.0.0-beta.26216.115 10.0.6 10.0.6 10.0.6-servicing.26176.101 10.0.6-servicing.26176.101 - 10.0.0-beta.26215.119 - 10.0.0-beta.26215.119 + 10.0.0-beta.26216.115 + 10.0.0-beta.26216.115 10.0.6 10.0.6 10.0.6 @@ -73,55 +73,55 @@ This file should be imported by eng/Versions.props 10.0.6 10.0.6 10.0.6 - 15.2.300-servicing.26215.119 + 15.2.300-servicing.26216.115 10.0.6 - 5.6.0-2.26215.119 - 5.6.0-2.26215.119 + 5.6.0-2.26216.115 + 5.6.0-2.26216.115 10.0.6-servicing.26176.101 10.0.6 10.0.6 10.0.0-preview.7.25377.103 - 10.0.0-preview.26215.119 + 10.0.0-preview.26216.115 10.0.6-servicing.26176.101 - 18.3.0-release-26215-119 + 18.3.0-release-26216-115 10.0.6 10.0.6-servicing.26176.101 - 10.0.300-alpha.26215.119 - 10.0.300-alpha.26215.119 - 10.0.300-alpha.26215.119 - 10.0.300-alpha.26215.119 - 10.0.300-alpha.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 10.0.300-preview.26215.119 - 18.3.0-release-26215-119 - 18.3.0-release-26215-119 + 10.0.300-alpha.26216.115 + 10.0.300-alpha.26216.115 + 10.0.300-alpha.26216.115 + 10.0.300-alpha.26216.115 + 10.0.300-alpha.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 10.0.300-preview.26216.115 + 18.3.0-release-26216-115 + 18.3.0-release-26216-115 3.2.6 10.0.6 10.0.6-servicing.26176.101 10.0.6 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 - 7.6.0-rc.21619 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 + 7.6.0-rc.21715 10.0.6 2.0.6 10.0.6 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index be4ddb0cdfcc..5b32d0e3744e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,42 +1,42 @@ - + - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -72,142 +72,142 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -374,25 +374,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -409,29 +409,29 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 @@ -523,9 +523,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet @@ -537,37 +537,37 @@ - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 - + https://github.com/dotnet/dotnet - 5c62320222555757bd9b82f3d38eaf5069f3d883 + 7141470de2a1582db15ae6886e361ead12efb3d8 https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet diff --git a/global.json b/global.json index f52ea61f9358..32e5d4729716 100644 --- a/global.json +++ b/global.json @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26215.119", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26215.119", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26216.115", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26216.115", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From c11659863e01f0aec80cbc9d628a1c30eaad8083 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 17 Apr 2026 08:35:56 +0200 Subject: [PATCH 129/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2953524 --- src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf | 2 +- src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf index 2f5d8f197eba..17422f7562f2 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf @@ -1258,7 +1258,7 @@ Nástroj {1} (verze {2}) se úspěšně nainstaloval. Do souboru manifestu {3} s Multiple referenced files would be converted into the same directory: '{0}' - Multiple referenced files would be converted into the same directory: '{0}' + Několik odkazovaných souborů by bylo převedeno do stejného adresáře: {0}. {0} is the target directory path. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf index 857e8e4e459a..32e862d8da98 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf @@ -1258,7 +1258,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Multiple referenced files would be converted into the same directory: '{0}' - Multiple referenced files would be converted into the same directory: '{0}' + 複数の参照ファイルが同じディレクトリに変換されます: '{0}' {0} is the target directory path. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf index 47a36ac13072..f9978ef192fe 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf @@ -1258,7 +1258,7 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Multiple referenced files would be converted into the same directory: '{0}' - Multiple referenced files would be converted into the same directory: '{0}' + Несколько файлов, на которые указывают ссылки, будут преобразованы в один каталог: "{0}" {0} is the target directory path. From 058fa78d27dc4eb368badb5a59bdef9b4c9e1e36 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 17 Apr 2026 08:38:50 +0200 Subject: [PATCH 130/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2953524 --- .../xlf/FileBasedProgramsResources.cs.xlf | 4 ++-- .../xlf/FileBasedProgramsResources.de.xlf | 4 ++-- .../xlf/FileBasedProgramsResources.es.xlf | 2 +- .../xlf/FileBasedProgramsResources.fr.xlf | 2 +- .../xlf/FileBasedProgramsResources.it.xlf | 4 ++-- .../xlf/FileBasedProgramsResources.ja.xlf | 4 ++-- .../xlf/FileBasedProgramsResources.ko.xlf | 2 +- .../xlf/FileBasedProgramsResources.pl.xlf | 2 +- .../xlf/FileBasedProgramsResources.pt-BR.xlf | 4 ++-- .../xlf/FileBasedProgramsResources.ru.xlf | 4 ++-- .../xlf/FileBasedProgramsResources.tr.xlf | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf index c7b527bc9754..a5cc8144f6ea 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.cs.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + Soubor {0} nebyl nalezen. {0} is the file path. @@ -64,7 +64,7 @@ The '#:ref' directive is invalid: {0} - The '#:ref' directive is invalid: {0} + Direktiva #:ref je neplatná: {0}. {Locked="#:ref"}{0} is the inner error message. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf index ae85b7a2a9fb..0a2844c607d6 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.de.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + Die Datei "{0}" konnte nicht gefunden werden. {0} is the file path. @@ -64,7 +64,7 @@ The '#:ref' directive is invalid: {0} - The '#:ref' directive is invalid: {0} + Die „#:ref“-Direktive ist ungültig: {0} {Locked="#:ref"}{0} is the inner error message. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf index 99af05fd0a22..3d3f76062d7b 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.es.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + No se pudo encontrar el archivo '{0}'. {0} is the file path. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf index 90add5915dd1..c3cb53dfa9e0 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.fr.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + Impossible de trouver le fichier '{0}'. {0} is the file path. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf index 47de1ef37010..08aa5428a90b 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.it.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + Il file '{0}' non è stato trovato. {0} is the file path. @@ -64,7 +64,7 @@ The '#:ref' directive is invalid: {0} - The '#:ref' directive is invalid: {0} + La direttiva "#:ref" non è valida: {0} {Locked="#:ref"}{0} is the inner error message. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf index 573c9be2ff5c..259a6b3fb80c 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ja.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + ファイル '{0}' が見つかりませんでした。 {0} is the file path. @@ -64,7 +64,7 @@ The '#:ref' directive is invalid: {0} - The '#:ref' directive is invalid: {0} + '#:ref' ディレクティブが無効です: {0} {Locked="#:ref"}{0} is the inner error message. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf index b466d59e7a63..75f293801c3a 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ko.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + '{0}' 파일을 찾을 수 없습니다. {0} is the file path. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf index eaf6b0b78253..70bc479286d5 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pl.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + Nie można odnaleźć pliku '{0}'. {0} is the file path. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf index 72cc2e9f3706..b389de338664 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.pt-BR.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + Não foi possível encontrar arquivo "{0}". {0} is the file path. @@ -64,7 +64,7 @@ The '#:ref' directive is invalid: {0} - The '#:ref' directive is invalid: {0} + A diretiva ''#:ref'' é inválida: {0} {Locked="#:ref"}{0} is the inner error message. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf index 5d580c932efe..bc0686e203f6 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.ru.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + Не удалось найти файл "{0}". {0} is the file path. @@ -64,7 +64,7 @@ The '#:ref' directive is invalid: {0} - The '#:ref' directive is invalid: {0} + Недопустимая директива "#:ref": {0} {Locked="#:ref"}{0} is the inner error message. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf index e64081b711aa..3a2e8533ee02 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.tr.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + '{0}' dosyası bulunamadı. {0} is the file path. From 90af2dd84883d8e104996c5e8b2c161bb4c494a3 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 17 Apr 2026 08:40:14 +0200 Subject: [PATCH 131/137] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2953524 --- .../xlf/FileBasedProgramsResources.zh-Hans.xlf | 2 +- .../xlf/FileBasedProgramsResources.zh-Hant.xlf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf index bbcefb9f1d7f..1cd4525ecc9c 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hans.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + 找不到文件“{0}”。 {0} is the file path. diff --git a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf index ecfe1971bf1c..7d2c81a0428d 100644 --- a/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf +++ b/src/Cli/Microsoft.DotNet.FileBasedPrograms/xlf/FileBasedProgramsResources.zh-Hant.xlf @@ -19,7 +19,7 @@ Could not find file '{0}'. - Could not find file '{0}'. + 找不到檔案 '{0}'。 {0} is the file path. From ccdab300ea6320886d9dc160d3ca6cd181698487 Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Fri, 17 Apr 2026 13:17:20 +0200 Subject: [PATCH 132/137] Warn about common run-file pitfalls (#53833) --- .../dotnet/Commands/CliCommandStrings.resx | 16 ++ src/Cli/dotnet/Commands/CommandFactory.cs | 21 ++ src/Cli/dotnet/Commands/Run/RunCommand.cs | 35 +++ .../Commands/xlf/CliCommandStrings.cs.xlf | 22 +- .../Commands/xlf/CliCommandStrings.de.xlf | 22 +- .../Commands/xlf/CliCommandStrings.es.xlf | 22 +- .../Commands/xlf/CliCommandStrings.fr.xlf | 22 +- .../Commands/xlf/CliCommandStrings.it.xlf | 22 +- .../Commands/xlf/CliCommandStrings.ja.xlf | 22 +- .../Commands/xlf/CliCommandStrings.ko.xlf | 22 +- .../Commands/xlf/CliCommandStrings.pl.xlf | 22 +- .../Commands/xlf/CliCommandStrings.pt-BR.xlf | 22 +- .../Commands/xlf/CliCommandStrings.ru.xlf | 22 +- .../Commands/xlf/CliCommandStrings.tr.xlf | 22 +- .../xlf/CliCommandStrings.zh-Hans.xlf | 22 +- .../xlf/CliCommandStrings.zh-Hant.xlf | 22 +- .../CommandTests/Run/RunFileTests.cs | 264 +++++++++++++++++- 17 files changed, 603 insertions(+), 19 deletions(-) diff --git a/src/Cli/dotnet/Commands/CliCommandStrings.resx b/src/Cli/dotnet/Commands/CliCommandStrings.resx index 7b40ab16089e..d7c1610513d4 100644 --- a/src/Cli/dotnet/Commands/CliCommandStrings.resx +++ b/src/Cli/dotnet/Commands/CliCommandStrings.resx @@ -964,6 +964,22 @@ Tool '{1}' (version '{2}') was successfully installed. Entry is added to the man Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + Unable to proceed with project '{0}'. Ensure you have a runnable project type. diff --git a/src/Cli/dotnet/Commands/CommandFactory.cs b/src/Cli/dotnet/Commands/CommandFactory.cs index 6f50a6b2d4d7..f948c6d1e934 100644 --- a/src/Cli/dotnet/Commands/CommandFactory.cs +++ b/src/Cli/dotnet/Commands/CommandFactory.cs @@ -5,6 +5,7 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Commands.Run; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Cli.Utils.Extensions; using Microsoft.DotNet.ProjectTools; namespace Microsoft.DotNet.Cli.Commands; @@ -39,6 +40,26 @@ internal static CommandBase CreateVirtualOrPhysicalCommand( } else { + // Warn if any argument looks like a file-based program entry point but we're falling back to MSBuild. + // This can happen when extra positional arguments prevent the single-arg file-based path from being taken, + // or when a .cs file doesn't exist (so IsValidEntryPointPath returns false). + foreach (var candidate in nonBinLogArgs) + { + if (VirtualProjectBuilder.IsValidEntryPointPath(candidate)) + { + Reporter.Error.WriteLine( + string.Format(CliCommandStrings.WarningFileArgumentPassedToMSBuild, candidate, commandDefinition.Name).Yellow()); + break; + } + + if (candidate.EndsWith(".cs", StringComparison.OrdinalIgnoreCase)) + { + Reporter.Error.WriteLine( + string.Format(CliCommandStrings.WarningCsFileArgumentPassedToMSBuild, candidate).Yellow()); + break; + } + } + var msbuildArgs = MSBuildArgs.AnalyzeMSBuildArguments([.. forwardedArgs, .. args], [.. optionsToUseWhenParsingMSBuildFlags]); msbuildArgs = transformer?.Invoke(msbuildArgs) ?? msbuildArgs; return createPhysicalCommand(msbuildArgs, msbuildPath); diff --git a/src/Cli/dotnet/Commands/Run/RunCommand.cs b/src/Cli/dotnet/Commands/Run/RunCommand.cs index af35ce75ad46..010cb252cdd4 100644 --- a/src/Cli/dotnet/Commands/Run/RunCommand.cs +++ b/src/Cli/dotnet/Commands/Run/RunCommand.cs @@ -852,6 +852,41 @@ public static RunCommand FromParseResult(ParseResult parseResult) ref args, out string? entryPointFilePath); + // Warn if an argument looks like a file-based program entry point but we're falling back to project-based run. + // This helps users who accidentally run `dotnet run file.cs` in a directory containing a project file. + // Do not warn if --project or --file was explicitly specified. + // Only consider arguments that appear before '--' in the command line. + if (projectFilePath is not null && projectOption is null && fileOption is null && !readCodeFromStdin) + { + var argValuesBeforeDoubleDash = parseResult.Tokens + .TakeWhile(static t => t.Type != TokenType.DoubleDash) + .Where(static t => t.Type == TokenType.Argument) + .Select(static t => t.Value) + .ToHashSet(); + + foreach (var arg in args) + { + if (!argValuesBeforeDoubleDash.Contains(arg)) + { + continue; + } + + if (VirtualProjectBuilder.IsValidEntryPointPath(arg)) + { + Reporter.Error.WriteLine( + string.Format(CliCommandStrings.RunCommandWarningFileArgumentPassedToProject, arg, projectFilePath).Yellow()); + break; + } + + if (arg.EndsWith(".cs", StringComparison.OrdinalIgnoreCase)) + { + Reporter.Error.WriteLine( + string.Format(CliCommandStrings.RunCommandWarningCsFileArgumentPassedToProject, arg, projectFilePath).Yellow()); + break; + } + } + } + bool noBuild = parseResult.HasOption(definition.NoBuildOption); string launchProfile = parseResult.GetValue(definition.LaunchProfileOption) ?? string.Empty; diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf index 17422f7562f2..50ac257b0f42 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.cs.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Cílem projektu je více architektur. Pomocí parametru {0} určete, která arch {0} není platný soubor projektu. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Upozornění: Nastavení z {0} nejsou použita, protože {1} má přednost. @@ -2069,6 +2079,16 @@ příkazu „dotnet tool list“. Spustí příkazy VSTest (Microsoft Test Engine). + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Spustí sledovací proces souborů, který při změnách souborů spustí příkaz. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf index 67d8a75d1641..cf217b15cdeb 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.de.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Ihr Projekt verwendet mehrere Zielframeworks. Geben Sie über "{0}" an, welches "{0}" ist keine gültige Projektdatei. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Warnung: Einstellungen von „{0}“ werden nicht verwendet, weil „{1}“ Vorrang hat. @@ -2069,6 +2079,16 @@ und die zugehörigen Paket-IDs für installierte Tools über den Befehl Hiermit werden Befehle der Microsoft-Test-Engine (VSTest) ausgeführt. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Hiermit starten Sie einen Datei-Watcher, der einen Befehl ausführt, sobald Dateien geändert werden. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf index a7784fbe6057..fb2de6eee99c 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.es.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Su proyecto tiene como destino varias plataformas. Especifique la que quiere usa "{0}" no es un archivo de proyecto válido. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Advertencia: la configuración de '{0}' no se utiliza porque '{1}' tiene prioridad. @@ -2069,6 +2079,16 @@ y los identificadores de los paquetes correspondientes a las herramientas instal Ejecuta comandos de Microsoft Test Engine (VSTest). + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Inicia un monitor de archivo que ejecuta un comando cuando los archivos cambian. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf index 173b8a464603..06cfb885c868 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.fr.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Votre projet cible plusieurs frameworks. Spécifiez le framework à exécuter à '{0}' n'est pas un fichier projet valide. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Avertissement : les paramètres de « {0} » ne sont pas utilisés, car « {1} » a la priorité. @@ -2069,6 +2079,16 @@ et les ID de package correspondants aux outils installés, utilisez la commande Exécutez des commandes VSTest (Microsoft Test Engine). + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Démarrez un observateur de fichier qui exécute une commande quand les fichiers changent. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf index a4ecc79c41ba..ec71ee5e9c87 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.it.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Il progetto è destinato a più framework. Specificare il framework da eseguire '{0}' non è un file di progetto valido. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Avviso: le impostazioni di "{0}" non vengono usate perché "{1}" ha la precedenza. @@ -2069,6 +2079,16 @@ e gli ID pacchetto corrispondenti per gli strumenti installati usando il comando Esegue i comandi di Microsoft Test Engine (VSTest). + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Avvia un controllo file che esegue un comando in caso di modifica dei file. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf index 32e862d8da98..d129d876345f 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ja.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Your project targets multiple frameworks. Specify which framework to run using ' '{0}' は有効なプロジェクト ファイルではありません。 + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. 警告: '{1}' が優先されるため、'{0}' の設定は使用されません。 @@ -2069,6 +2079,16 @@ and the corresponding package Ids for installed tools using the command Microsoft Test Engine (VSTest) コマンドを実行します。 + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. ファイルが変更されたときにコマンドを実行するファイル ウォッチャーを起動します。 diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf index da738b37cbe7..06af364db1f7 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ko.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Your project targets multiple frameworks. Specify which framework to run using ' '{0}'은(는) 유효한 프로젝트 파일이 아닙니다. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. 경고: '{0}'의 설정은 '{1}'이(가) 우선하므로 사용되지 않습니다. @@ -2069,6 +2079,16 @@ and the corresponding package Ids for installed tools using the command Microsoft Test Engine(VSTest) 명령을 실행합니다. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. 파일이 변경되면 명령을 실행하는 파일 감시자를 시작합니다. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf index da4ba95c1ea4..65737b51140a 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pl.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Projekt ma wiele platform docelowych. Określ platformę do uruchomienia przy u „{0}” nie jest prawidłowym plikiem projektu. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Ostrzeżenie: ustawienia z „{0}” nie są używane, ponieważ element „{1}” ma pierwszeństwo. @@ -2069,6 +2079,16 @@ i odpowiednie identyfikatory pakietów zainstalowanych narzędzi można znaleź Uruchom polecenia aparatu Microsoft Test Engine (VSTest). + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Rozpocznij pracę obserwatora plików służącego do uruchamiania polecenia po wprowadzeniu zmian w plikach. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf index 426840b2d695..35e1bec6efbe 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.pt-BR.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Ele tem diversas estruturas como destino. Especifique que estrutura executar usa '{0}' não é um arquivo de projeto válido. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Aviso: As configurações de '{0}' não são utilizadas porque '{1}' tem precedência. @@ -2069,6 +2079,16 @@ e as Ids de pacote correspondentes para as ferramentas instaladas usando o coman Executar comandos do VSTest (Microsoft Test Engine). + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Inicie um observador de arquivo que executa um comando quando os arquivos são alterados. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf index f9978ef192fe..b9158636ca3b 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.ru.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Your project targets multiple frameworks. Specify which framework to run using ' "{0}" не является допустимым файлом проекта. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Внимание! Параметры из "{0}" не используются, так как "{1}" обладает приоритетом. @@ -2070,6 +2080,16 @@ and the corresponding package Ids for installed tools using the command Выполнение команд Microsoft Test Engine (VSTest). + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Запуск наблюдателя за файлами, который выполняет команду при изменении файлов. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf index a702754d4ca1..6ece903c03dd 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.tr.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Projeniz birden fazla Framework'ü hedefliyor. '{0}' kullanarak hangi Framework' '{0}' geçerli bir proje dosyası değil. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. Uyarı: ‘{1}’ öncelikli olduğu için ‘{0}’ ayarları kullanılmaz. @@ -2069,6 +2079,16 @@ karşılık gelen paket kimliklerini bulmak için Microsoft Test Engine (VSTest) komutlarını çalıştırır. + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. Dosyalar değiştiğinde bir komut çalıştıran bir dosya izleyici başlatın. diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf index 97f4b9fe46cf..4e8c3ce5f26b 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Your project targets multiple frameworks. Specify which framework to run using ' “{0}”不是有效的项目文件。 + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. 警告: 不使用 ‘{0}’ 中的设置,因为 ‘{1}’ 具有优先级。 @@ -2069,6 +2079,16 @@ and the corresponding package Ids for installed tools using the command 运行 Microsoft 测试引擎(VSTest)命令。 + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. 启动文件观察程序,它会在文件发生更改时运行命令。 diff --git a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf index c3c7ed0d05c9..4e539b59c7a8 100644 --- a/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/Commands/xlf/CliCommandStrings.zh-Hant.xlf @@ -1,4 +1,4 @@ - + @@ -1498,6 +1498,16 @@ Your project targets multiple frameworks. Specify which framework to run using ' '{0}' 並非有效的專案名稱。 + + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' looks like a file-based app but the file was not found, and it was passed as an argument to the project '{1}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the .cs file path argument. {1} is the project file path.{Locked="dotnet run --"} + + + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + Warning: '{0}' appears to be a file-based app but was passed as an argument to the project '{1}'. To run it as a file-based app, use 'dotnet run --file {0}'. To pass it as an application argument, use 'dotnet run -- {0}' to suppress this warning. + {0} is the file path argument. {1} is the project file path.{Locked="dotnet run --file"}{Locked="dotnet run --"} + Warning: Settings from '{0}' are not used because '{1}' has precedence. 警告: 來自 '{0}' 的設定未被使用,因為 '{1}' 具有優先順序。 @@ -2069,6 +2079,16 @@ and the corresponding package Ids for installed tools using the command 執行 Microsoft Test Engine (VSTest) 命令。 + + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + Warning: '{0}' looks like a file-based app but the file was not found, and it was treated as an MSBuild argument. + {0} is the .cs file path argument. + + + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + Warning: '{0}' appears to be a file-based app but was treated as an MSBuild argument. To treat it as a file-based app, use 'dotnet {1} {0}'. + {0} is the file path argument. {1} is the command name (e.g. build, clean, publish).{Locked="dotnet"} + Start a file watcher that runs a command when files change. 啟動會在檔案變更時執行命令的檔案監看員。 diff --git a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs index 44356531c095..02d4fbd7f110 100644 --- a/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs +++ b/test/dotnet.Tests/CommandTests/Run/RunFileTests.cs @@ -754,7 +754,8 @@ public void ProjectPath_Exists() .WithWorkingDirectory(testInstance.Path) .Execute() .Should().Pass() - .And.HaveStdOutContaining(""" + .And.NotHaveStdErr() + .And.HaveStdOut(""" echo args:./App.csproj Hello from App """); @@ -773,9 +774,8 @@ public void ProjectInCurrentDirectory_NoRunVerb() .WithWorkingDirectory(Path.Join(testInstance.Path, "proj")) .Execute() .Should().Pass() - .And.HaveStdOutContaining(""" - Hello from Program - """); + .And.NotHaveStdErr() + .And.HaveStdOut("Hello from Program"); } [Fact] @@ -791,11 +791,263 @@ public void ProjectInCurrentDirectory_FileOption() .WithWorkingDirectory(Path.Join(testInstance.Path, "proj")) .Execute() .Should().Pass() - .And.HaveStdOutContaining(""" - Hello from Program + .And.NotHaveStdErr() + .And.HaveStdOut("Hello from Program"); + } + + /// + /// dotnet run --project App.csproj Program.cs does not warn + /// because --project was explicitly specified. + /// + [Fact] + public void ProjectInCurrentDirectory_ProjectOption_NoWarning() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "--project", "App.csproj", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdErr() + .And.HaveStdOut(""" + echo args:Program.cs + Hello from App """); } + /// + /// dotnet run file.cs in a directory with a project file warns + /// because file.cs is passed as an application argument to the project instead of running as a file-based program. + /// + [Fact] + public void ProjectInCurrentDirectory_Warns() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(""" + echo args:Program.cs + Hello from App + """) + .And.HaveStdErrContaining(string.Format( + CliCommandStrings.RunCommandWarningFileArgumentPassedToProject, + "Program.cs", + Path.Join(testInstance.Path, "App.csproj"))); + } + + /// + /// dotnet run nonexistent.cs in a directory with a project file warns + /// even though the file does not exist, because the .cs extension suggests it was intended as a file-based program. + /// + [Fact] + public void ProjectInCurrentDirectory_NonExistentCsFile_Warns() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "nonexistent.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(""" + echo args:nonexistent.cs + Hello from App + """) + .And.HaveStdErrContaining(string.Format( + CliCommandStrings.RunCommandWarningCsFileArgumentPassedToProject, + "nonexistent.cs", + Path.Join(testInstance.Path, "App.csproj"))); + } + + /// + /// dotnet run -- file.cs in a directory with a project file does not warn + /// because -- signals that the arguments are intentional. + /// + [Fact] + public void ProjectInCurrentDirectory_DoubleDash_NoWarning() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "--", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(""" + echo args:Program.cs + Hello from App + """) + .And.NotHaveStdErr(); + } + + /// + /// dotnet run file.cs -- other still warns because file.cs appears before --. + /// + [Fact] + public void ProjectInCurrentDirectory_DoubleDashAfterFile_Warns() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "Program.cs", "--", "otherArg") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(""" + echo args:Program.cs;otherArg + Hello from App + """) + .And.HaveStdErrContaining(string.Format( + CliCommandStrings.RunCommandWarningFileArgumentPassedToProject, + "Program.cs", + Path.Join(testInstance.Path, "App.csproj"))); + } + + /// + /// dotnet run someArg file.cs in a directory with a project warns + /// when an unrecognized argument prevents file.cs from being treated as a file-based program entry point. + /// + [Fact] + public void ProjectInCurrentDirectory_UnrecognizedArg_Warns() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "someArg", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(""" + echo args:someArg;Program.cs + Hello from App + """) + .And.HaveStdErrContaining(string.Format( + CliCommandStrings.RunCommandWarningFileArgumentPassedToProject, + "Program.cs", + Path.Join(testInstance.Path, "App.csproj"))); + } + + /// + /// dotnet run -c Release Program.cs in a directory with a project warns because + /// known options like -c don't suppress the warning; only --project, --file, or -- do. + /// + [Fact] + public void ProjectInCurrentDirectory_KnownOption_Warns() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "-c", "Release", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(""" + echo args:Program.cs + Hello from App + Release config + """) + .And.HaveStdErrContaining(string.Format( + CliCommandStrings.RunCommandWarningFileArgumentPassedToProject, + "Program.cs", + Path.Join(testInstance.Path, "App.csproj"))); + } + + /// + /// dotnet run someArg -- file.cs does not warn because the .cs file is after --. + /// + [Fact] + public void ProjectInCurrentDirectory_UnrecognizedArg_DoubleDash_NoWarning() + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + File.WriteAllText(Path.Join(testInstance.Path, "App.csproj"), s_consoleProject); + + new DotnetCommand(Log, "run", "someArg", "--", "Program.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.HaveStdOut(""" + echo args:someArg;Program.cs + Hello from App + """) + .And.NotHaveStdErr(); + } + + /// + /// dotnet build someArg Program.cs warns because 'Program.cs' is a valid file-based entry point + /// but additional positional arguments cause it to fall back to MSBuild. + /// + [Theory] + [InlineData("build", "someArg", "Program.cs")] + [InlineData("clean", "someArg", "Program.cs")] + [InlineData("publish", "someArg", "Program.cs")] + [InlineData("build", "Program.cs", "-consoleLoggerParameters:NoSummary")] + public void ExtraArgWithFileEntryPoint_Warns(string command, string arg1, string arg2) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + + new DotnetCommand(Log, command, arg1, arg2) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(string.Format( + CliCommandStrings.WarningFileArgumentPassedToMSBuild, + "Program.cs", + command)); + } + + /// + /// dotnet build nonexistent.cs warns because the .cs extension suggests it was intended as a file-based program. + /// + [Theory] + [InlineData("build")] + [InlineData("clean")] + [InlineData("publish")] + public void NonExistentCsFile_Warns(string command) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + + new DotnetCommand(Log, command, "nonexistent.cs") + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Fail() + .And.HaveStdErrContaining(string.Format( + CliCommandStrings.WarningCsFileArgumentPassedToMSBuild, + "nonexistent.cs", + command)); + } + + /// + /// dotnet build --no-incremental Program.cs is handled as file-based (known option + single positional arg) and does not warn. + /// + [Theory] + [InlineData("Program.cs")] + [InlineData("--no-incremental", "Program.cs")] + public void SingleFileEntryPoint_NoWarning(params string[] extraArgs) + { + var testInstance = _testAssetsManager.CreateTestDirectory(); + File.WriteAllText(Path.Join(testInstance.Path, "Program.cs"), s_program); + + new DotnetCommand(Log, ["build", .. extraArgs]) + .WithWorkingDirectory(testInstance.Path) + .Execute() + .Should().Pass() + .And.NotHaveStdErr(); + } + /// /// When a file is not a .cs file, we probe the first characters of the file for #!, and /// execute as a single file program if we find them. From ea548bf9405d2bed8a0d1d178bf094af110182b7 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Fri, 17 Apr 2026 11:40:56 -0700 Subject: [PATCH 133/137] Update branding and implicit version --- eng/Versions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 241a90b546b9..c0a2ff695f62 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -6,7 +6,7 @@ 10 0 - 3 + 4 0 $([System.String]::Copy('$(VersionSDKMinorPatch)').PadLeft(2, '0')) - 25 - 14 + 26 + 15 <_NET70ILLinkPackVersion>7.0.100-1.23211.1 From c1eb8baef4b8bc57f10725299e5a770621935996 Mon Sep 17 00:00:00 2001 From: Jan Jones Date: Mon, 20 Apr 2026 14:58:44 +0200 Subject: [PATCH 134/137] Update sarif files to 10.0.400 --- .../src/Microsoft.CodeAnalysis.NetAnalyzers.sarif | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif index b2710e8f8fbd..3896133aaa7b 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/src/Microsoft.CodeAnalysis.NetAnalyzers.sarif @@ -5,7 +5,7 @@ { "tool": { "name": "Microsoft.CodeAnalysis.CSharp.NetAnalyzers", - "version": "10.0.300", + "version": "10.0.400", "language": "en-US" }, "rules": { @@ -727,7 +727,7 @@ { "tool": { "name": "Microsoft.CodeAnalysis.NetAnalyzers", - "version": "10.0.300", + "version": "10.0.400", "language": "en-US" }, "rules": { @@ -6522,7 +6522,7 @@ { "tool": { "name": "Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers", - "version": "10.0.300", + "version": "10.0.400", "language": "en-US" }, "rules": { From dd0895d897c5d41811bc31e87964dd04e88b264d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 20 Apr 2026 22:08:01 +0000 Subject: [PATCH 135/137] Reset files to main Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/* --- NuGet.config | 2 + eng/Version.Details.props | 280 ++++--- eng/Version.Details.xml | 688 +++++++++--------- eng/common/SetupNugetSources.ps1 | 17 +- eng/common/SetupNugetSources.sh | 17 +- eng/common/build.ps1 | 2 + eng/common/build.sh | 8 +- eng/common/core-templates/job/job.yml | 13 +- .../job/publish-build-assets.yml | 24 +- eng/common/core-templates/job/renovate.yml | 196 +++++ .../job/source-index-stage1.yml | 6 +- eng/common/core-templates/jobs/jobs.yml | 5 - .../core-templates/post-build/post-build.yml | 506 ++++++------- .../post-build/setup-maestro-vars.yml | 5 +- eng/common/core-templates/stages/renovate.yml | 111 +++ .../steps/component-governance.yml | 16 + .../core-templates/steps/generate-sbom.yml | 60 +- .../steps/install-microbuild-impl.yml | 34 + .../steps/install-microbuild.yml | 64 +- .../core-templates/steps/publish-logs.yml | 9 +- .../core-templates/steps/source-build.yml | 4 +- .../steps/source-index-stage1-publish.yml | 8 +- eng/common/cross/build-rootfs.sh | 81 ++- eng/common/cross/toolchain.cmake | 15 +- eng/common/darc-init.sh | 2 +- eng/common/dotnet-install.sh | 2 +- eng/common/dotnet.sh | 2 +- eng/common/generate-sbom-prep.ps1 | 29 + eng/common/generate-sbom-prep.sh | 39 + eng/common/internal-feed-operations.sh | 2 +- eng/common/native/init-distro-rid.sh | 2 + eng/common/native/install-dependencies.sh | 11 +- eng/common/post-build/redact-logs.ps1 | 3 +- eng/common/renovate.env | 42 ++ eng/common/template-guidance.md | 5 +- eng/common/templates-official/job/job.yml | 57 +- .../steps/component-governance.yml | 7 + .../steps/publish-pipeline-artifacts.yml | 4 +- eng/common/templates/job/job.yml | 53 +- .../templates/steps/component-governance.yml | 7 + eng/common/tools.ps1 | 18 +- eng/common/tools.sh | 16 +- global.json | 6 +- 43 files changed, 1489 insertions(+), 989 deletions(-) create mode 100644 eng/common/core-templates/job/renovate.yml create mode 100644 eng/common/core-templates/stages/renovate.yml create mode 100644 eng/common/core-templates/steps/component-governance.yml create mode 100644 eng/common/core-templates/steps/install-microbuild-impl.yml create mode 100644 eng/common/generate-sbom-prep.ps1 create mode 100644 eng/common/generate-sbom-prep.sh create mode 100644 eng/common/renovate.env create mode 100644 eng/common/templates-official/steps/component-governance.yml create mode 100644 eng/common/templates/steps/component-governance.yml diff --git a/NuGet.config b/NuGet.config index f3f728c95515..4e8eb7f42e2c 100644 --- a/NuGet.config +++ b/NuGet.config @@ -23,6 +23,8 @@ + + diff --git a/eng/Version.Details.props b/eng/Version.Details.props index 82e48abcaa25..4d5ecaecb064 100644 --- a/eng/Version.Details.props +++ b/eng/Version.Details.props @@ -8,145 +8,135 @@ This file should be imported by eng/Versions.props 2.1.0 - 10.0.6-servicing.26176.101 - 10.0.6-servicing.26176.101 - 10.0.6-servicing.26176.101 - 10.0.6-servicing.26176.101 - 10.0.6 - 10.0.6-servicing.26176.101 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26176.101 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26176.101 - 10.0.6 - 10.0.6-servicing.26176.101 - 10.0.6-servicing.26176.101 - 10.0.0-preview.26216.115 - 10.0.6 - 10.0.6 - 18.6.0-preview-26216-115 - 18.6.0-preview-26216-115 - 7.6.0-rc.21715 - 10.0.300-alpha.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 10.0.0-preview.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 2.0.0-preview.1.26176.101 - 2.2.6 - 10.0.0-beta.26216.115 - 10.0.0-beta.26216.115 - 10.0.0-beta.26216.115 - 10.0.0-beta.26216.115 - 10.0.0-beta.26216.115 - 10.0.0-beta.26216.115 - 10.0.6 - 10.0.6 - 10.0.6-servicing.26176.101 - 10.0.6-servicing.26176.101 - 10.0.0-beta.26216.115 - 10.0.0-beta.26216.115 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 15.2.300-servicing.26216.115 - 10.0.6 - 5.6.0-2.26216.115 - 5.6.0-2.26216.115 - 10.0.6-servicing.26176.101 - 10.0.6 - 10.0.6 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 10.0.0-preview.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 18.6.0-preview-26208-110 + 18.6.0-preview-26208-110 + 7.6.0-rc.20910 + 11.0.100-preview.4.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 10.0.0-preview.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 2.0.0-preview.1.26208.110 + 3.0.0-preview.4.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-beta.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 15.2.100-preview4.26208.110 + 11.0.0-preview.4.26208.110 + 5.7.0-1.26208.110 + 5.7.0-1.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 10.0.0-preview.7.25377.103 - 10.0.0-preview.26216.115 - 10.0.6-servicing.26176.101 - 18.3.0-release-26216-115 - 10.0.6 - 10.0.6-servicing.26176.101 - 10.0.300-alpha.26216.115 - 10.0.300-alpha.26216.115 - 10.0.300-alpha.26216.115 - 10.0.300-alpha.26216.115 - 10.0.300-alpha.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 10.0.300-preview.26216.115 - 18.3.0-release-26216-115 - 18.3.0-release-26216-115 - 3.2.6 - 10.0.6 - 10.0.6-servicing.26176.101 - 10.0.6 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 7.6.0-rc.21715 - 10.0.6 - 2.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 - 10.0.6 + 10.0.0-preview.26208.110 + 11.0.0-preview.4.26208.110 + 18.7.0-preview-26208-110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.100-preview.4.26208.110 + 11.0.100-preview.4.26208.110 + 11.0.100-preview.4.26208.110 + 11.0.100-preview.4.26208.110 + 11.0.100-preview.4.26208.110 + 18.7.0-preview-26208-110 + 18.7.0-preview-26208-110 + 3.3.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 7.6.0-rc.20910 + 11.0.0-preview.4.26208.110 + 3.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 + 11.0.0-preview.4.26208.110 - 2.1.0-preview.25571.1 - 4.1.0-preview.25571.1 + 2.3.0-preview.26219.1 + 4.3.0-preview.26219.1 @@ -193,7 +183,6 @@ This file should be imported by eng/Versions.props $(MicrosoftCodeAnalysisRazorToolingInternalPackageVersion) $(MicrosoftCodeAnalysisWorkspacesCommonPackageVersion) $(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion) - $(MicrosoftCodeAnalysisWorkspacesMSBuildBuildHostPackageVersion) $(MicrosoftDeploymentDotNetReleasesPackageVersion) $(MicrosoftDiaSymReaderPackageVersion) $(MicrosoftDotNetArcadeSdkPackageVersion) @@ -202,12 +191,12 @@ This file should be imported by eng/Versions.props $(MicrosoftDotNetBuildTasksWorkloadsPackageVersion) $(MicrosoftDotNetHelixSdkPackageVersion) $(MicrosoftDotNetSignToolPackageVersion) - $(MicrosoftDotNetWebItemTemplates100PackageVersion) - $(MicrosoftDotNetWebProjectTemplates100PackageVersion) + $(MicrosoftDotNetWebItemTemplates110PackageVersion) + $(MicrosoftDotNetWebProjectTemplates110PackageVersion) $(MicrosoftDotnetWinFormsProjectTemplatesPackageVersion) $(MicrosoftDotNetWpfProjectTemplatesPackageVersion) $(MicrosoftDotNetXliffTasksPackageVersion) - $(MicrosoftDotNetXUnitExtensionsPackageVersion) + $(MicrosoftDotNetXUnitV3ExtensionsPackageVersion) $(MicrosoftExtensionsConfigurationIniPackageVersion) $(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion) $(MicrosoftExtensionsDependencyModelPackageVersion) @@ -236,15 +225,6 @@ This file should be imported by eng/Versions.props $(MicrosoftSourceLinkCommonPackageVersion) $(MicrosoftSourceLinkGitHubPackageVersion) $(MicrosoftSourceLinkGitLabPackageVersion) - $(MicrosoftTemplateEngineAbstractionsPackageVersion) - $(MicrosoftTemplateEngineAuthoringTemplateVerifierPackageVersion) - $(MicrosoftTemplateEngineEdgePackageVersion) - $(MicrosoftTemplateEngineMocksPackageVersion) - $(MicrosoftTemplateEngineOrchestratorRunnableProjectsPackageVersion) - $(MicrosoftTemplateEngineTestHelperPackageVersion) - $(MicrosoftTemplateEngineUtilsPackageVersion) - $(MicrosoftTemplateSearchCommonPackageVersion) - $(MicrosoftTemplateSearchTemplateDiscoveryPackageVersion) $(MicrosoftTestPlatformBuildPackageVersion) $(MicrosoftTestPlatformCLIPackageVersion) $(MicrosoftWebXdtPackageVersion) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5b32d0e3744e..7319b24bd706 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,62 +1,26 @@ - + - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 - - - https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 - - - https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 - - - https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 - - - https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 @@ -68,174 +32,174 @@ https://github.com/dotnet/dotnet 6a953e76162f3f079405f80e28664fa51b136740 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 + + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/dotnet/dotnet - 7141470de2a1582db15ae6886e361ead12efb3d8 + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 - + https://github.com/microsoft/testfx - 43e592148ac1c7916908477bdffcf2a345affa6d + 2f487896471027b0c37c24b2d5b58cd20a195427 - + https://github.com/microsoft/testfx - 43e592148ac1c7916908477bdffcf2a345affa6d + 2f487896471027b0c37c24b2d5b58cd20a195427 - - https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet - 47fb725acf5d7094af51aebbb5b7e5c44a3b2a77 + + https://github.com/dotnet/dotnet + 0cf6b19ed68d2d52e097e6af6d6046b4eeefefe2 diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1 index 65ed3a8adef0..fc8d618014e0 100644 --- a/eng/common/SetupNugetSources.ps1 +++ b/eng/common/SetupNugetSources.ps1 @@ -1,7 +1,6 @@ # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, -# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. -# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables +# disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # @@ -174,16 +173,4 @@ foreach ($dotnetVersion in $dotnetVersions) { } } -# Check for dotnet-eng and add dotnet-eng-internal if present -$dotnetEngSource = $sources.SelectSingleNode("add[@key='dotnet-eng']") -if ($dotnetEngSource -ne $null) { - AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-eng-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password -} - -# Check for dotnet-tools and add dotnet-tools-internal if present -$dotnetToolsSource = $sources.SelectSingleNode("add[@key='dotnet-tools']") -if ($dotnetToolsSource -ne $null) { - AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "dotnet-tools-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password -} - $doc.Save($filename) diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh index b2163abbe71b..b97cc536379d 100755 --- a/eng/common/SetupNugetSources.sh +++ b/eng/common/SetupNugetSources.sh @@ -1,9 +1,8 @@ #!/usr/bin/env bash # This script adds internal feeds required to build commits that depend on internal package sources. For instance, -# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. Similarly, -# dotnet-eng-internal and dotnet-tools-internal are added if dotnet-eng and dotnet-tools are present. -# In addition, this script also enables disabled internal Maestro (darc-int*) feeds. +# dotnet6-internal would be added automatically if dotnet6 was found in the nuget.config file. In addition also enables +# disabled internal Maestro (darc-int*) feeds. # # Optionally, this script also adds a credential entry for each of the internal feeds if supplied. # @@ -174,18 +173,6 @@ for DotNetVersion in ${DotNetVersions[@]} ; do fi done -# Check for dotnet-eng and add dotnet-eng-internal if present -grep -i " /dev/null -if [ "$?" == "0" ]; then - AddOrEnablePackageSource "dotnet-eng-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-eng-internal/nuget/$FeedSuffix" -fi - -# Check for dotnet-tools and add dotnet-tools-internal if present -grep -i " /dev/null -if [ "$?" == "0" ]; then - AddOrEnablePackageSource "dotnet-tools-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet-tools-internal/nuget/$FeedSuffix" -fi - # I want things split line by line PrevIFS=$IFS IFS=$'\n' diff --git a/eng/common/build.ps1 b/eng/common/build.ps1 index 8cfee107e7a3..18397a60eb85 100644 --- a/eng/common/build.ps1 +++ b/eng/common/build.ps1 @@ -6,6 +6,7 @@ Param( [string][Alias('v')]$verbosity = "minimal", [string] $msbuildEngine = $null, [bool] $warnAsError = $true, + [string] $warnNotAsError = '', [bool] $nodeReuse = $true, [switch] $buildCheck = $false, [switch][Alias('r')]$restore, @@ -70,6 +71,7 @@ function Print-Usage() { Write-Host " -excludeCIBinarylog Don't output binary log (short: -nobl)" Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build" Write-Host " -warnAsError Sets warnaserror msbuild parameter ('true' or 'false')" + Write-Host " -warnNotAsError Sets a semi-colon delimited list of warning codes that should not be treated as errors" Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)." Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio" Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)" diff --git a/eng/common/build.sh b/eng/common/build.sh index 9767bb411a4f..5883e53bcfb1 100755 --- a/eng/common/build.sh +++ b/eng/common/build.sh @@ -42,6 +42,7 @@ usage() echo " --prepareMachine Prepare machine for CI run, clean up processes after build" echo " --nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')" echo " --warnAsError Sets warnaserror msbuild parameter ('true' or 'false')" + echo " --warnNotAsError Sets a semi-colon delimited list of warning codes that should not be treated as errors" echo " --buildCheck Sets /check msbuild parameter" echo " --fromVMR Set when building from within the VMR" echo "" @@ -78,6 +79,7 @@ ci=false clean=false warn_as_error=true +warn_not_as_error='' node_reuse=true build_check=false binary_log=false @@ -92,7 +94,7 @@ runtime_source_feed='' runtime_source_feed_key='' properties=() -while [[ $# > 0 ]]; do +while [[ $# -gt 0 ]]; do opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")" case "$opt" in -help|-h) @@ -176,6 +178,10 @@ while [[ $# > 0 ]]; do warn_as_error=$2 shift ;; + -warnnotaserror) + warn_not_as_error=$2 + shift + ;; -nodereuse) node_reuse=$2 shift diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml index eaed6d87e653..748c4f07a64d 100644 --- a/eng/common/core-templates/job/job.yml +++ b/eng/common/core-templates/job/job.yml @@ -19,17 +19,19 @@ parameters: # publishing defaults artifacts: '' enableMicrobuild: false + enablePreviewMicrobuild: false + microbuildPluginVersion: 'latest' enableMicrobuildForMacAndLinux: false microbuildUseESRP: true enablePublishBuildArtifacts: false enablePublishBuildAssets: false enablePublishTestResults: false - enablePublishing: false enableBuildRetry: false mergeTestResults: false testRunTitle: '' testResultsFormat: '' name: '' + componentGovernanceSteps: [] preSteps: [] artifactPublishSteps: [] runAsPublic: false @@ -71,6 +73,8 @@ jobs: templateContext: ${{ parameters.templateContext }} variables: + - name: AllowPtrToDetectTestRunRetryFiles + value: true - ${{ if ne(parameters.enableTelemetry, 'false') }}: - name: DOTNET_CLI_TELEMETRY_PROFILE value: '$(Build.Repository.Uri)' @@ -128,6 +132,8 @@ jobs: - template: /eng/common/core-templates/steps/install-microbuild.yml parameters: enableMicrobuild: ${{ parameters.enableMicrobuild }} + enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }} + microbuildPluginVersion: ${{ parameters.microbuildPluginVersion }} enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} microbuildUseESRP: ${{ parameters.microbuildUseESRP }} continueOnError: ${{ parameters.continueOnError }} @@ -146,10 +152,15 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} + - ${{ each step in parameters.componentGovernanceSteps }}: + - ${{ step }} + - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - template: /eng/common/core-templates/steps/cleanup-microbuild.yml parameters: enableMicrobuild: ${{ parameters.enableMicrobuild }} + enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }} + microbuildPluginVersion: ${{ parameters.microbuildPluginVersion }} enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }} continueOnError: ${{ parameters.continueOnError }} diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml index 06f2eed0323d..9d7490518c48 100644 --- a/eng/common/core-templates/job/publish-build-assets.yml +++ b/eng/common/core-templates/job/publish-build-assets.yml @@ -91,8 +91,8 @@ jobs: fetchDepth: 3 clean: true - - ${{ if eq(parameters.isAssetlessBuild, 'false') }}: - - ${{ if eq(parameters.publishingVersion, 3) }}: + - ${{ if eq(parameters.isAssetlessBuild, 'false') }}: + - ${{ if eq(parameters.publishingVersion, 3) }}: - task: DownloadPipelineArtifact@2 displayName: Download Asset Manifests inputs: @@ -117,7 +117,7 @@ jobs: flattenFolders: true condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} - + - task: NuGetAuthenticate@1 # Populate internal runtime variables. @@ -125,7 +125,7 @@ jobs: ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: parameters: legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) - + - template: /eng/common/templates/steps/enable-internal-runtimes.yml - task: AzureCLI@2 @@ -145,7 +145,7 @@ jobs: condition: ${{ parameters.condition }} continueOnError: ${{ parameters.continueOnError }} - + - task: powershell@2 displayName: Create ReleaseConfigs Artifact inputs: @@ -172,18 +172,17 @@ jobs: targetPath: '$(Build.ArtifactStagingDirectory)/MergedManifest.xml' artifactName: AssetManifests displayName: 'Publish Merged Manifest' - retryCountOnTaskFailure: 10 # for any files being locked - isProduction: false # just metadata for publishing + retryCountOnTaskFailure: 10 # for any logs being locked + sbomEnabled: false # we don't need SBOM for logs - - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml + - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: displayName: Publish ReleaseConfigs Artifact - targetPath: '$(Build.StagingDirectory)/ReleaseConfigs' + pathToPublish: '$(Build.StagingDirectory)/ReleaseConfigs' + publishLocation: Container artifactName: ReleaseConfigs - retryCountOnTaskFailure: 10 # for any files being locked - isProduction: false # just metadata for publishing - ${{ if or(eq(parameters.publishAssetsImmediately, 'true'), eq(parameters.isAssetlessBuild, 'true')) }}: - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -191,7 +190,7 @@ jobs: BARBuildId: ${{ parameters.BARBuildId }} PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} is1ESPipeline: ${{ parameters.is1ESPipeline }} - + # Darc is targeting 8.0, so make sure it's installed - task: UseDotNet@2 inputs: @@ -219,5 +218,4 @@ jobs: - template: /eng/common/core-templates/steps/publish-logs.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} - StageLabel: 'BuildAssetRegistry' JobLabel: 'Publish_Artifacts_Logs' diff --git a/eng/common/core-templates/job/renovate.yml b/eng/common/core-templates/job/renovate.yml new file mode 100644 index 000000000000..ab233539b5dc --- /dev/null +++ b/eng/common/core-templates/job/renovate.yml @@ -0,0 +1,196 @@ +# -------------------------------------------------------------------------------------- +# Renovate Bot Job Template +# -------------------------------------------------------------------------------------- +# This Azure DevOps pipeline job template runs Renovate (https://docs.renovatebot.com/) +# to automatically update dependencies in a GitHub repository. +# +# Renovate scans the repository for dependency files and creates pull requests to update +# outdated dependencies based on the configuration specified in the renovateConfigPath +# parameter. +# +# Usage: +# For each product repo wanting to make use of Renovate, this template is called from +# an internal Azure DevOps pipeline, typically with a schedule trigger, to check for +# and propose dependency updates. +# +# For more info, see https://github.com/dotnet/arcade/blob/main/Documentation/Renovate.md +# -------------------------------------------------------------------------------------- + +parameters: + +# Path to the Renovate configuration file within the repository. +- name: renovateConfigPath + type: string + default: 'eng/renovate.json' + +# GitHub repository to run Renovate against, in the format 'owner/repo'. +# This could technically be any repo but convention is to target the same +# repo that contains the calling pipeline. The Renovate config file would +# be co-located with the pipeline's repo and, in most cases, the config +# file is specific to the repo being targeted. +- name: gitHubRepo + type: string + +# List of base branches to target for Renovate PRs. +# NOTE: The Renovate configuration file is always read from the branch where the +# pipeline is run, NOT from the target branches specified here. If you need different +# configurations for different branches, run the pipeline from each branch separately. +- name: baseBranches + type: object + default: + - main + +# When true, Renovate will run in dry run mode, which previews changes without creating PRs. +# See the 'Run Renovate' step log output for details of what would have been changed. +- name: dryRun + type: boolean + default: false + +# By default, Renovate will not recreate a PR for a given dependency/version pair that was +# previously closed. This allows opting in to always recreating PRs even if they were +# previously closed. +- name: forceRecreatePR + type: boolean + default: false + +# Name of the arcade repository resource in the pipeline. +# This allows repos which haven't been onboarded to Arcade to still use this +# template by checking out the repo as a resource with a custom name and pointing +# this parameter to it. +- name: arcadeRepoResource + type: string + default: self + +# Directory name for the self repo under $(Build.SourcesDirectory) in multi-checkout. +# In multi-checkout (when arcadeRepoResource != 'self'), Azure DevOps checks out the +# self repo to $(Build.SourcesDirectory)/. Set this to match the auto-generated +# directory name. Using the auto-generated name is necessary rather than explicitly +# defining a checkout path because container jobs expect repos to live under the agent's +# workspace ($(Pipeline.Workspace)). On some self-hosted setups the host path +# (e.g., /mnt/vss/_work) differs from the container path (e.g., /__w), and a custom checkout +# path can fail validation. Using the default checkout location keeps the paths consistent +# and avoids this issue. +- name: selfRepoName + type: string + default: '' +- name: arcadeRepoName + type: string + default: '' + +# Pool configuration for the job. +- name: pool + type: object + default: + name: NetCore1ESPool-Internal + image: build.azurelinux.3.amd64 + os: linux + +jobs: +- job: Renovate + displayName: Run Renovate + container: RenovateContainer + variables: + - group: dotnet-renovate-bot + # The Renovate version is automatically updated by https://github.com/dotnet/arcade/blob/main/azure-pipelines-renovate.yml. + # Changing the variable name here would require updating the name in https://github.com/dotnet/arcade/blob/main/eng/renovate.json as well. + - name: renovateVersion + value: '42' + readonly: true + - name: renovateLogFilePath + value: '$(Build.ArtifactStagingDirectory)/renovate.json' + readonly: true + - name: dryRunArg + readonly: true + ${{ if eq(parameters.dryRun, true) }}: + value: 'full' + ${{ else }}: + value: '' + - name: recreateWhenArg + readonly: true + ${{ if eq(parameters.forceRecreatePR, true) }}: + value: 'always' + ${{ else }}: + value: '' + # In multi-checkout (without custom paths), Azure DevOps places each repo under + # $(Build.SourcesDirectory)/. selfRepoName must be provided in that case. + - name: selfRepoPath + readonly: true + ${{ if eq(parameters.arcadeRepoResource, 'self') }}: + value: '$(Build.SourcesDirectory)' + ${{ else }}: + value: '$(Build.SourcesDirectory)/${{ parameters.selfRepoName }}' + - name: arcadeRepoPath + readonly: true + ${{ if eq(parameters.arcadeRepoResource, 'self') }}: + value: '$(Build.SourcesDirectory)' + ${{ else }}: + value: '$(Build.SourcesDirectory)/${{ parameters.arcadeRepoName }}' + pool: ${{ parameters.pool }} + + templateContext: + outputParentDirectory: $(Build.ArtifactStagingDirectory) + outputs: + - output: pipelineArtifact + displayName: Publish Renovate Log + condition: succeededOrFailed() + targetPath: $(Build.ArtifactStagingDirectory) + artifactName: $(Agent.JobName)_Logs_Attempt$(System.JobAttempt) + sbomEnabled: false + + steps: + - checkout: self + fetchDepth: 1 + + - ${{ if ne(parameters.arcadeRepoResource, 'self') }}: + - checkout: ${{ parameters.arcadeRepoResource }} + fetchDepth: 1 + + - script: | + renovate-config-validator $(selfRepoPath)/${{parameters.renovateConfigPath}} 2>&1 | tee /tmp/renovate-config-validator.out + validatorExit=${PIPESTATUS[0]} + if grep -q '^ WARN:' /tmp/renovate-config-validator.out; then + echo "##vso[task.logissue type=warning]Renovate config validator produced warnings." + echo "##vso[task.complete result=SucceededWithIssues]" + fi + exit $validatorExit + displayName: Validate Renovate config + env: + LOG_LEVEL: info + LOG_FILE_LEVEL: debug + LOG_FILE: $(Build.ArtifactStagingDirectory)/renovate-config-validator.json + + - script: | + . $(arcadeRepoPath)/eng/common/renovate.env + renovate 2>&1 | tee /tmp/renovate.out + renovateExit=${PIPESTATUS[0]} + if grep -q '^ WARN:' /tmp/renovate.out; then + echo "##vso[task.logissue type=warning]Renovate produced warnings." + echo "##vso[task.complete result=SucceededWithIssues]" + fi + exit $renovateExit + displayName: Run Renovate + env: + RENOVATE_FORK_TOKEN: $(BotAccount-dotnet-renovate-bot-PAT) + RENOVATE_TOKEN: $(BotAccount-dotnet-renovate-bot-PAT) + RENOVATE_REPOSITORIES: ${{parameters.gitHubRepo}} + RENOVATE_BASE_BRANCHES: ${{ convertToJson(parameters.baseBranches) }} + RENOVATE_DRY_RUN: $(dryRunArg) + RENOVATE_RECREATE_WHEN: $(recreateWhenArg) + LOG_LEVEL: info + LOG_FILE_LEVEL: debug + LOG_FILE: $(renovateLogFilePath) + RENOVATE_CONFIG_FILE: $(selfRepoPath)/${{parameters.renovateConfigPath}} + + - script: | + echo "PRs created by Renovate:" + if [ -s "$(renovateLogFilePath)" ]; then + if ! jq -r 'select(.msg == "PR created" and .pr != null) | "https://github.com/\(.repository)/pull/\(.pr)"' "$(renovateLogFilePath)" | sort -u; then + echo "##vso[task.logissue type=warning]Failed to parse Renovate log file with jq." + echo "##vso[task.complete result=SucceededWithIssues]" + fi + else + echo "##vso[task.logissue type=warning]No Renovate log file found or file is empty." + echo "##vso[task.complete result=SucceededWithIssues]" + fi + displayName: List created PRs + condition: and(succeededOrFailed(), eq('${{ parameters.dryRun }}', false)) diff --git a/eng/common/core-templates/job/source-index-stage1.yml b/eng/common/core-templates/job/source-index-stage1.yml index 76baf5c27258..bac6ac5faac3 100644 --- a/eng/common/core-templates/job/source-index-stage1.yml +++ b/eng/common/core-templates/job/source-index-stage1.yml @@ -15,6 +15,8 @@ jobs: variables: - name: BinlogPath value: ${{ parameters.binlogPath }} + - name: skipComponentGovernanceDetection + value: true - template: /eng/common/core-templates/variables/pool-providers.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} @@ -25,10 +27,10 @@ jobs: pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: name: $(DncEngPublicBuildPool) - image: windows.vs2026preview.scout.amd64.open + image: windows.vs2026.amd64.open ${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool) - image: windows.vs2026preview.scout.amd64 + image: windows.vs2026.amd64 steps: - ${{ if eq(parameters.is1ESPipeline, '') }}: diff --git a/eng/common/core-templates/jobs/jobs.yml b/eng/common/core-templates/jobs/jobs.yml index cc8cce452786..01ada7476651 100644 --- a/eng/common/core-templates/jobs/jobs.yml +++ b/eng/common/core-templates/jobs/jobs.yml @@ -43,10 +43,6 @@ parameters: artifacts: {} is1ESPipeline: '' - - # Publishing version w/default. - publishingVersion: 3 - repositoryAlias: self officialBuildId: '' @@ -106,7 +102,6 @@ jobs: parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} continueOnError: ${{ parameters.continueOnError }} - publishingVersion: ${{ parameters.publishingVersion }} dependsOn: - ${{ if ne(parameters.publishBuildAssetsDependsOn, '') }}: - ${{ each job in parameters.publishBuildAssetsDependsOn }}: diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml index 905a6315e2d5..0994189969f3 100644 --- a/eng/common/core-templates/post-build/post-build.yml +++ b/eng/common/core-templates/post-build/post-build.yml @@ -1,118 +1,107 @@ parameters: - # Which publishing infra should be used. THIS SHOULD MATCH THE VERSION ON THE BUILD MANIFEST. - # Publishing V1 is no longer supported - # Publishing V2 is no longer supported - # Publishing V3 is the default - - name: publishingInfraVersion - displayName: Which version of publishing should be used to promote the build definition? - type: number - default: 3 - values: - - 3 - - 4 - - - name: BARBuildId - displayName: BAR Build Id - type: number - default: 0 - - - name: PromoteToChannelIds - displayName: Channel to promote BARBuildId to - type: string - default: '' - - - name: enableSourceLinkValidation - displayName: Enable SourceLink validation - type: boolean - default: false - - - name: enableSigningValidation - displayName: Enable signing validation - type: boolean - default: true - - - name: enableSymbolValidation - displayName: Enable symbol validation - type: boolean - default: false - - - name: enableNugetValidation - displayName: Enable NuGet validation - type: boolean - default: true - - - name: publishInstallersAndChecksums - displayName: Publish installers and checksums - type: boolean - default: true - - - name: requireDefaultChannels - displayName: Fail the build if there are no default channel(s) registrations for the current build - type: boolean - default: false - - - name: SDLValidationParameters - type: object - default: - enable: false - publishGdn: false - continueOnError: false - params: '' - artifactNames: '' - downloadArtifacts: true - - - name: isAssetlessBuild - type: boolean - displayName: Is Assetless Build - default: false - - # These parameters let the user customize the call to sdk-task.ps1 for publishing - # symbols & general artifacts as well as for signing validation - - name: symbolPublishingAdditionalParameters - displayName: Symbol publishing additional parameters - type: string - default: '' - - - name: artifactsPublishingAdditionalParameters - displayName: Artifact publishing additional parameters - type: string - default: '' - - - name: signingValidationAdditionalParameters - displayName: Signing validation additional parameters - type: string - default: '' - - # Which stages should finish execution before post-build stages start - - name: validateDependsOn - type: object - default: - - build - - - name: publishDependsOn - type: object - default: - - Validate - - # Optional: Call asset publishing rather than running in a separate stage - - name: publishAssetsImmediately - type: boolean - default: false - - - name: is1ESPipeline - type: boolean - default: false +# Which publishing infra should be used. THIS SHOULD MATCH THE VERSION ON THE BUILD MANIFEST. +# Publishing V1 is no longer supported +# Publishing V2 is no longer supported +# Publishing V3 is the default +- name: publishingInfraVersion + displayName: Which version of publishing should be used to promote the build definition? + type: number + default: 3 + values: + - 3 + +- name: BARBuildId + displayName: BAR Build Id + type: number + default: 0 + +- name: PromoteToChannelIds + displayName: Channel to promote BARBuildId to + type: string + default: '' + +- name: enableSourceLinkValidation + displayName: Enable SourceLink validation + type: boolean + default: false + +- name: enableSigningValidation + displayName: Enable signing validation + type: boolean + default: true + +- name: enableSymbolValidation + displayName: Enable symbol validation + type: boolean + default: false + +- name: enableNugetValidation + displayName: Enable NuGet validation + type: boolean + default: true + +- name: publishInstallersAndChecksums + displayName: Publish installers and checksums + type: boolean + default: true + +- name: requireDefaultChannels + displayName: Fail the build if there are no default channel(s) registrations for the current build + type: boolean + default: false + +- name: isAssetlessBuild + type: boolean + displayName: Is Assetless Build + default: false + +# These parameters let the user customize the call to sdk-task.ps1 for publishing +# symbols & general artifacts as well as for signing validation +- name: symbolPublishingAdditionalParameters + displayName: Symbol publishing additional parameters + type: string + default: '' + +- name: artifactsPublishingAdditionalParameters + displayName: Artifact publishing additional parameters + type: string + default: '' + +- name: signingValidationAdditionalParameters + displayName: Signing validation additional parameters + type: string + default: '' + +# Which stages should finish execution before post-build stages start +- name: validateDependsOn + type: object + default: + - build + +- name: publishDependsOn + type: object + default: + - Validate + +# Optional: Call asset publishing rather than running in a separate stage +- name: publishAssetsImmediately + type: boolean + default: false + +- name: is1ESPipeline + type: boolean + default: false stages: -- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: +- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true')) }}: - stage: Validate dependsOn: ${{ parameters.validateDependsOn }} displayName: Validate Build Assets variables: - - template: /eng/common/core-templates/post-build/common-variables.yml - - template: /eng/common/core-templates/variables/pool-providers.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} + - template: /eng/common/core-templates/post-build/common-variables.yml + - template: /eng/common/core-templates/variables/pool-providers.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} jobs: - job: displayName: NuGet Validation @@ -128,49 +117,35 @@ stages: ${{ else }}: ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) - image: windows.vs2026preview.scout.amd64 + image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2026preview.scout.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml - parameters: - BARBuildId: ${{ parameters.BARBuildId }} - PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} - is1ESPipeline: ${{ parameters.is1ESPipeline }} - - - ${{ if ne(parameters.publishingInfraVersion, 4) }}: - - task: DownloadBuildArtifacts@0 - displayName: Download Package Artifacts - inputs: - buildType: specific - buildVersionToDownload: specific - project: $(AzDOProjectName) - pipeline: $(AzDOPipelineId) - buildId: $(AzDOBuildId) - artifactName: PackageArtifacts - checkDownloadedFiles: true - - ${{ if eq(parameters.publishingInfraVersion, 4) }}: - - task: DownloadPipelineArtifact@2 - displayName: Download Pipeline Artifacts (V4) - inputs: - itemPattern: '*/packages/**/*.nupkg' - targetPath: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' - - task: CopyFiles@2 - displayName: Flatten packages to PackageArtifacts - inputs: - SourceFolder: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' - Contents: '**/*.nupkg' - TargetFolder: '$(Build.ArtifactStagingDirectory)/PackageArtifacts' - flattenFolders: true - - - task: PowerShell@2 - displayName: Validate - inputs: - filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 - arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ + - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml + parameters: + BARBuildId: ${{ parameters.BARBuildId }} + PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} + is1ESPipeline: ${{ parameters.is1ESPipeline }} + + - task: DownloadBuildArtifacts@0 + displayName: Download Package Artifacts + inputs: + buildType: specific + buildVersionToDownload: specific + project: $(AzDOProjectName) + pipeline: $(AzDOPipelineId) + buildId: $(AzDOBuildId) + artifactName: PackageArtifacts + checkDownloadedFiles: true + + - task: PowerShell@2 + displayName: Validate + inputs: + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1 + arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/ - job: displayName: Signing Validation @@ -184,68 +159,54 @@ stages: os: windows # If it's not devdiv, it's dnceng ${{ else }}: - ${{ if eq(parameters.is1ESPipeline, true) }}: + ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2026preview.scout.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml - parameters: - BARBuildId: ${{ parameters.BARBuildId }} - PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} - is1ESPipeline: ${{ parameters.is1ESPipeline }} - - - ${{ if ne(parameters.publishingInfraVersion, 4) }}: - - task: DownloadBuildArtifacts@0 - displayName: Download Package Artifacts - inputs: - buildType: specific - buildVersionToDownload: specific - project: $(AzDOProjectName) - pipeline: $(AzDOPipelineId) - buildId: $(AzDOBuildId) - artifactName: PackageArtifacts - checkDownloadedFiles: true - - ${{ if eq(parameters.publishingInfraVersion, 4) }}: - - task: DownloadPipelineArtifact@2 - displayName: Download Pipeline Artifacts (V4) - inputs: - itemPattern: '*/packages/**/*.nupkg' - targetPath: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' - - task: CopyFiles@2 - displayName: Flatten packages to PackageArtifacts - inputs: - SourceFolder: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' - Contents: '**/*.nupkg' - TargetFolder: '$(Build.ArtifactStagingDirectory)/PackageArtifacts' - flattenFolders: true - - # This is necessary whenever we want to publish/restore to an AzDO private feed - # Since sdk-task.ps1 tries to restore packages we need to do this authentication here - # otherwise it'll complain about accessing a private feed. - - task: NuGetAuthenticate@1 - displayName: 'Authenticate to AzDO Feeds' - - # Signing validation will optionally work with the buildmanifest file which is downloaded from - # Azure DevOps above. - - task: PowerShell@2 - displayName: Validate - inputs: - filePath: eng\common\sdk-task.ps1 - arguments: -task SigningValidation -restore -msbuildEngine vs - /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts' - /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt' - ${{ parameters.signingValidationAdditionalParameters }} - - - template: /eng/common/core-templates/steps/publish-logs.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} - StageLabel: 'Validation' - JobLabel: 'Signing' - BinlogToolVersion: $(BinlogToolVersion) + - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml + parameters: + BARBuildId: ${{ parameters.BARBuildId }} + PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} + is1ESPipeline: ${{ parameters.is1ESPipeline }} + + - task: DownloadBuildArtifacts@0 + displayName: Download Package Artifacts + inputs: + buildType: specific + buildVersionToDownload: specific + project: $(AzDOProjectName) + pipeline: $(AzDOPipelineId) + buildId: $(AzDOBuildId) + artifactName: PackageArtifacts + checkDownloadedFiles: true + + # This is necessary whenever we want to publish/restore to an AzDO private feed + # Since sdk-task.ps1 tries to restore packages we need to do this authentication here + # otherwise it'll complain about accessing a private feed. + - task: NuGetAuthenticate@1 + displayName: 'Authenticate to AzDO Feeds' + + # Signing validation will optionally work with the buildmanifest file which is downloaded from + # Azure DevOps above. + - task: PowerShell@2 + displayName: Validate + inputs: + filePath: eng\common\sdk-task.ps1 + arguments: -task SigningValidation -restore + /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts' + /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt' + ${{ parameters.signingValidationAdditionalParameters }} + + - template: /eng/common/core-templates/steps/publish-logs.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} + StageLabel: 'Validation' + JobLabel: 'Signing' + BinlogToolVersion: $(BinlogToolVersion) - job: displayName: SourceLink Validation @@ -259,68 +220,54 @@ stages: os: windows # If it's not devdiv, it's dnceng ${{ else }}: - ${{ if eq(parameters.is1ESPipeline, true) }}: + ${{ if eq(parameters.is1ESPipeline, true) }}: name: $(DncEngInternalBuildPool) image: windows.vs2026.amd64 os: windows ${{ else }}: name: $(DncEngInternalBuildPool) - demands: ImageOverride -equals windows.vs2026preview.scout.amd64 + demands: ImageOverride -equals windows.vs2026.amd64 steps: - - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml - parameters: - BARBuildId: ${{ parameters.BARBuildId }} - PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} - is1ESPipeline: ${{ parameters.is1ESPipeline }} - - - ${{ if ne(parameters.publishingInfraVersion, 4) }}: - - task: DownloadBuildArtifacts@0 - displayName: Download Blob Artifacts - inputs: - buildType: specific - buildVersionToDownload: specific - project: $(AzDOProjectName) - pipeline: $(AzDOPipelineId) - buildId: $(AzDOBuildId) - artifactName: BlobArtifacts - checkDownloadedFiles: true - - ${{ if eq(parameters.publishingInfraVersion, 4) }}: - - task: DownloadPipelineArtifact@2 - displayName: Download Pipeline Artifacts (V4) - inputs: - itemPattern: '*/assets/**' - targetPath: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' - - task: CopyFiles@2 - displayName: Flatten assets to BlobArtifacts - inputs: - SourceFolder: '$(Build.ArtifactStagingDirectory)/PipelineArtifactsDownload' - Contents: '**/*' - TargetFolder: '$(Build.ArtifactStagingDirectory)/BlobArtifacts' - flattenFolders: true - - - task: PowerShell@2 - displayName: Validate - inputs: - filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1 - arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/ - -ExtractPath $(Agent.BuildDirectory)/Extract/ - -GHRepoName $(Build.Repository.Name) - -GHCommit $(Build.SourceVersion) - -SourcelinkCliVersion $(SourceLinkCLIVersion) - continueOnError: true + - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml + parameters: + BARBuildId: ${{ parameters.BARBuildId }} + PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} + is1ESPipeline: ${{ parameters.is1ESPipeline }} + + - task: DownloadBuildArtifacts@0 + displayName: Download Blob Artifacts + inputs: + buildType: specific + buildVersionToDownload: specific + project: $(AzDOProjectName) + pipeline: $(AzDOPipelineId) + buildId: $(AzDOBuildId) + artifactName: BlobArtifacts + checkDownloadedFiles: true + + - task: PowerShell@2 + displayName: Validate + inputs: + filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1 + arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/ + -ExtractPath $(Agent.BuildDirectory)/Extract/ + -GHRepoName $(Build.Repository.Name) + -GHCommit $(Build.SourceVersion) + -SourcelinkCliVersion $(SourceLinkCLIVersion) + continueOnError: true - ${{ if ne(parameters.publishAssetsImmediately, 'true') }}: - stage: publish_using_darc - ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}: + ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true')) }}: dependsOn: ${{ parameters.publishDependsOn }} ${{ else }}: dependsOn: ${{ parameters.validateDependsOn }} displayName: Publish using Darc variables: - - template: /eng/common/core-templates/post-build/common-variables.yml - - template: /eng/common/core-templates/variables/pool-providers.yml - parameters: - is1ESPipeline: ${{ parameters.is1ESPipeline }} + - template: /eng/common/core-templates/post-build/common-variables.yml + - template: /eng/common/core-templates/variables/pool-providers.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} jobs: - job: displayName: Publish Using Darc @@ -334,7 +281,7 @@ stages: os: windows # If it's not devdiv, it's dnceng ${{ else }}: - ${{ if eq(parameters.is1ESPipeline, true) }}: + ${{ if eq(parameters.is1ESPipeline, true) }}: name: NetCore1ESPool-Publishing-Internal image: windows.vs2026.amd64 os: windows @@ -342,36 +289,35 @@ stages: name: NetCore1ESPool-Publishing-Internal demands: ImageOverride -equals windows.vs2026.amd64 steps: - - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml - parameters: - BARBuildId: ${{ parameters.BARBuildId }} - PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} - is1ESPipeline: ${{ parameters.is1ESPipeline }} - - - task: NuGetAuthenticate@1 - - # Populate internal runtime variables. - - template: /eng/common/templates/steps/enable-internal-sources.yml - parameters: - legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) - - - template: /eng/common/templates/steps/enable-internal-runtimes.yml - - # Darc is targeting 8.0, so make sure it's installed - - task: UseDotNet@2 - inputs: - version: 8.0.x - - - task: AzureCLI@2 - displayName: Publish Using Darc - inputs: - azureSubscription: "Darc: Maestro Production" - scriptType: ps - scriptLocation: scriptPath - scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1 - arguments: > + - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml + parameters: + BARBuildId: ${{ parameters.BARBuildId }} + PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }} + is1ESPipeline: ${{ parameters.is1ESPipeline }} + + - task: NuGetAuthenticate@1 + + # Populate internal runtime variables. + - template: /eng/common/templates/steps/enable-internal-sources.yml + parameters: + legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw) + + - template: /eng/common/templates/steps/enable-internal-runtimes.yml + + - task: UseDotNet@2 + inputs: + version: 8.0.x + + - task: AzureCLI@2 + displayName: Publish Using Darc + inputs: + azureSubscription: "Darc: Maestro Production" + scriptType: ps + scriptLocation: scriptPath + scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1 + arguments: > -BuildId $(BARBuildId) - -PublishingInfraVersion 3 + -PublishingInfraVersion ${{ parameters.publishingInfraVersion }} -AzdoToken '$(System.AccessToken)' -WaitPublishingFinish true -RequireDefaultChannels ${{ parameters.requireDefaultChannels }} diff --git a/eng/common/core-templates/post-build/setup-maestro-vars.yml b/eng/common/core-templates/post-build/setup-maestro-vars.yml index 6dfa99ec5e37..a7abd58c4bb6 100644 --- a/eng/common/core-templates/post-build/setup-maestro-vars.yml +++ b/eng/common/core-templates/post-build/setup-maestro-vars.yml @@ -8,11 +8,12 @@ steps: - 'Illegal entry point, is1ESPipeline is not defined. Repository yaml should not directly reference templates in core-templates folder.': error - ${{ if eq(coalesce(parameters.PromoteToChannelIds, 0), 0) }}: - - task: DownloadPipelineArtifact@2 + - task: DownloadBuildArtifacts@0 displayName: Download Release Configs inputs: + buildType: current artifactName: ReleaseConfigs - targetPath: '$(Build.StagingDirectory)/ReleaseConfigs' + checkDownloadedFiles: true - task: AzureCLI@2 name: setReleaseVars diff --git a/eng/common/core-templates/stages/renovate.yml b/eng/common/core-templates/stages/renovate.yml new file mode 100644 index 000000000000..edab28182585 --- /dev/null +++ b/eng/common/core-templates/stages/renovate.yml @@ -0,0 +1,111 @@ +# -------------------------------------------------------------------------------------- +# Renovate Pipeline Template +# -------------------------------------------------------------------------------------- +# This template provides a complete reusable pipeline definition for running Renovate +# in a 1ES Official pipeline. Pipelines can extend from this template and only need +# to pass the Renovate job parameters. +# +# For more info, see https://github.com/dotnet/arcade/blob/main/Documentation/Renovate.md +# -------------------------------------------------------------------------------------- + +parameters: + +# Path to the Renovate configuration file within the repository. +- name: renovateConfigPath + type: string + default: 'eng/renovate.json' + +# GitHub repository to run Renovate against, in the format 'owner/repo'. +- name: gitHubRepo + type: string + +# List of base branches to target for Renovate PRs. +- name: baseBranches + type: object + default: + - main + +# When true, Renovate will run in dry run mode. +- name: dryRun + type: boolean + default: false + +# When true, Renovate will recreate PRs even if they were previously closed. +- name: forceRecreatePR + type: boolean + default: false + +# Name of the arcade repository resource in the pipeline. +# This allows repos which haven't been onboarded to Arcade to still use this +# template by checking out the repo as a resource with a custom name and pointing +# this parameter to it. +- name: arcadeRepoResource + type: string + default: 'self' + +- name: selfRepoName + type: string + default: '' +- name: arcadeRepoName + type: string + default: '' + +# Pool configuration for the pipeline. +- name: pool + type: object + default: + name: NetCore1ESPool-Internal + image: build.azurelinux.3.amd64 + os: linux + +# Renovate version used in the container image tag. +- name: renovateVersion + default: 43 + type: number + +# Pool configuration for SDL analysis. +- name: sdlPool + type: object + default: + name: NetCore1ESPool-Internal + image: windows.vs2026.amd64 + os: windows + +resources: + repositories: + - repository: 1ESPipelineTemplates + type: git + name: 1ESPipelineTemplates/1ESPipelineTemplates + ref: refs/tags/release + +extends: + template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates + parameters: + pool: ${{ parameters.pool }} + sdl: + sourceAnalysisPool: ${{ parameters.sdlPool }} + # When repos that aren't onboarded to Arcade use this template, they set the + # arcadeRepoResource parameter to point to their Arcade repo resource. In that case, + # Aracde will be excluded from SDL analysis. + ${{ if ne(parameters.arcadeRepoResource, 'self') }}: + sourceRepositoriesToScan: + exclude: + - repository: ${{ parameters.arcadeRepoResource }} + containers: + RenovateContainer: + image: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-renovate-${{ parameters.renovateVersion }}-amd64 + stages: + - stage: Renovate + displayName: Run Renovate + jobs: + - template: /eng/common/core-templates/job/renovate.yml@${{ parameters.arcadeRepoResource }} + parameters: + renovateConfigPath: ${{ parameters.renovateConfigPath }} + gitHubRepo: ${{ parameters.gitHubRepo }} + baseBranches: ${{ parameters.baseBranches }} + dryRun: ${{ parameters.dryRun }} + forceRecreatePR: ${{ parameters.forceRecreatePR }} + pool: ${{ parameters.pool }} + arcadeRepoResource: ${{ parameters.arcadeRepoResource }} + selfRepoName: ${{ parameters.selfRepoName }} + arcadeRepoName: ${{ parameters.arcadeRepoName }} diff --git a/eng/common/core-templates/steps/component-governance.yml b/eng/common/core-templates/steps/component-governance.yml new file mode 100644 index 000000000000..cf0649aa9565 --- /dev/null +++ b/eng/common/core-templates/steps/component-governance.yml @@ -0,0 +1,16 @@ +parameters: + disableComponentGovernance: false + componentGovernanceIgnoreDirectories: '' + is1ESPipeline: false + displayName: 'Component Detection' + +steps: +- ${{ if eq(parameters.disableComponentGovernance, 'true') }}: + - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true" + displayName: Set skipComponentGovernanceDetection variable +- ${{ if ne(parameters.disableComponentGovernance, 'true') }}: + - task: ComponentGovernanceComponentDetection@0 + continueOnError: true + displayName: ${{ parameters.displayName }} + inputs: + ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} diff --git a/eng/common/core-templates/steps/generate-sbom.yml b/eng/common/core-templates/steps/generate-sbom.yml index aad0a8aeda33..003f7eae0fa5 100644 --- a/eng/common/core-templates/steps/generate-sbom.yml +++ b/eng/common/core-templates/steps/generate-sbom.yml @@ -1,14 +1,54 @@ +# BuildDropPath - The root folder of the drop directory for which the manifest file will be generated. +# PackageName - The name of the package this SBOM represents. +# PackageVersion - The version of the package this SBOM represents. +# ManifestDirPath - The path of the directory where the generated manifest files will be placed +# IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector. + parameters: - PackageVersion: unused - BuildDropPath: unused - PackageName: unused - ManifestDirPath: unused - IgnoreDirectories: unused - sbomContinueOnError: unused - is1ESPipeline: unused - publishArtifacts: unused + PackageVersion: 11.0.0 + BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' + PackageName: '.NET' + ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom + IgnoreDirectories: '' + sbomContinueOnError: true + is1ESPipeline: false + # disable publishArtifacts if some other step is publishing the artifacts (like job.yml). + publishArtifacts: true steps: +- task: PowerShell@2 + displayName: Prep for SBOM generation in (Non-linux) + condition: or(eq(variables['Agent.Os'], 'Windows_NT'), eq(variables['Agent.Os'], 'Darwin')) + inputs: + filePath: ./eng/common/generate-sbom-prep.ps1 + arguments: ${{parameters.manifestDirPath}} + +# Chmodding is a workaround for https://github.com/dotnet/arcade/issues/8461 - script: | - echo "##vso[task.logissue type=warning]Including generate-sbom.yml is deprecated, SBOM generation is handled 1ES PT now. Remove this include." - displayName: Issue generate-sbom.yml deprecation warning + chmod +x ./eng/common/generate-sbom-prep.sh + ./eng/common/generate-sbom-prep.sh ${{parameters.manifestDirPath}} + displayName: Prep for SBOM generation in (Linux) + condition: eq(variables['Agent.Os'], 'Linux') + continueOnError: ${{ parameters.sbomContinueOnError }} + +- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0 + displayName: 'Generate SBOM manifest' + continueOnError: ${{ parameters.sbomContinueOnError }} + inputs: + PackageName: ${{ parameters.packageName }} + BuildDropPath: ${{ parameters.buildDropPath }} + PackageVersion: ${{ parameters.packageVersion }} + ManifestDirPath: ${{ parameters.manifestDirPath }}/$(ARTIFACT_NAME) + ${{ if ne(parameters.IgnoreDirectories, '') }}: + AdditionalComponentDetectorArgs: '--IgnoreDirectories ${{ parameters.IgnoreDirectories }}' + +- ${{ if eq(parameters.publishArtifacts, 'true')}}: + - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} + args: + displayName: Publish SBOM manifest + continueOnError: ${{parameters.sbomContinueOnError}} + targetPath: '${{ parameters.manifestDirPath }}' + artifactName: $(ARTIFACT_NAME) + diff --git a/eng/common/core-templates/steps/install-microbuild-impl.yml b/eng/common/core-templates/steps/install-microbuild-impl.yml new file mode 100644 index 000000000000..da22beb3f60c --- /dev/null +++ b/eng/common/core-templates/steps/install-microbuild-impl.yml @@ -0,0 +1,34 @@ +parameters: + - name: microbuildTaskInputs + type: object + default: {} + + - name: microbuildEnv + type: object + default: {} + + - name: enablePreviewMicrobuild + type: boolean + default: false + + - name: condition + type: string + + - name: continueOnError + type: boolean + +steps: +- ${{ if eq(parameters.enablePreviewMicrobuild, true) }}: + - task: MicroBuildSigningPluginPreview@4 + displayName: Install Preview MicroBuild plugin + inputs: ${{ parameters.microbuildTaskInputs }} + env: ${{ parameters.microbuildEnv }} + continueOnError: ${{ parameters.continueOnError }} + condition: ${{ parameters.condition }} +- ${{ else }}: + - task: MicroBuildSigningPlugin@4 + displayName: Install MicroBuild plugin + inputs: ${{ parameters.microbuildTaskInputs }} + env: ${{ parameters.microbuildEnv }} + continueOnError: ${{ parameters.continueOnError }} + condition: ${{ parameters.condition }} diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml index 553fce66b940..76a54e157fda 100644 --- a/eng/common/core-templates/steps/install-microbuild.yml +++ b/eng/common/core-templates/steps/install-microbuild.yml @@ -4,6 +4,8 @@ parameters: # Enable install tasks for MicroBuild on Mac and Linux # Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT' enableMicrobuildForMacAndLinux: false + # Enable preview version of MB signing plugin + enablePreviewMicrobuild: false # Determines whether the ESRP service connection information should be passed to the signing plugin. # This overlaps with _SignType to some degree. We only need the service connection for real signing. # It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place. @@ -13,6 +15,8 @@ parameters: microbuildUseESRP: true # Microbuild installation directory microBuildOutputFolder: $(Agent.TempDirectory)/MicroBuild + # Microbuild version + microbuildPluginVersion: 'latest' continueOnError: false @@ -69,42 +73,46 @@ steps: # YAML expansion, and Windows vs. Linux/Mac uses different service connections. However, # we can avoid including the MB install step if not enabled at all. This avoids a bunch of # extra pipeline authorizations, since most pipelines do not sign on non-Windows. - - task: MicroBuildSigningPlugin@4 - displayName: Install MicroBuild plugin (Windows) - inputs: - signType: $(_SignType) - zipSources: false - feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json - ${{ if eq(parameters.microbuildUseESRP, true) }}: - ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' - ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: - ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea - ${{ else }}: - ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca - env: - TeamName: $(_TeamName) - MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test')) - - - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}: - - task: MicroBuildSigningPlugin@4 - displayName: Install MicroBuild plugin (non-Windows) - inputs: + - template: /eng/common/core-templates/steps/install-microbuild-impl.yml + parameters: + enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }} + microbuildTaskInputs: signType: $(_SignType) zipSources: false feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json - workingDirectory: ${{ parameters.microBuildOutputFolder }} + version: ${{ parameters.microbuildPluginVersion }} ${{ if eq(parameters.microbuildUseESRP, true) }}: ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: - ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39 + ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea ${{ else }}: - ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc - env: + ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca + microbuildEnv: TeamName: $(_TeamName) MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} SYSTEM_ACCESSTOKEN: $(System.AccessToken) continueOnError: ${{ parameters.continueOnError }} - condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real')) + condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test')) + + - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}: + - template: /eng/common/core-templates/steps/install-microbuild-impl.yml + parameters: + enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }} + microbuildTaskInputs: + signType: $(_SignType) + zipSources: false + feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json + version: ${{ parameters.microbuildPluginVersion }} + workingDirectory: ${{ parameters.microBuildOutputFolder }} + ${{ if eq(parameters.microbuildUseESRP, true) }}: + ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)' + ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: + ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39 + ${{ else }}: + ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc + microbuildEnv: + TeamName: $(_TeamName) + MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }} + SYSTEM_ACCESSTOKEN: $(System.AccessToken) + continueOnError: ${{ parameters.continueOnError }} + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real')) diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 4eed0312b807..a9ea99ba6aaa 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -50,14 +50,13 @@ steps: TargetFolder: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' condition: always() -- template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml +- template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: is1ESPipeline: ${{ parameters.is1ESPipeline }} args: displayName: Publish Logs - targetPath: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' - artifactName: PostBuildLogs_${{ parameters.StageLabel }}_${{ parameters.JobLabel }}_Attempt$(System.JobAttempt) + pathToPublish: '$(Build.ArtifactStagingDirectory)/PostBuildLogs' + publishLocation: Container + artifactName: PostBuildLogs continueOnError: true condition: always() - retryCountOnTaskFailure: 10 # for any files being locked - isProduction: false # logs are non-production artifacts diff --git a/eng/common/core-templates/steps/source-build.yml b/eng/common/core-templates/steps/source-build.yml index 09ae5cd73ae3..acf16ed34963 100644 --- a/eng/common/core-templates/steps/source-build.yml +++ b/eng/common/core-templates/steps/source-build.yml @@ -24,7 +24,7 @@ steps: # in the default public locations. internalRuntimeDownloadArgs= if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then - internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey '$(dotnetbuilds-internal-container-read-token-base64)'' + internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://ci.dot.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://ci.dot.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)' fi buildConfig=Release @@ -62,4 +62,4 @@ steps: artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt) continueOnError: true condition: succeededOrFailed() - isProduction: false # logs are non-production artifacts + sbomEnabled: false # we don't need SBOM for logs diff --git a/eng/common/core-templates/steps/source-index-stage1-publish.yml b/eng/common/core-templates/steps/source-index-stage1-publish.yml index e9a694afa58e..3ad83b8c3075 100644 --- a/eng/common/core-templates/steps/source-index-stage1-publish.yml +++ b/eng/common/core-templates/steps/source-index-stage1-publish.yml @@ -1,6 +1,6 @@ parameters: - sourceIndexUploadPackageVersion: 2.0.0-20250818.1 - sourceIndexProcessBinlogPackageVersion: 1.0.1-20250818.1 + sourceIndexUploadPackageVersion: 2.0.0-20250906.1 + sourceIndexProcessBinlogPackageVersion: 1.0.1-20250906.1 sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json binlogPath: artifacts/log/Debug/Build.binlog @@ -14,8 +14,8 @@ steps: workingDirectory: $(Agent.TempDirectory) - script: | - $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools - $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --add-source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --source ${{parameters.sourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --source ${{parameters.sourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools displayName: "Source Index: Download netsourceindex Tools" # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. workingDirectory: $(Agent.TempDirectory) diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 8abfb71f7275..314c93c57598 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -9,6 +9,7 @@ usage() echo "CodeName - optional, Code name for Linux, can be: xenial(default), zesty, bionic, alpine" echo " for alpine can be specified with version: alpineX.YY or alpineedge" echo " for FreeBSD can be: freebsd13, freebsd14" + echo " for OpenBSD can be: openbsd" echo " for illumos can be: illumos" echo " for Haiku can be: haiku." echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FreeBSD" @@ -27,6 +28,8 @@ __BuildArch=arm __AlpineArch=armv7 __FreeBSDArch=arm __FreeBSDMachineArch=armv7 +__OpenBSDArch=arm +__OpenBSDMachineArch=armv7 __IllumosArch=arm7 __HaikuArch=arm __QEMUArch=arm @@ -72,7 +75,7 @@ __AlpinePackages+=" krb5-dev" __AlpinePackages+=" openssl-dev" __AlpinePackages+=" zlib-dev" -__FreeBSDBase="13.4-RELEASE" +__FreeBSDBase="13.5-RELEASE" __FreeBSDPkg="1.21.3" __FreeBSDABI="13" __FreeBSDPackages="libunwind" @@ -82,6 +85,12 @@ __FreeBSDPackages+=" openssl" __FreeBSDPackages+=" krb5" __FreeBSDPackages+=" terminfo-db" +__OpenBSDVersion="7.8" +__OpenBSDPackages="heimdal-libs" +__OpenBSDPackages+=" icu4c" +__OpenBSDPackages+=" inotify-tools" +__OpenBSDPackages+=" openssl" + __IllumosPackages="icu" __IllumosPackages+=" mit-krb5" __IllumosPackages+=" openssl" @@ -160,6 +169,8 @@ while :; do __QEMUArch=aarch64 __FreeBSDArch=arm64 __FreeBSDMachineArch=aarch64 + __OpenBSDArch=arm64 + __OpenBSDMachineArch=aarch64 ;; armel) __BuildArch=armel @@ -235,6 +246,8 @@ while :; do __UbuntuArch=amd64 __FreeBSDArch=amd64 __FreeBSDMachineArch=amd64 + __OpenBSDArch=amd64 + __OpenBSDMachineArch=amd64 __illumosArch=x86_64 __HaikuArch=x86_64 __UbuntuRepo="http://archive.ubuntu.com/ubuntu/" @@ -295,9 +308,7 @@ while :; do ;; noble) # Ubuntu 24.04 __CodeName=noble - if [[ -z "$__LLDB_Package" ]]; then - __LLDB_Package="liblldb-19-dev" - fi + __LLDB_Package="liblldb-19-dev" ;; stretch) # Debian 9 __CodeName=stretch @@ -383,10 +394,14 @@ while :; do ;; freebsd14) __CodeName=freebsd - __FreeBSDBase="14.2-RELEASE" + __FreeBSDBase="14.3-RELEASE" __FreeBSDABI="14" __SkipUnmount=1 ;; + openbsd) + __CodeName=openbsd + __SkipUnmount=1 + ;; illumos) __CodeName=illumos __SkipUnmount=1 @@ -595,6 +610,62 @@ elif [[ "$__CodeName" == "freebsd" ]]; then INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf update # shellcheck disable=SC2086 INSTALL_AS_USER=$(whoami) "$__RootfsDir"/host/sbin/pkg -r "$__RootfsDir" -C "$__RootfsDir"/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages +elif [[ "$__CodeName" == "openbsd" ]]; then + # determine mirrors + OPENBSD_MIRROR="https://cdn.openbsd.org/pub/OpenBSD/$__OpenBSDVersion/$__OpenBSDMachineArch" + + # download base system sets + ensureDownloadTool + + BASE_SETS=(base comp) + for set in "${BASE_SETS[@]}"; do + FILE="${set}${__OpenBSDVersion//./}.tgz" + echo "Downloading $FILE..." + if [[ "$__hasWget" == 1 ]]; then + wget -O- "$OPENBSD_MIRROR/$FILE" | tar -C "$__RootfsDir" -xzpf - + else + curl -SL "$OPENBSD_MIRROR/$FILE" | tar -C "$__RootfsDir" -xzpf - + fi + done + + PKG_MIRROR="https://cdn.openbsd.org/pub/OpenBSD/${__OpenBSDVersion}/packages/${__OpenBSDMachineArch}" + + echo "Installing packages into sysroot..." + + # Fetch package index once + if [[ "$__hasWget" == 1 ]]; then + PKG_INDEX=$(wget -qO- "$PKG_MIRROR/") + else + PKG_INDEX=$(curl -s "$PKG_MIRROR/") + fi + + for pkg in $__OpenBSDPackages; do + PKG_FILE=$(echo "$PKG_INDEX" | grep -Po ">\K${pkg}-[0-9][^\" ]*\.tgz" \ + | sort -V | tail -n1) + + echo "Resolved package filename for $pkg: $PKG_FILE" + + [[ -z "$PKG_FILE" ]] && { echo "ERROR: Package $pkg not found"; exit 1; } + + if [[ "$__hasWget" == 1 ]]; then + wget -O- "$PKG_MIRROR/$PKG_FILE" | tar -C "$__RootfsDir" -xzpf - + else + curl -SL "$PKG_MIRROR/$PKG_FILE" | tar -C "$__RootfsDir" -xzpf - + fi + done + + echo "Creating versionless symlinks for shared libraries..." + # Find all versioned .so files and create the base .so symlink + for lib in "$__RootfsDir/usr/lib/libc++.so."* "$__RootfsDir/usr/lib/libc++abi.so."* "$__RootfsDir/usr/lib/libpthread.so."*; do + if [ -f "$lib" ]; then + # Extract the filename (e.g., libc++.so.12.0) + VERSIONED_NAME=$(basename "$lib") + # Remove the trailing version numbers (e.g., libc++.so) + BASE_NAME=${VERSIONED_NAME%.so.*}.so + # Create the symlink in the same directory + ln -sf "$VERSIONED_NAME" "$__RootfsDir/usr/lib/$BASE_NAME" + fi + done elif [[ "$__CodeName" == "illumos" ]]; then mkdir "$__RootfsDir/tmp" pushd "$__RootfsDir/tmp" diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index 0ff85cf0367e..ff2dfdb4a5bf 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -3,15 +3,22 @@ set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) # reset platform variables (e.g. cmake 3.25 sets LINUX=1) unset(LINUX) unset(FREEBSD) +unset(OPENBSD) unset(ILLUMOS) unset(ANDROID) unset(TIZEN) unset(HAIKU) set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH}) + +file(GLOB OPENBSD_PROBE "${CROSS_ROOTFS}/etc/signify/openbsd-*.pub") + if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version) set(CMAKE_SYSTEM_NAME FreeBSD) set(FREEBSD 1) +elseif(OPENBSD_PROBE) + set(CMAKE_SYSTEM_NAME OpenBSD) + set(OPENBSD 1) elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc) set(CMAKE_SYSTEM_NAME SunOS) set(ILLUMOS 1) @@ -53,6 +60,8 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64") endif() elseif(FREEBSD) set(triple "aarch64-unknown-freebsd12") + elseif(OPENBSD) + set(triple "aarch64-unknown-openbsd") endif() elseif(TARGET_ARCH_NAME STREQUAL "armel") set(CMAKE_SYSTEM_PROCESSOR armv7l) @@ -109,6 +118,8 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64") endif() elseif(FREEBSD) set(triple "x86_64-unknown-freebsd12") + elseif(OPENBSD) + set(triple "x86_64-unknown-openbsd") elseif(ILLUMOS) set(TOOLCHAIN "x86_64-illumos") elseif(HAIKU) @@ -193,7 +204,7 @@ if(ANDROID) # include official NDK toolchain script include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake) -elseif(FREEBSD) +elseif(FREEBSD OR OPENBSD) # we cross-compile by instructing clang set(CMAKE_C_COMPILER_TARGET ${triple}) set(CMAKE_CXX_COMPILER_TARGET ${triple}) @@ -291,7 +302,7 @@ endif() # Specify compile options -if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD) OR ILLUMOS OR HAIKU) +if((TARGET_ARCH_NAME MATCHES "^(arm|arm64|armel|armv6|loongarch64|ppc64le|riscv64|s390x|x64|x86)$" AND NOT ANDROID AND NOT FREEBSD AND NOT OPENBSD) OR ILLUMOS OR HAIKU) set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN}) set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN}) diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh index e889f439b8dc..9f5ad6b763b5 100755 --- a/eng/common/darc-init.sh +++ b/eng/common/darc-init.sh @@ -5,7 +5,7 @@ darcVersion='' versionEndpoint='https://maestro.dot.net/api/assets/darc-version?api-version=2020-02-20' verbosity='minimal' -while [[ $# > 0 ]]; do +while [[ $# -gt 0 ]]; do opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")" case "$opt" in --darcversion) diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh index 7b9d97e3bd4d..61f302bb6775 100755 --- a/eng/common/dotnet-install.sh +++ b/eng/common/dotnet-install.sh @@ -18,7 +18,7 @@ architecture='' runtime='dotnet' runtimeSourceFeed='' runtimeSourceFeedKey='' -while [[ $# > 0 ]]; do +while [[ $# -gt 0 ]]; do opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")" case "$opt" in -version|-v) diff --git a/eng/common/dotnet.sh b/eng/common/dotnet.sh index 2ef68235675f..f6d24871c1d4 100755 --- a/eng/common/dotnet.sh +++ b/eng/common/dotnet.sh @@ -19,7 +19,7 @@ source $scriptroot/tools.sh InitializeDotNetCli true # install # Invoke acquired SDK with args if they are provided -if [[ $# > 0 ]]; then +if [[ $# -gt 0 ]]; then __dotnetDir=${_InitializeDotNetCli} dotnetPath=${__dotnetDir}/dotnet ${dotnetPath} "$@" diff --git a/eng/common/generate-sbom-prep.ps1 b/eng/common/generate-sbom-prep.ps1 new file mode 100644 index 000000000000..a0c7d792a76f --- /dev/null +++ b/eng/common/generate-sbom-prep.ps1 @@ -0,0 +1,29 @@ +Param( + [Parameter(Mandatory=$true)][string] $ManifestDirPath # Manifest directory where sbom will be placed +) + +. $PSScriptRoot\pipeline-logging-functions.ps1 + +# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly +# with their own overwriting ours. So we create it as a sub directory of the requested manifest path. +$ArtifactName = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM" +$SafeArtifactName = $ArtifactName -replace '["/:<>\\|?@*"() ]', '_' +$SbomGenerationDir = Join-Path $ManifestDirPath $SafeArtifactName + +Write-Host "Artifact name before : $ArtifactName" +Write-Host "Artifact name after : $SafeArtifactName" + +Write-Host "Creating dir $ManifestDirPath" + +# create directory for sbom manifest to be placed +if (!(Test-Path -path $SbomGenerationDir)) +{ + New-Item -ItemType Directory -path $SbomGenerationDir + Write-Host "Successfully created directory $SbomGenerationDir" +} +else{ + Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder." +} + +Write-Host "Updating artifact name" +Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$SafeArtifactName" diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh new file mode 100644 index 000000000000..b8ecca72bbf5 --- /dev/null +++ b/eng/common/generate-sbom-prep.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +source="${BASH_SOURCE[0]}" + +# resolve $SOURCE until the file is no longer a symlink +while [[ -h $source ]]; do + scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" + source="$(readlink "$source")" + + # if $source was a relative symlink, we need to resolve it relative to the path where the + # symlink file was located + [[ $source != /* ]] && source="$scriptroot/$source" +done +scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" +. $scriptroot/pipeline-logging-functions.sh + + +# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts. +artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM" +safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}" +manifest_dir=$1 + +# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly +# with their own overwriting ours. So we create it as a sub directory of the requested manifest path. +sbom_generation_dir="$manifest_dir/$safe_artifact_name" + +if [ ! -d "$sbom_generation_dir" ] ; then + mkdir -p "$sbom_generation_dir" + echo "Sbom directory created." $sbom_generation_dir +else + Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder." +fi + +echo "Artifact name before : "$artifact_name +echo "Artifact name after : "$safe_artifact_name +export ARTIFACT_NAME=$safe_artifact_name +echo "##vso[task.setvariable variable=ARTIFACT_NAME]$safe_artifact_name" + +exit 0 diff --git a/eng/common/internal-feed-operations.sh b/eng/common/internal-feed-operations.sh index 9378223ba095..6299e7effd4c 100755 --- a/eng/common/internal-feed-operations.sh +++ b/eng/common/internal-feed-operations.sh @@ -100,7 +100,7 @@ operation='' authToken='' repoName='' -while [[ $# > 0 ]]; do +while [[ $# -gt 0 ]]; do opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")" case "$opt" in --operation) diff --git a/eng/common/native/init-distro-rid.sh b/eng/common/native/init-distro-rid.sh index 83ea7aab0e08..8fc6d2fec78d 100644 --- a/eng/common/native/init-distro-rid.sh +++ b/eng/common/native/init-distro-rid.sh @@ -39,6 +39,8 @@ getNonPortableDistroRid() # $rootfsDir can be empty. freebsd-version is a shell script and should always work. __freebsd_major_version=$("$rootfsDir"/bin/freebsd-version | cut -d'.' -f1) nonPortableRid="freebsd.$__freebsd_major_version-${targetArch}" + elif [ "$targetOs" = "openbsd" ]; then + nonPortableRid="openbsd.$(uname -r)-${targetArch}" elif command -v getprop >/dev/null && getprop ro.product.system.model | grep -qi android; then __android_sdk_version=$(getprop ro.build.version.sdk) nonPortableRid="android.$__android_sdk_version-${targetArch}" diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh index 477a44f335be..4742177a7685 100755 --- a/eng/common/native/install-dependencies.sh +++ b/eng/common/native/install-dependencies.sh @@ -24,14 +24,16 @@ case "$os" in apt update apt install -y build-essential gettext locales cmake llvm clang lld lldb liblldb-dev libunwind8-dev libicu-dev liblttng-ust-dev \ - libssl-dev libkrb5-dev pigz cpio + libssl-dev libkrb5-dev pigz cpio ninja-build localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 - elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ]; then + elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ] || [ "$ID" = "centos" ]; then pkg_mgr="$(command -v tdnf 2>/dev/null || command -v dnf)" - $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio + $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio ninja-build + elif [ "$ID" = "amzn" ]; then + dnf install -y cmake llvm lld lldb clang python libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio ninja-build elif [ "$ID" = "alpine" ]; then - apk add build-base cmake bash curl clang llvm-dev lld lldb krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio + apk add build-base cmake bash curl clang llvm llvm-dev lld lldb-dev krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio ninja else echo "Unsupported distro. distro: $ID" exit 1 @@ -52,6 +54,7 @@ brew "openssl@3" brew "pkgconf" brew "python3" brew "pigz" +brew "ninja" EOF ;; diff --git a/eng/common/post-build/redact-logs.ps1 b/eng/common/post-build/redact-logs.ps1 index 472d5bb562c9..fc0218a013d1 100644 --- a/eng/common/post-build/redact-logs.ps1 +++ b/eng/common/post-build/redact-logs.ps1 @@ -9,7 +9,8 @@ param( [Parameter(Mandatory=$false)][string] $TokensFilePath, [Parameter(ValueFromRemainingArguments=$true)][String[]]$TokensToRedact, [Parameter(Mandatory=$false)][string] $runtimeSourceFeed, - [Parameter(Mandatory=$false)][string] $runtimeSourceFeedKey) + [Parameter(Mandatory=$false)][string] $runtimeSourceFeedKey +) try { $ErrorActionPreference = 'Stop' diff --git a/eng/common/renovate.env b/eng/common/renovate.env new file mode 100644 index 000000000000..17ecc05d9b19 --- /dev/null +++ b/eng/common/renovate.env @@ -0,0 +1,42 @@ +# Renovate Global Configuration +# https://docs.renovatebot.com/self-hosted-configuration/ +# +# NOTE: This file uses bash/shell format and is sourced via `. renovate.env`. +# Values containing spaces or special characters must be quoted. + +# Author to use for git commits made by Renovate +# https://docs.renovatebot.com/configuration-options/#gitauthor +export RENOVATE_GIT_AUTHOR='.NET Renovate ' + +# Disable rate limiting for PR creation (0 = unlimited) +# https://docs.renovatebot.com/presets-default/#prhourlylimitnone +# https://docs.renovatebot.com/presets-default/#prconcurrentlimitnone +export RENOVATE_PR_HOURLY_LIMIT=0 +export RENOVATE_PR_CONCURRENT_LIMIT=0 + +# Skip the onboarding PR that Renovate normally creates for new repos +# https://docs.renovatebot.com/config-overview/#onboarding +export RENOVATE_ONBOARDING=false + +# Any Renovate config file in the cloned repository is ignored. Only +# the Renovate config file from the repo where the pipeline is running +# is used (yes, those are the same repo but the sources may be different). +# https://docs.renovatebot.com/self-hosted-configuration/#requireconfig +export RENOVATE_REQUIRE_CONFIG=ignored + +# Customize the PR body content. This removes some of the default +# sections that aren't relevant in a self-hosted config. +# https://docs.renovatebot.com/configuration-options/#prheader +# https://docs.renovatebot.com/configuration-options/#prbodynotes +# https://docs.renovatebot.com/configuration-options/#prbodytemplate +export RENOVATE_PR_HEADER='## Automated Dependency Update' +export RENOVATE_PR_BODY_NOTES='["This PR has been created automatically by the [.NET Renovate Bot](https://github.com/dotnet/arcade/blob/main/Documentation/Renovate.md) to update one or more dependencies in your repo. Please review the changes and merge the PR if everything looks good."]' +export RENOVATE_PR_BODY_TEMPLATE='{{{header}}}{{{table}}}{{{warnings}}}{{{notes}}}{{{changelogs}}}' + +# Extend the global config with additional presets +# https://docs.renovatebot.com/self-hosted-configuration/#globalextends +# Disable the Dependency Dashboard issue that tracks all updates +export RENOVATE_GLOBAL_EXTENDS='[":disableDependencyDashboard"]' + +# Allow all commands for post-upgrade commands. +export RENOVATE_ALLOWED_COMMANDS='[".*"]' diff --git a/eng/common/template-guidance.md b/eng/common/template-guidance.md index e2b07a865f10..cdc62e72b077 100644 --- a/eng/common/template-guidance.md +++ b/eng/common/template-guidance.md @@ -71,7 +71,6 @@ eng\common\ source-build.yml (shim) source-index-stage1.yml (shim) jobs\ - codeql-build.yml (shim) jobs.yml (shim) source-build.yml (shim) post-build\ @@ -82,13 +81,13 @@ eng\common\ publish-build-artifacts.yml (logic) publish-pipeline-artifacts.yml (logic) component-governance.yml (shim) + generate-sbom.yml (shim) publish-logs.yml (shim) retain-build.yml (shim) send-to-helix.yml (shim) source-build.yml (shim) variables\ pool-providers.yml (logic + redirect) # templates/variables/pool-providers.yml will redirect to templates-official/variables/pool-providers.yml if you are running in the internal project - sdl-variables.yml (logic) core-templates\ job\ job.yml (logic) @@ -97,7 +96,6 @@ eng\common\ source-build.yml (logic) source-index-stage1.yml (logic) jobs\ - codeql-build.yml (logic) jobs.yml (logic) source-build.yml (logic) post-build\ @@ -106,6 +104,7 @@ eng\common\ setup-maestro-vars.yml (logic) steps\ component-governance.yml (logic) + generate-sbom.yml (logic) publish-build-artifacts.yml (redirect) publish-logs.yml (logic) publish-pipeline-artifacts.yml (redirect) diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml index d68e9fbc2656..f70224eaa456 100644 --- a/eng/common/templates-official/job/job.yml +++ b/eng/common/templates-official/job/job.yml @@ -1,15 +1,24 @@ parameters: +# Sbom related params + enableSbom: true runAsPublic: false -# Sbom related params, unused now and can eventually be removed - enableSbom: unused - PackageVersion: unused - BuildDropPath: unused + PackageVersion: 9.0.0 + BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' jobs: - template: /eng/common/core-templates/job/job.yml parameters: is1ESPipeline: true + componentGovernanceSteps: + - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.enableSbom, 'true')) }}: + - template: /eng/common/templates/steps/generate-sbom.yml + parameters: + PackageVersion: ${{ parameters.packageVersion }} + BuildDropPath: ${{ parameters.buildDropPath }} + ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom + publishArtifacts: false + # publish artifacts # for 1ES managed templates, use the templateContext.output to handle multiple outputs. templateContext: @@ -17,19 +26,12 @@ jobs: outputs: - ${{ if ne(parameters.artifacts.publish, '') }}: - ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}: - - output: pipelineArtifact - displayName: Publish pipeline artifacts - targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' - artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} - condition: succeeded() - retryCountOnTaskFailure: 10 # for any files being locked - continueOnError: true - - output: pipelineArtifact + - output: buildArtifacts displayName: Publish pipeline artifacts - targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' - artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}_Attempt$(System.JobAttempt) - condition: not(succeeded()) - retryCountOnTaskFailure: 10 # for any files being locked + PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts' + ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} + condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked continueOnError: true - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - output: pipelineArtifact @@ -38,8 +40,8 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() - retryCountOnTaskFailure: 10 # for any files being locked - isProduction: false # logs are non-production artifacts + retryCountOnTaskFailure: 10 # for any logs being locked + sbomEnabled: false # we don't need SBOM for logs - ${{ if eq(parameters.enablePublishBuildArtifacts, true) }}: - output: pipelineArtifact @@ -48,8 +50,7 @@ jobs: artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() - retryCountOnTaskFailure: 10 # for any files being locked - isProduction: false # logs are non-production artifacts + sbomEnabled: false # we don't need SBOM for logs - ${{ if eq(parameters.enableBuildRetry, 'true') }}: - output: pipelineArtifact @@ -57,20 +58,14 @@ jobs: artifactName: 'BuildConfiguration' displayName: 'Publish build retry configuration' continueOnError: true - retryCountOnTaskFailure: 10 # for any files being locked - isProduction: false # BuildConfiguration is a non-production artifact + sbomEnabled: false # we don't need SBOM for BuildConfiguration - # V4 publishing: automatically publish staged artifacts as a pipeline artifact. - # The artifact name matches the SDK's FutureArtifactName ($(System.PhaseName)_Artifacts), - # which is encoded in the asset manifest for downstream publishing to discover. - # Jobs can opt in by setting enablePublishing: true. - - ${{ if and(eq(parameters.publishingVersion, 4), eq(parameters.enablePublishing, 'true')) }}: + - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.enableSbom, 'true')) }}: - output: pipelineArtifact - displayName: 'Publish V4 pipeline artifacts' - targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' - artifactName: '$(System.PhaseName)_Artifacts' + displayName: Publish SBOM manifest continueOnError: true - retryCountOnTaskFailure: 10 # for any files being locked + targetPath: $(Build.ArtifactStagingDirectory)/sbom + artifactName: $(ARTIFACT_NAME) # add any outputs provided via root yaml - ${{ if ne(parameters.templateContext.outputs, '') }}: diff --git a/eng/common/templates-official/steps/component-governance.yml b/eng/common/templates-official/steps/component-governance.yml new file mode 100644 index 000000000000..30bb3985ca2b --- /dev/null +++ b/eng/common/templates-official/steps/component-governance.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/component-governance.yml + parameters: + is1ESPipeline: true + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/templates-official/steps/publish-pipeline-artifacts.yml b/eng/common/templates-official/steps/publish-pipeline-artifacts.yml index 9e5981365e56..172f9f0fdc97 100644 --- a/eng/common/templates-official/steps/publish-pipeline-artifacts.yml +++ b/eng/common/templates-official/steps/publish-pipeline-artifacts.yml @@ -24,7 +24,5 @@ steps: artifactName: ${{ parameters.args.artifactName }} ${{ if parameters.args.properties }}: properties: ${{ parameters.args.properties }} - ${{ if ne(parameters.args.sbomEnabled, '') }}: + ${{ if parameters.args.sbomEnabled }}: sbomEnabled: ${{ parameters.args.sbomEnabled }} - ${{ if ne(parameters.args.isProduction, '') }}: - isProduction: ${{ parameters.args.isProduction }} diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml index 5e261f34db42..7f1b5d97d1ab 100644 --- a/eng/common/templates/job/job.yml +++ b/eng/common/templates/job/job.yml @@ -1,12 +1,12 @@ parameters: enablePublishBuildArtifacts: false + disableComponentGovernance: '' + componentGovernanceIgnoreDirectories: '' +# Sbom related params + enableSbom: true runAsPublic: false -# CG related params, unused now and can eventually be removed - disableComponentGovernance: unused -# Sbom related params, unused now and can eventually be removed - enableSbom: unused - PackageVersion: unused - BuildDropPath: unused + PackageVersion: 9.0.0 + BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts' jobs: - template: /eng/common/core-templates/job/job.yml @@ -21,34 +21,32 @@ jobs: - ${{ each step in parameters.steps }}: - ${{ step }} - # we don't run CG in public - - ${{ if eq(variables['System.TeamProject'], 'public') }}: - - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true" - displayName: Set skipComponentGovernanceDetection variable + componentGovernanceSteps: + - template: /eng/common/templates/steps/component-governance.yml + parameters: + ${{ if eq(parameters.disableComponentGovernance, '') }}: + ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.runAsPublic, 'false'), or(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/dotnet/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/microsoft/'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}: + disableComponentGovernance: false + ${{ else }}: + disableComponentGovernance: true + ${{ else }}: + disableComponentGovernance: ${{ parameters.disableComponentGovernance }} + componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }} artifactPublishSteps: - ${{ if ne(parameters.artifacts.publish, '') }}: - ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}: - - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml + - template: /eng/common/core-templates/steps/publish-build-artifacts.yml parameters: is1ESPipeline: false args: displayName: Publish pipeline artifacts - targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' + pathToPublish: '$(Build.ArtifactStagingDirectory)/artifacts' + publishLocation: Container artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }} continueOnError: true - condition: succeeded() - retryCountOnTaskFailure: 10 # for any files being locked - - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml - parameters: - is1ESPipeline: false - args: - displayName: Publish pipeline artifacts - targetPath: '$(Build.ArtifactStagingDirectory)/artifacts' - artifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}_Attempt$(System.JobAttempt) - continueOnError: true - condition: not(succeeded()) - retryCountOnTaskFailure: 10 # for any files being locked + condition: always() + retryCountOnTaskFailure: 10 # for any logs being locked - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml parameters: @@ -59,7 +57,8 @@ jobs: displayName: 'Publish logs' continueOnError: true condition: always() - retryCountOnTaskFailure: 10 # for any files being locked + retryCountOnTaskFailure: 10 # for any logs being locked + sbomEnabled: false # we don't need SBOM for logs - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml @@ -71,7 +70,7 @@ jobs: artifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)_Attempt$(System.JobAttempt)' ) }} continueOnError: true condition: always() - retryCountOnTaskFailure: 10 # for any files being locked + sbomEnabled: false - ${{ if eq(parameters.enableBuildRetry, 'true') }}: - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml @@ -82,4 +81,4 @@ jobs: artifactName: 'BuildConfiguration' displayName: 'Publish build retry configuration' continueOnError: true - retryCountOnTaskFailure: 10 # for any files being locked + sbomEnabled: false # we don't need SBOM for BuildConfiguration diff --git a/eng/common/templates/steps/component-governance.yml b/eng/common/templates/steps/component-governance.yml new file mode 100644 index 000000000000..c12a5f8d21d7 --- /dev/null +++ b/eng/common/templates/steps/component-governance.yml @@ -0,0 +1,7 @@ +steps: +- template: /eng/common/core-templates/steps/component-governance.yml + parameters: + is1ESPipeline: false + + ${{ each parameter in parameters }}: + ${{ parameter.key }}: ${{ parameter.value }} diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 977a2d4b1039..2b593af51cee 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -34,6 +34,9 @@ # Configures warning treatment in msbuild. [bool]$warnAsError = if (Test-Path variable:warnAsError) { $warnAsError } else { $true } +# Specifies semi-colon delimited list of warning codes that should not be treated as errors. +[string]$warnNotAsError = if (Test-Path variable:warnNotAsError) { $warnNotAsError } else { '' } + # Specifies which msbuild engine to use for build: 'vs', 'dotnet' or unspecified (determined based on presence of tools.vs in global.json). [string]$msbuildEngine = if (Test-Path variable:msbuildEngine) { $msbuildEngine } else { $null } @@ -157,9 +160,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { return $global:_DotNetInstallDir } - # Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism - $env:DOTNET_MULTILEVEL_LOOKUP=0 - # Disable first run since we do not need all ASP.NET packages restored. $env:DOTNET_NOLOGO=1 @@ -225,7 +225,6 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { # Make Sure that our bootstrapped dotnet cli is available in future steps of the Azure Pipelines build Write-PipelinePrependPath -Path $dotnetRoot - Write-PipelineSetVariable -Name 'DOTNET_MULTILEVEL_LOOKUP' -Value '0' Write-PipelineSetVariable -Name 'DOTNET_NOLOGO' -Value '1' return $global:_DotNetInstallDir = $dotnetRoot @@ -299,6 +298,8 @@ function InstallDotNet([string] $dotnetRoot, $dotnetVersionLabel = "'sdk v$version'" + # For performance this check is duplicated in src/Microsoft.DotNet.Arcade.Sdk/src/InstallDotNetCore.cs + # if you are making changes here, consider if you need to make changes there as well. if ($runtime -ne '' -and $runtime -ne 'sdk') { $runtimePath = $dotnetRoot $runtimePath = $runtimePath + "\shared" @@ -592,6 +593,11 @@ function LocateVisualStudio([object]$vsRequirements = $null){ return $null } + if ($null -eq $vsInfo -or $vsInfo.Count -eq 0) { + throw "No instance of Visual Studio meeting the requirements specified was found. Requirements: $($args -join ' ')" + return $null + } + # use first matching instance return $vsInfo[0] } @@ -836,6 +842,10 @@ function MSBuild-Core() { $cmdArgs += ' /p:TreatWarningsAsErrors=false' } + if ($warnAsError -and $warnNotAsError) { + $cmdArgs += " /warnnotaserror:$warnNotAsError /p:AdditionalWarningsNotAsErrors=$warnNotAsError" + } + foreach ($arg in $args) { if ($null -ne $arg -and $arg.Trim() -ne "") { if ($arg.EndsWith('\')) { diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 1b296f646c23..80d2dbd0fe3d 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -52,6 +52,9 @@ fi # Configures warning treatment in msbuild. warn_as_error=${warn_as_error:-true} +# Specifies semi-colon delimited list of warning codes that should not be treated as errors. +warn_not_as_error=${warn_not_as_error:-''} + # True to attempt using .NET Core already that meets requirements specified in global.json # installed on the machine instead of downloading one. use_installed_dotnet_cli=${use_installed_dotnet_cli:-true} @@ -115,9 +118,6 @@ function InitializeDotNetCli { local install=$1 - # Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism - export DOTNET_MULTILEVEL_LOOKUP=0 - # Disable first run since we want to control all package sources export DOTNET_NOLOGO=1 @@ -166,7 +166,6 @@ function InitializeDotNetCli { # build steps from using anything other than what we've downloaded. Write-PipelinePrependPath -path "$dotnet_root" - Write-PipelineSetVariable -name "DOTNET_MULTILEVEL_LOOKUP" -value "0" Write-PipelineSetVariable -name "DOTNET_NOLOGO" -value "1" # return value @@ -188,6 +187,8 @@ function InstallDotNet { local version=$2 local runtime=$4 + # For performance this check is duplicated in src/Microsoft.DotNet.Arcade.Sdk/src/InstallDotNetCore.cs + # if you are making changes here, consider if you need to make changes there as well. local dotnetVersionLabel="'$runtime v$version'" if [[ -n "${4:-}" ]] && [ "$4" != 'sdk' ]; then runtimePath="$root" @@ -532,7 +533,12 @@ function MSBuild-Core { mt_switch="-mt" fi - RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" + local warnnotaserror_switch="" + if [[ -n "$warn_not_as_error" && "$warn_as_error" == true ]]; then + warnnotaserror_switch="/warnnotaserror:$warn_not_as_error /p:AdditionalWarningsNotAsErrors=$warn_not_as_error" + fi + + RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch $mt_switch $warnnotaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" } function GetDarc { diff --git a/global.json b/global.json index 32e5d4729716..6caa2e64febd 100644 --- a/global.json +++ b/global.json @@ -7,7 +7,7 @@ "errorMessage": "The .NET SDK is not installed or is not configured correctly. Please run ./build to install the correct SDK version locally." }, "tools": { - "dotnet": "10.0.105", + "dotnet": "11.0.100-preview.3.26170.106", "runtimes": { "dotnet": [ "$(MicrosoftNETCorePlatformsPackageVersion)" @@ -21,8 +21,8 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26216.115", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.26216.115", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26208.110", + "Microsoft.DotNet.Helix.Sdk": "11.0.0-beta.26208.110", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.WixToolset.Sdk": "5.0.2-dotnet.2811440" From 714a8e62d0bf5b37ac98c6c07a4019c298a746aa Mon Sep 17 00:00:00 2001 From: "Donna Chen (BEYONDSOFT CONSULTING INC)" Date: Tue, 21 Apr 2026 17:14:06 +0800 Subject: [PATCH 136/137] Fix build break --- src/Cli/dotnet/Commands/DotNetCommandFactory.cs | 1 + .../MissingShebangInFileBasedProgramTests.cs | 3 ++- .../GivenThatWeWantToPublishWithIfDifferent.cs | 2 +- .../TestAssetsManager.cs | 2 +- .../CommandTests/NuGet/GivenANuGetCommand.cs | 6 +++--- .../Package/List/GivenDotnetListPackage.cs | 2 +- .../Project/Convert/DotnetProjectConvertTests.cs | 16 ++++++++-------- 7 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/Cli/dotnet/Commands/DotNetCommandFactory.cs b/src/Cli/dotnet/Commands/DotNetCommandFactory.cs index a0f29b643af4..cb096e20a01a 100644 --- a/src/Cli/dotnet/Commands/DotNetCommandFactory.cs +++ b/src/Cli/dotnet/Commands/DotNetCommandFactory.cs @@ -11,6 +11,7 @@ using Microsoft.DotNet.Cli.Utils.Extensions; using Microsoft.DotNet.ProjectTools; using NuGet.Frameworks; +using Microsoft.DotNet.Cli.Commands; namespace Microsoft.DotNet.Cli; diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs index 3ec4c4759d05..5008434fc891 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs @@ -1,4 +1,5 @@ -// Copyright (c) Microsoft. All Rights Reserved. Licensed under the MIT license. See License.txt in the project root for license information. +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.Testing; diff --git a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs index 41166d1476e2..0c35012b946a 100644 --- a/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs +++ b/test/Microsoft.NET.Publish.Tests/GivenThatWeWantToPublishWithIfDifferent.cs @@ -472,7 +472,7 @@ public void It_publishes_content_with_comma_in_filename() testProject.SourceFiles["Program.cs"] = "class Program { static void Main() { } }"; - var testAsset = _testAssetsManager.CreateTestProject(testProject); + var testAsset = TestAssetsManager.CreateTestProject(testProject); var projectDirectory = Path.Combine(testAsset.Path, testProject.Name); diff --git a/test/Microsoft.NET.TestFramework/TestAssetsManager.cs b/test/Microsoft.NET.TestFramework/TestAssetsManager.cs index 6bd79ab6f3c8..662ae1abd77c 100644 --- a/test/Microsoft.NET.TestFramework/TestAssetsManager.cs +++ b/test/Microsoft.NET.TestFramework/TestAssetsManager.cs @@ -58,7 +58,7 @@ public TestAsset CreateTestAsset( var testDestinationDirectory = GetTestDestinationDirectoryPath(name, callingMethod, identifier); TestDestinationDirectories.Add(testDestinationDirectory); - return new TestAsset(testDestinationDirectory, SdkTestContext.Current.SdkVersion, Log); + return new TestAsset(testDestinationDirectory, Log); } /// diff --git a/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs b/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs index c114791fd69c..b0d04d78fbbc 100644 --- a/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs +++ b/test/dotnet.Tests/CommandTests/NuGet/GivenANuGetCommand.cs @@ -139,7 +139,7 @@ public void ItHasAWhySubcommand() [Fact] public void ItHasAWhySubcommand_FileBasedApp() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); var file = Path.Join(testInstance.Path, "Program.cs"); File.WriteAllText(file, $""" #:package Newtonsoft.Json@{ToolsetInfo.GetNewtonsoftJsonPackageVersion()} @@ -163,7 +163,7 @@ public void ItHasAWhySubcommand_FileBasedApp() [Fact] public void ItHasAWhySubcommand_FileBasedApp_WithOptionsBeforePath() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); var file = Path.Join(testInstance.Path, "Program.cs"); File.WriteAllText(file, $""" #:package Newtonsoft.Json@{ToolsetInfo.GetNewtonsoftJsonPackageVersion()} @@ -233,7 +233,7 @@ public void ItCanUpdatePackages() public void ItCanUpdatePackages_FileBasedApp() { // Arrange - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); var file = Path.Join(testInstance.Path, "Program.cs"); File.WriteAllText(file, """ Console.WriteLine(); diff --git a/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs b/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs index dc191367b604..e8ecfba24f12 100644 --- a/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs +++ b/test/dotnet.Tests/CommandTests/Package/List/GivenDotnetListPackage.cs @@ -171,7 +171,7 @@ public void RestoresAndLists_FileBasedApp() var packageId = "Newtonsoft.Json"; var packageVersion = ToolsetInfo.GetNewtonsoftJsonPackageVersion(); - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); var file = Path.Join(testInstance.Path, "file.cs"); File.WriteAllText(file, $""" #:package {packageId}@{packageVersion} diff --git a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs index 7fe878a5e013..c086a15ba518 100644 --- a/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs +++ b/test/dotnet.Tests/CommandTests/Project/Convert/DotnetProjectConvertTests.cs @@ -206,7 +206,7 @@ public static void M() [Fact] public void RefDirective() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" @@ -268,7 +268,7 @@ public static class Greeter [Fact] public void RefDirective_Transitive_Convert() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" @@ -338,7 +338,7 @@ public static class Facade [Fact] public void RefDirective_DuplicateFolderName() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" @@ -387,7 +387,7 @@ public static class Lib { public static string Get() => "b"; } [Fact] public void RefDirective_DuplicateFolderName_Transitive() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" @@ -442,7 +442,7 @@ public static class Lib { public static string Get() => "b"; } [Fact] public void RefDirective_DuplicateFolderName_ViaInclude() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" @@ -500,7 +500,7 @@ public static class Lib { public static string Get() => "b"; } [Fact] public void RefDirective_IncludedItemsCopied() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" @@ -550,7 +550,7 @@ public static class Greeter [Fact] public void RefDirective_IncludedItemsDeleted() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" @@ -604,7 +604,7 @@ public static class Greeter [Fact] public void RefDirective_ConvertScope() { - var testInstance = _testAssetsManager.CreateTestDirectory(); + var testInstance = TestAssetsManager.CreateTestDirectory(); File.WriteAllText(Path.Join(testInstance.Path, "Directory.Build.props"), $""" From 3de2582f6429e65368661b68325c60d9a3d36ffc Mon Sep 17 00:00:00 2001 From: "Donna Chen (BEYONDSOFT CONSULTING INC)" Date: Wed, 22 Apr 2026 14:30:40 +0800 Subject: [PATCH 137/137] Fix xUnit1051 by passing CancellationToken to RunAsync --- .../MissingShebangInFileBasedProgramTests.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs b/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs index 5008434fc891..5008d0800307 100644 --- a/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs +++ b/src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Microsoft.CodeAnalysis.NetAnalyzers.UnitTests/Microsoft.NetCore.Analyzers/Usage/MissingShebangInFileBasedProgramTests.cs @@ -32,7 +32,7 @@ public async Task EntryPointWithoutShebang_MultipleFiles_WarningAsync() new DiagnosticResult(MissingShebangInFileBasedProgram.Rule).WithLocation("Test0.cs", 1, 1), }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -61,7 +61,7 @@ public async Task SingleFile_NoDiagnosticAsync() Sources = { ("Test0.cs", """class Program { static void Main() { } }""") }, AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -106,7 +106,7 @@ class Program { static void Main() { } } [new KeyValuePair("FileBasedProgram", "true")]))); }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -137,7 +137,7 @@ class Program { static void Main() { } } [new KeyValuePair("FileBasedProgram", "true")]))); }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -155,7 +155,7 @@ public async Task EmptyEntryPointFilePath_NoDiagnosticAsync() }, AnalyzerConfigFiles = { ("/.globalconfig", "is_global = true\r\nbuild_property.EntryPointFilePath = ") }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -174,7 +174,7 @@ public async Task GeneratedCodeFile_NoDiagnosticAsync() }, AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -197,7 +197,7 @@ public async Task AutoGeneratedComment_NoDiagnosticAsync() }, AnalyzerConfigFiles = { ("/.globalconfig", GlobalConfig) }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -221,7 +221,7 @@ public async Task GeneratedCodePlusRealFile_WarningAsync() new DiagnosticResult(MissingShebangInFileBasedProgram.Rule).WithLocation("Test0.cs", 1, 1), }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } [Fact] @@ -260,7 +260,7 @@ class Program { static void Main() { } } [new KeyValuePair("FileBasedProgram", "true")]))); }, }, - }.RunAsync(); + }.RunAsync(TestContext.Current.CancellationToken); } } } \ No newline at end of file