From 7377ba4168d02659bee80698fbafb33b07ea99a6 Mon Sep 17 00:00:00 2001 From: maestro-prod-Primary Date: Tue, 24 Sep 2024 23:59:08 +0000 Subject: [PATCH 001/171] Merged PR 43126: [internal/release/8.0.1xx] Update dependencies from dnceng/internal/dotnet-runtime This pull request updates the following dependencies [marker]: <> (Begin:Coherency Updates) ## Coherency Updates The following updates ensure that dependencies with a *CoherentParentDependency* attribute were produced in a build used as input to the parent dependency's build. See [Dependency Description Format](https://github.com/dotnet/arcade/blob/master/Documentation/DependencyDescriptionFormat.md#dependency-description-overview) [DependencyUpdate]: <> (Begin) - **Coherency Updates**: - **Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100**: from 8.0.10 to 8.0.9 (parent: Microsoft.NETCore.App.Runtime.win-x64) [DependencyUpdate]: <> (End) [marker]: <> (End:Coherency Updates) [marker]: <> (Begin:dd95552e-72fb-4363-9b59-08dbd5a5c3e7) ## From https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - **Subscription**: dd95552e-72fb-4363-9b59-08dbd5a5c3e7 - **Build**: 20240924.4 - **Date Produced**: September 24, 2024 10:50:51 PM UTC - **Commit**: 81cabf2857a01351e5ab578947c7403a5b128ad1 - **Branch**: refs/heads/internal/release/8.0 [DependencyUpdate]: <> (Begin) - **Updates**: - **Microsoft.Extensions.DependencyModel**: [from 8.0.2 to 8.0.2][3] - **Microsoft.Extensions.Logging**: [from 8.0.1 to 8.0.1][3] - **Microsoft.Extensions.Logging.Abstractions**: [from 8.0.2 to 8.0.2][3] - **Microsoft.Extensions.Logging.Console**: [from 8.0.1 to 8.0.1][3] - **Microsoft.NET.HostModel**: [from 8.0.10-servicing.24474.6 to 8.0.10-servicing.24474.4][3] - **Microsoft.NET.ILLink.Tasks**: [from 8.0.10 to 8.0.10][3] - **Microsoft.NETCore.App.Host.win-x64**: [from 8.0.10 to 8.0.10][3] - **Microsoft.NETCore.App.Ref**: [from 8.0.10 to 8.0.10][3] - **Microsoft.NETCore.App.Runtime.win-x64**: [from 8.0.10 to 8.0.10][3] - **Microsoft.NETCore.DotNetHostResolver**: [from 8.0.10 to 8.0.10][3] - **Microsoft.NETCore.Platforms**: [from 8.0.10-servicing.24474.6 to 8.0.10-servicing.24474.4][3] - **System.Configuration.ConfigurationManager**: [from 8.0.1 to 8.0.1][3] - **System.Diagnostics.EventLog**: [from 8.0.1 to 8.0.1][3] - **System.Reflection.MetadataLoadContext**: [from 8.0.1 to 8.0.1][3] - **System.Security.Cryptography.Pkcs**: [from 8.0.1 to 8.0.1][3] - **System.Security.Cryptography.Xml**: [from 8.0.2 to 8.0.2][3] - **System.ServiceProcess.ServiceController**: [from 8.0.1 to 8.0.1][3] - **System.Text.Json**: [from 8.0.5 to 8.0.5][3] - **VS.Redist.Common.NetCore.SharedFramework.x64.8.0**: [from 8.0.10-servicing.24474.6 to 8.0.10-servicing.24474.4][3] - **VS.Redist.Common.NetCore.TargetingPack.x64.8.0**: [from 8.0.10-servicing.24474.6 to 8.0.10-servicing.24474.4][3] - **Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100**: [from 8.0.10 to 8.0.9][4] [3]: https://dev.azure.com/dnceng/internal/_git/dotnet-runtime/branches?baseVersion=GCdcf4a22cf8671c1abe880ebec4cfd906c99588bf&targetVersion=GC81cabf2857a01351e5ab578947c7403a5b128ad1&_a=files [4]: https://git... --- NuGet.config | 20 ++++++++++++++++++-- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 4 ++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/NuGet.config b/NuGet.config index 71a12fa43eca..60467758486f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -4,12 +4,18 @@ + + + + + + @@ -22,7 +28,7 @@ - + @@ -31,9 +37,13 @@ + + + + @@ -58,9 +68,13 @@ + + + + @@ -70,7 +84,7 @@ - + @@ -78,6 +92,8 @@ + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 61bca9fd3ddd..c330703a0cf0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -18,12 +18,12 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 @@ -35,11 +35,11 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 diff --git a/eng/Versions.props b/eng/Versions.props index 46eda592f3af..30ed8f340517 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -50,12 +50,12 @@ 8.0.10 - 8.0.10-servicing.24466.10 + 8.0.10-servicing.24474.4 8.0.10 $(MicrosoftNETCoreAppRuntimewinx64PackageVersion) 8.0.2 8.0.10 - 8.0.10-servicing.24466.10 + 8.0.10-servicing.24474.4 8.0.0 8.0.1 8.0.2 From 62c3bd5e53f075cbd13858ddb491876e010ddc16 Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Thu, 17 Oct 2024 23:56:52 +0000 Subject: [PATCH 002/171] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-runtime build 20241017.7 Microsoft.NET.HostModel , Microsoft.NET.ILLink.Tasks , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.10-servicing.24474.4 -> To Version 8.0.11-servicing.24517.7 Dependency coherency updates Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100 From Version 8.0.9 -> To Version 8.0.11 (parent: Microsoft.NETCore.App.Runtime.win-x64 --- NuGet.config | 46 ++++++++++++++++++++++++++++++++++++++--- eng/Version.Details.xml | 40 +++++++++++++++++------------------ eng/Versions.props | 14 ++++++------- 3 files changed, 70 insertions(+), 30 deletions(-) diff --git a/NuGet.config b/NuGet.config index f5d27dffced0..7788db3371e5 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,19 +3,29 @@ - - - + + + + + + + + + + + + + @@ -29,6 +39,7 @@ + @@ -41,7 +52,15 @@ + + + + + + + + @@ -68,12 +87,24 @@ + + + + + + + + + + + + @@ -84,6 +115,7 @@ + @@ -92,7 +124,15 @@ + + + + + + + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f4afa9ed56c0..b6505761fd48 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -14,46 +14,46 @@ b5712b997be1bdfef6bcdf0ff79c3677777894cb - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 81cabf2857a01351e5ab578947c7403a5b128ad1 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 - + https://github.com/dotnet/emsdk - d6672570f0fde2a4a3c7e65d60cec9f8406b039c + f6237140b33bf18c72dccfeda14be8d103c3b93e https://github.com/dotnet/msbuild @@ -200,9 +200,9 @@ https://github.com/microsoft/vstest aa59400b11e1aeee2e8af48928dbd48748a8bef9 - + https://dev.azure.com/dnceng/internal/_git/dotnet-runtime - 81cabf2857a01351e5ab578947c7403a5b128ad1 + 9cb3b725e3ad2b57ddc9fb2dd48d2d170563a8f5 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime diff --git a/eng/Versions.props b/eng/Versions.props index cdf8459b689d..5a7b03312fb0 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -49,18 +49,18 @@ - 8.0.10 - 8.0.10-servicing.24474.4 - 8.0.10 + 8.0.11 + 8.0.11-servicing.24517.7 + 8.0.11 $(MicrosoftNETCoreAppRuntimewinx64PackageVersion) 8.0.2 - 8.0.10 - 8.0.10-servicing.24474.4 + 8.0.11 + 8.0.11-servicing.24517.7 8.0.0 8.0.1 8.0.2 8.0.1 - 8.0.10 + 8.0.11 8.0.0 8.0.0 8.0.10 @@ -225,7 +225,7 @@ - 8.0.9 + 8.0.11 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100PackageVersion) 8.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-rtm|-[A-z]*\.*\d*`)) From d8efb48a35704d70696e0ee3c3637ffe1e009aa5 Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Fri, 18 Oct 2024 09:53:19 +0000 Subject: [PATCH 003/171] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore build 20241018.1 dotnet-dev-certs , dotnet-user-jwts , dotnet-user-secrets , Microsoft.AspNetCore.Analyzers , Microsoft.AspNetCore.App.Ref , Microsoft.AspNetCore.App.Ref.Internal , Microsoft.AspNetCore.App.Runtime.win-x64 , Microsoft.AspNetCore.Authorization , Microsoft.AspNetCore.Components.SdkAnalyzers , Microsoft.AspNetCore.Components.Web , Microsoft.AspNetCore.DeveloperCertificates.XPlat , Microsoft.AspNetCore.Mvc.Analyzers , Microsoft.AspNetCore.Mvc.Api.Analyzers , Microsoft.AspNetCore.TestHost , Microsoft.Extensions.FileProviders.Embedded , Microsoft.Extensions.ObjectPool , Microsoft.JSInterop , VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0 From Version 8.0.10-servicing.24468.4 -> To Version 8.0.11-servicing.24518.1 --- NuGet.config | 20 ++---------- eng/Version.Details.xml | 72 ++++++++++++++++++++--------------------- eng/Versions.props | 16 ++++----- 3 files changed, 46 insertions(+), 62 deletions(-) diff --git a/NuGet.config b/NuGet.config index 7788db3371e5..4220247632dd 100644 --- a/NuGet.config +++ b/NuGet.config @@ -18,15 +18,7 @@ - - - - - - - - - + @@ -86,15 +78,7 @@ - - - - - - - - - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b6505761fd48..95db2ccf75c0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,13 +111,13 @@ https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted @@ -248,50 +248,50 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-wpf e84ed744bb7989299c544f715056d05e220c7e00 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 https://github.com/dotnet/razor @@ -306,21 +306,21 @@ https://github.com/dotnet/razor d135dd8d2ec1c2fbdee220e8656b308694e17a4b - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 https://github.com/dotnet/xdt @@ -437,9 +437,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 5535e31a712343a63f5d7d796cd874e563e5ac14 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - c2a442982e736e17ae6bcadbfd8ccba278ee1be6 + fc878b7641ff2e87598c6425f1a736184deb6619 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime diff --git a/eng/Versions.props b/eng/Versions.props index 5a7b03312fb0..529b8a888e24 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -63,7 +63,7 @@ 8.0.11 8.0.0 8.0.0 - 8.0.10 + 8.0.11 8.0.0 8.0.0 8.0.0 @@ -165,13 +165,13 @@ - 8.0.10 - 8.0.10-servicing.24468.4 - 8.0.10-servicing.24468.4 - 8.0.10-servicing.24468.4 - 8.0.10-servicing.24468.4 - 8.0.10-servicing.24468.4 - 8.0.10 + 8.0.11 + 8.0.11-servicing.24518.1 + 8.0.11-servicing.24518.1 + 8.0.11-servicing.24518.1 + 8.0.11-servicing.24518.1 + 8.0.11-servicing.24518.1 + 8.0.11 From 9c0f04a14f649f93ad3210a718acfe409c9ab852 Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Fri, 18 Oct 2024 18:29:38 +0000 Subject: [PATCH 004/171] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop build 20241018.5 Microsoft.WindowsDesktop.App.Ref , Microsoft.WindowsDesktop.App.Runtime.win-x64 , VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0 , VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0 From Version 8.0.10 -> To Version 8.0.11 Dependency coherency updates Microsoft.NET.Sdk.WindowsDesktop From Version 8.0.10-servicing.24468.10 -> To Version 8.0.11-servicing.24518.4 (parent: Microsoft.WindowsDesktop.App.Ref --- NuGet.config | 24 ++---------------------- eng/Version.Details.xml | 20 ++++++++++---------- eng/Versions.props | 2 +- 3 files changed, 13 insertions(+), 33 deletions(-) diff --git a/NuGet.config b/NuGet.config index 4220247632dd..197aecd001af 100644 --- a/NuGet.config +++ b/NuGet.config @@ -43,17 +43,7 @@ - - - - - - - - - - - + @@ -107,17 +97,7 @@ - - - - - - - - - - - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 95db2ccf75c0..f7d8a4162264 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -228,25 +228,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-runtime 5535e31a712343a63f5d7d796cd874e563e5ac14 - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f655eecd22b6810f2989d8ec783f5798a709ab06 + 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f655eecd22b6810f2989d8ec783f5798a709ab06 + 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f655eecd22b6810f2989d8ec783f5798a709ab06 + 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - f655eecd22b6810f2989d8ec783f5798a709ab06 + 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d - + https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - e84ed744bb7989299c544f715056d05e220c7e00 + 2398667ad95d477c56d7530b619a0bb4d18e3c64 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 529b8a888e24..374c3147419d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -181,7 +181,7 @@ - 8.0.10-servicing.24468.10 + 8.0.11-servicing.24518.4 From bd5c6c6a8c377b6fb49a1221661ef3d301923513 Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Fri, 18 Oct 2024 20:44:04 +0000 Subject: [PATCH 005/171] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore build 20241018.14 dotnet-dev-certs , dotnet-user-jwts , dotnet-user-secrets , Microsoft.AspNetCore.Analyzers , Microsoft.AspNetCore.App.Ref , Microsoft.AspNetCore.App.Ref.Internal , Microsoft.AspNetCore.App.Runtime.win-x64 , Microsoft.AspNetCore.Authorization , Microsoft.AspNetCore.Components.SdkAnalyzers , Microsoft.AspNetCore.Components.Web , Microsoft.AspNetCore.DeveloperCertificates.XPlat , Microsoft.AspNetCore.Mvc.Analyzers , Microsoft.AspNetCore.Mvc.Api.Analyzers , Microsoft.AspNetCore.TestHost , Microsoft.Extensions.FileProviders.Embedded , Microsoft.Extensions.ObjectPool , Microsoft.JSInterop , VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0 From Version 8.0.11-servicing.24518.1 -> To Version 8.0.11-servicing.24518.14 --- NuGet.config | 4 +-- eng/Version.Details.xml | 56 ++++++++++++++++++++--------------------- eng/Versions.props | 10 ++++---- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/NuGet.config b/NuGet.config index 197aecd001af..0c71fd8f6669 100644 --- a/NuGet.config +++ b/NuGet.config @@ -18,7 +18,7 @@ - + @@ -68,7 +68,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f7d8a4162264..829fbc8feccc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,13 +111,13 @@ https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted @@ -250,48 +250,48 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://github.com/dotnet/razor @@ -308,19 +308,19 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://github.com/dotnet/xdt @@ -439,7 +439,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - fc878b7641ff2e87598c6425f1a736184deb6619 + cb771e5630e58486d0ce4dad73bd449e0cb00c67 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime diff --git a/eng/Versions.props b/eng/Versions.props index 374c3147419d..2d0940ac5b3b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -166,11 +166,11 @@ 8.0.11 - 8.0.11-servicing.24518.1 - 8.0.11-servicing.24518.1 - 8.0.11-servicing.24518.1 - 8.0.11-servicing.24518.1 - 8.0.11-servicing.24518.1 + 8.0.11-servicing.24518.14 + 8.0.11-servicing.24518.14 + 8.0.11-servicing.24518.14 + 8.0.11-servicing.24518.14 + 8.0.11-servicing.24518.14 8.0.11 From cf2c44b16b5973b4a40e2c1cb3e730080746d2cc Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Mon, 21 Oct 2024 18:12:19 +0000 Subject: [PATCH 006/171] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore build 20241021.4 dotnet-dev-certs , dotnet-user-jwts , dotnet-user-secrets , Microsoft.AspNetCore.Analyzers , Microsoft.AspNetCore.App.Ref , Microsoft.AspNetCore.App.Ref.Internal , Microsoft.AspNetCore.App.Runtime.win-x64 , Microsoft.AspNetCore.Authorization , Microsoft.AspNetCore.Components.SdkAnalyzers , Microsoft.AspNetCore.Components.Web , Microsoft.AspNetCore.DeveloperCertificates.XPlat , Microsoft.AspNetCore.Mvc.Analyzers , Microsoft.AspNetCore.Mvc.Api.Analyzers , Microsoft.AspNetCore.TestHost , Microsoft.Extensions.FileProviders.Embedded , Microsoft.Extensions.ObjectPool , Microsoft.JSInterop , VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0 From Version 8.0.11-servicing.24518.14 -> To Version 8.0.11-servicing.24521.4 --- NuGet.config | 4 +-- eng/Version.Details.xml | 56 ++++++++++++++++++++--------------------- eng/Versions.props | 10 ++++---- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/NuGet.config b/NuGet.config index 0c71fd8f6669..af1a53dd7cc3 100644 --- a/NuGet.config +++ b/NuGet.config @@ -18,7 +18,7 @@ - + @@ -68,7 +68,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 829fbc8feccc..1b14cdda0f51 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,13 +111,13 @@ https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted @@ -250,48 +250,48 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://github.com/dotnet/razor @@ -308,19 +308,19 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://github.com/dotnet/xdt @@ -439,7 +439,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - cb771e5630e58486d0ce4dad73bd449e0cb00c67 + 8e8ededd851fffe2166dd41bf850caabf833d13a https://dev.azure.com/dnceng/internal/_git/dotnet-runtime diff --git a/eng/Versions.props b/eng/Versions.props index 2d0940ac5b3b..e073906c9370 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -166,11 +166,11 @@ 8.0.11 - 8.0.11-servicing.24518.14 - 8.0.11-servicing.24518.14 - 8.0.11-servicing.24518.14 - 8.0.11-servicing.24518.14 - 8.0.11-servicing.24518.14 + 8.0.11-servicing.24521.4 + 8.0.11-servicing.24521.4 + 8.0.11-servicing.24521.4 + 8.0.11-servicing.24521.4 + 8.0.11-servicing.24521.4 8.0.11 From 74b2f4193396e7910e8e8c792df8f834213e071a Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Tue, 22 Oct 2024 01:39:38 +0000 Subject: [PATCH 007/171] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore build 20241021.16 dotnet-dev-certs , dotnet-user-jwts , dotnet-user-secrets , Microsoft.AspNetCore.Analyzers , Microsoft.AspNetCore.App.Ref , Microsoft.AspNetCore.App.Ref.Internal , Microsoft.AspNetCore.App.Runtime.win-x64 , Microsoft.AspNetCore.Authorization , Microsoft.AspNetCore.Components.SdkAnalyzers , Microsoft.AspNetCore.Components.Web , Microsoft.AspNetCore.DeveloperCertificates.XPlat , Microsoft.AspNetCore.Mvc.Analyzers , Microsoft.AspNetCore.Mvc.Api.Analyzers , Microsoft.AspNetCore.TestHost , Microsoft.Extensions.FileProviders.Embedded , Microsoft.Extensions.ObjectPool , Microsoft.JSInterop , VS.Redist.Common.AspNetCore.SharedFramework.x64.8.0 From Version 8.0.11-servicing.24521.4 -> To Version 8.0.11-servicing.24521.16 --- NuGet.config | 4 +-- eng/Version.Details.xml | 56 ++++++++++++++++++++--------------------- eng/Versions.props | 10 ++++---- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/NuGet.config b/NuGet.config index af1a53dd7cc3..14b394ce61db 100644 --- a/NuGet.config +++ b/NuGet.config @@ -18,7 +18,7 @@ - + @@ -68,7 +68,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1b14cdda0f51..ecd6882b0509 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,13 +111,13 @@ https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://dev.azure.com/devdiv/DevDiv/_git/NuGet-NuGet.Client-Trusted @@ -250,48 +250,48 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 - + https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://github.com/dotnet/razor @@ -308,19 +308,19 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://github.com/dotnet/xdt @@ -439,7 +439,7 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore - 8e8ededd851fffe2166dd41bf850caabf833d13a + 47576478939fdd59b4400ad135f47938af486ab3 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime diff --git a/eng/Versions.props b/eng/Versions.props index e073906c9370..2617991db91a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -166,11 +166,11 @@ 8.0.11 - 8.0.11-servicing.24521.4 - 8.0.11-servicing.24521.4 - 8.0.11-servicing.24521.4 - 8.0.11-servicing.24521.4 - 8.0.11-servicing.24521.4 + 8.0.11-servicing.24521.16 + 8.0.11-servicing.24521.16 + 8.0.11-servicing.24521.16 + 8.0.11-servicing.24521.16 + 8.0.11-servicing.24521.16 8.0.11 From 36cf688b3a5fc0adc8288cbd8022b81c73190646 Mon Sep 17 00:00:00 2001 From: DotNet-Bot Date: Tue, 22 Oct 2024 02:06:56 +0000 Subject: [PATCH 008/171] Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop build 20241021.5 Microsoft.WindowsDesktop.App.Ref , Microsoft.WindowsDesktop.App.Runtime.win-x64 , VS.Redist.Common.WindowsDesktop.SharedFramework.x64.8.0 , VS.Redist.Common.WindowsDesktop.TargetingPack.x64.8.0 From Version 8.0.11 -> To Version 8.0.11 Dependency coherency updates Microsoft.NET.Sdk.WindowsDesktop From Version 8.0.11-servicing.24518.4 -> To Version 8.0.11-servicing.24521.7 (parent: Microsoft.WindowsDesktop.App.Ref --- NuGet.config | 4 ++-- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/NuGet.config b/NuGet.config index 14b394ce61db..c7e45a827c53 100644 --- a/NuGet.config +++ b/NuGet.config @@ -43,7 +43,7 @@ - + @@ -97,7 +97,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ecd6882b0509..820f6e0e749c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -230,23 +230,23 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d + d3e7d292233dc8a3d2df128698239b078d13cdb0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d + d3e7d292233dc8a3d2df128698239b078d13cdb0 https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d + d3e7d292233dc8a3d2df128698239b078d13cdb0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop - 7c8a6299e73d7a3cfee7f77284ee6cabcab2278d + d3e7d292233dc8a3d2df128698239b078d13cdb0 - + https://dev.azure.com/dnceng/internal/_git/dotnet-wpf - 2398667ad95d477c56d7530b619a0bb4d18e3c64 + 42a83a56d421ac71312453e53dbacc3d2ae6d432 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 2617991db91a..ee78d0398d06 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -181,7 +181,7 @@ - 8.0.11-servicing.24518.4 + 8.0.11-servicing.24521.7 From 88e514cd27a62778ca33d785781ed6efea911c83 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 12 Nov 2024 15:24:27 -0800 Subject: [PATCH 009/171] Fix the template tests --- .../sample03/Program.cs | 1 - .../sample03.optional-page.verified/sample03/Program.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.EnableContactPage=true.verified/sample03/Program.cs b/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.EnableContactPage=true.verified/sample03/Program.cs index 48647fceff09..e05e2ef40478 100644 --- a/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.EnableContactPage=true.verified/sample03/Program.cs +++ b/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.EnableContactPage=true.verified/sample03/Program.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.IO; using Microsoft.AspNetCore.Hosting; namespace sample03 diff --git a/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.verified/sample03/Program.cs b/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.verified/sample03/Program.cs index 48647fceff09..e05e2ef40478 100644 --- a/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.verified/sample03/Program.cs +++ b/src/Tests/dotnet-new.Tests/Approvals/sample03.optional-page.verified/sample03/Program.cs @@ -1,7 +1,6 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.IO; using Microsoft.AspNetCore.Hosting; namespace sample03 From 391102290295786565bbd1eb079a3fd22009f729 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 14 Nov 2024 14:04:58 +0000 Subject: [PATCH 010/171] Update dependencies from https://github.com/dotnet/arcade build 20241112.12 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.24525.2 -> To Version 8.0.0-beta.24562.12 --- NuGet.config | 29 ----------------------------- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 4 ++-- global.json | 4 ++-- 4 files changed, 12 insertions(+), 41 deletions(-) diff --git a/NuGet.config b/NuGet.config index cd03b3dbe004..197f5421c117 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,7 +3,6 @@ - @@ -18,7 +17,6 @@ - @@ -26,24 +24,11 @@ - - - - - - - - - - - - - @@ -68,7 +53,6 @@ - @@ -83,21 +67,8 @@ - - - - - - - - - - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 03d202092b4f..eb8d81170185 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -491,22 +491,22 @@ - + https://github.com/dotnet/arcade - 24e02f80c5458d1f75240ae57fc2a98fb8a9022a + 42652ca52cd5f9f637fef2b3ab6148805e3c5168 - + https://github.com/dotnet/arcade - 24e02f80c5458d1f75240ae57fc2a98fb8a9022a + 42652ca52cd5f9f637fef2b3ab6148805e3c5168 - + https://github.com/dotnet/arcade - 24e02f80c5458d1f75240ae57fc2a98fb8a9022a + 42652ca52cd5f9f637fef2b3ab6148805e3c5168 - + https://github.com/dotnet/arcade - 24e02f80c5458d1f75240ae57fc2a98fb8a9022a + 42652ca52cd5f9f637fef2b3ab6148805e3c5168 https://dev.azure.com/dnceng/internal/_git/dotnet-runtime diff --git a/eng/Versions.props b/eng/Versions.props index 1b33e9686308..1b0d99a97fd2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -34,7 +34,7 @@ 7.0.0 4.0.0 7.0.0 - 8.0.0-beta.24525.2 + 8.0.0-beta.24562.12 7.0.0-preview.22423.2 8.0.0 4.3.0 @@ -209,7 +209,7 @@ 6.12.0 6.1.0 - 8.0.0-beta.24525.2 + 8.0.0-beta.24562.12 4.18.4 1.3.2 8.0.0-beta.23607.1 diff --git a/global.json b/global.json index 74fa3ebe3bbb..265d3b6f8cf6 100644 --- a/global.json +++ b/global.json @@ -14,7 +14,7 @@ } }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24525.2", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24525.2" + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24562.12", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24562.12" } } From ccaa6b04892e688fb1d5019d53327183fa0452c0 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 15 Nov 2024 07:20:20 +0000 Subject: [PATCH 011/171] Update dependencies from https://github.com/dotnet/templating build 20241114.2 Microsoft.SourceBuild.Intermediate.templating , Microsoft.TemplateEngine.Abstractions , Microsoft.TemplateEngine.Mocks From Version 8.0.112-servicing.24555.9 -> To Version 8.0.112-servicing.24564.2 --- NuGet.config | 31 +------------------------------ eng/Version.Details.xml | 10 +++++----- eng/Versions.props | 2 +- 3 files changed, 7 insertions(+), 36 deletions(-) diff --git a/NuGet.config b/NuGet.config index cd03b3dbe004..751a6ec00301 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,7 +3,6 @@ - @@ -18,7 +17,6 @@ - @@ -26,24 +24,11 @@ - - - - - - - - - - - - - + - @@ -68,7 +53,6 @@ - @@ -83,21 +67,8 @@ - - - - - - - - - - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 03d202092b4f..efcef83b0da5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -3,15 +3,15 @@ https://github.com/dotnet/templating - 0900b585f72d5ee81844d776a421819dca6e3d05 + ab82351fa7cab9a92a92b4e7082991d66027d10b - + https://github.com/dotnet/templating - 0900b585f72d5ee81844d776a421819dca6e3d05 + ab82351fa7cab9a92a92b4e7082991d66027d10b - + https://github.com/dotnet/templating - 0900b585f72d5ee81844d776a421819dca6e3d05 + ab82351fa7cab9a92a92b4e7082991d66027d10b diff --git a/eng/Versions.props b/eng/Versions.props index 1b33e9686308..1c1667276699 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -143,7 +143,7 @@ $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) - 8.0.112-servicing.24555.9 + 8.0.112-servicing.24564.2 $(MicrosoftTemplateEngineMocksPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineMocksPackageVersion) From dbac1518337ee3b442647fee912162aeea2776b8 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 16 Nov 2024 08:06:50 +0000 Subject: [PATCH 012/171] Update dependencies from https://github.com/dotnet/razor build 20241115.13 Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 7.0.0-preview.24052.1 -> To Version 7.0.0-preview.24565.13 --- NuGet.config | 29 ----------------------------- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 6 +++--- 3 files changed, 9 insertions(+), 38 deletions(-) diff --git a/NuGet.config b/NuGet.config index cd03b3dbe004..197f5421c117 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,7 +3,6 @@ - @@ -18,7 +17,6 @@ - @@ -26,24 +24,11 @@ - - - - - - - - - - - - - @@ -68,7 +53,6 @@ - @@ -83,21 +67,8 @@ - - - - - - - - - - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 03d202092b4f..30f09ad0c9a6 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -293,18 +293,18 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore 47576478939fdd59b4400ad135f47938af486ab3 - + https://github.com/dotnet/razor - d135dd8d2ec1c2fbdee220e8656b308694e17a4b + 0d10fb38d28484fc4189a5441d258d60c3cf2ca3 - + https://github.com/dotnet/razor - d135dd8d2ec1c2fbdee220e8656b308694e17a4b + 0d10fb38d28484fc4189a5441d258d60c3cf2ca3 - + https://github.com/dotnet/razor - d135dd8d2ec1c2fbdee220e8656b308694e17a4b + 0d10fb38d28484fc4189a5441d258d60c3cf2ca3 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 1b33e9686308..42f8054c5fff 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -175,9 +175,9 @@ - 7.0.0-preview.24052.1 - 7.0.0-preview.24052.1 - 7.0.0-preview.24052.1 + 7.0.0-preview.24565.13 + 7.0.0-preview.24565.13 + 7.0.0-preview.24565.13 From 00568869222c5d634cd6ba0b1bc082a6e4b5f37f Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 19 Nov 2024 12:21:59 -0500 Subject: [PATCH 013/171] Don't download Windows SDK ref pack for C++ projects --- ...T.Sdk.FrameworkReferenceResolution.targets | 6 +++++- .../GivenThatWeWantToBuildACppCliProject.cs | 20 +++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets index 97e4c5348de2..9f0f3032b69b 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets +++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets @@ -22,8 +22,12 @@ Copyright (c) .NET Foundation. All rights reserved. + + + Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp' And '$(TargetPlatformIdentifier)' == 'Windows' + And ('$(Language)' != 'C++' Or '$(IncludeWindowsSDKRefFrameworkReferences)' == 'true')"> diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs index 003bf7113278..be05a5d88d31 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildACppCliProject.cs @@ -54,16 +54,32 @@ public void It_builds_and_runs_with_package_reference() var testAsset = _testAssetsManager .CopyTestAsset("NetCoreCsharpAppReferenceCppCliLib") .WithSource() - .WithProjectChanges((projectPath, project) => ConfigureProject(projectPath, project, targetFramework, new string[] { "_EnablePackageReferencesInVCProjects", "IncludeWindowsSDKRefFrameworkReferences" })); + .WithProjectChanges((projectPath, project) => + { + ConfigureProject(projectPath, project, targetFramework, new string[] { "_EnablePackageReferencesInVCProjects", "IncludeWindowsSDKRefFrameworkReferences" }); + + var ns = project.Root.Name.Namespace; + // Use project-specific global packages folder so we can check what was downloaded + project.Root.Element(ns + "PropertyGroup") + .Add(new XElement(ns + "RestorePackagesPath", @"$(MSBuildProjectDirectory)\packages")); + + }); new BuildCommand(testAsset, "NETCoreCppCliTest") - .Execute("-p:Platform=x64") + .WithWorkingDirectory(testAsset.TestRoot) + .Execute("-p:Platform=x64", "/bl") .Should() .Pass(); var cppnProjProperties = GetPropertyValues(testAsset.TestRoot, "NETCoreCppCliTest", targetFramework: targetFramework); Assert.True(cppnProjProperties["_EnablePackageReferencesInVCProjects"] == "true"); Assert.True(cppnProjProperties["IncludeWindowsSDKRefFrameworkReferences"] == ""); + + var packagesFolder = Path.Combine(testAsset.TestRoot, "NETCoreCppCliTest", "packages"); + if (Directory.Exists(packagesFolder)) + { + new DirectoryInfo(packagesFolder).Should().NotHaveSubDirectories("microsoft.windows.sdk.net.ref"); + } } [FullMSBuildOnlyFact] From 90b59c77261e3991f6651943c1068b6770acb2fb Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 22 Nov 2024 13:21:01 +0000 Subject: [PATCH 014/171] Update dependencies from https://github.com/dotnet/msbuild build 20241121.3 Microsoft.SourceBuild.Intermediate.msbuild , Microsoft.Build , Microsoft.Build.Localization From Version 17.12.12-preview-24571-01 -> To Version 17.12.13-preview-24571-03 --- NuGet.config | 2 +- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/NuGet.config b/NuGet.config index 7409d3265d40..cef6e1f8c8b7 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,7 +10,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a88defe4bf43..836ff881b5f0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -73,18 +73,18 @@ 763d10a1a251be35337ee736832bfde3f9200672 - + https://github.com/dotnet/msbuild - 1cce77968bca1366760f361c837ffbc3a6af70f0 + 56cc2a09b3621df8f8cd84631f8c8bfbe7ab06eb - + https://github.com/dotnet/msbuild - 1cce77968bca1366760f361c837ffbc3a6af70f0 + 56cc2a09b3621df8f8cd84631f8c8bfbe7ab06eb - + https://github.com/dotnet/msbuild - 1cce77968bca1366760f361c837ffbc3a6af70f0 + 56cc2a09b3621df8f8cd84631f8c8bfbe7ab06eb diff --git a/eng/Versions.props b/eng/Versions.props index 593676230051..5b9cb91b7257 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -196,8 +196,8 @@ At usage sites, either we use MicrosoftBuildMinimumVersion, or MicrosoftBuildVersion in source-only modes. Additionally, set the MinimumVSVersion for the installer UI that's required for targeting NetCurrent --> - 17.12.12 - 17.12.12-preview-24571-01 + 17.12.13 + 17.12.13-preview-24571-03 17.11.4 17.12 From 6915717eb0b8d456411cff492ee97e1424df2685 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 24 Nov 2024 09:03:28 +0000 Subject: [PATCH 015/171] Update dependencies from https://github.com/dotnet/razor build 20241124.1 Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 7.0.0-preview.24565.13 -> To Version 7.0.0-preview.24574.1 --- eng/Version.Details.xml | 6 +++--- eng/Versions.props | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4557a2acce6f..8158ccda00d1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -293,16 +293,16 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore 47576478939fdd59b4400ad135f47938af486ab3 - + https://github.com/dotnet/razor 0d10fb38d28484fc4189a5441d258d60c3cf2ca3 - + https://github.com/dotnet/razor 0d10fb38d28484fc4189a5441d258d60c3cf2ca3 - + https://github.com/dotnet/razor 0d10fb38d28484fc4189a5441d258d60c3cf2ca3 diff --git a/eng/Versions.props b/eng/Versions.props index 9261bf31ac8e..573ba51b6357 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -175,9 +175,9 @@ - 7.0.0-preview.24565.13 - 7.0.0-preview.24565.13 - 7.0.0-preview.24565.13 + 7.0.0-preview.24574.1 + 7.0.0-preview.24574.1 + 7.0.0-preview.24574.1 From b5228895dab5872950f4c962f980d361b2baa458 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 24 Nov 2024 10:36:54 +0000 Subject: [PATCH 016/171] Update dependencies from https://github.com/dotnet/roslyn build 20241124.2 Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset From Version 4.8.0-7.24527.6 -> To Version 4.8.0-7.24574.2 --- eng/Version.Details.xml | 14 +++++++------- eng/Versions.props | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4557a2acce6f..834ab50aba59 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -82,32 +82,32 @@ 27f18656aab37d71839f562c0653afce07a2d2fd - + https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 - + https://github.com/dotnet/roslyn 4ff64493649bd045ced204661958393dc5575e96 diff --git a/eng/Versions.props b/eng/Versions.props index 9261bf31ac8e..bb3c38c5f56f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -154,13 +154,13 @@ - 4.8.0-7.24527.6 - 4.8.0-7.24527.6 - 4.8.0-7.24527.6 - 4.8.0-7.24527.6 - 4.8.0-7.24527.6 - 4.8.0-7.24527.6 - 4.8.0-7.24527.6 + 4.8.0-7.24574.2 + 4.8.0-7.24574.2 + 4.8.0-7.24574.2 + 4.8.0-7.24574.2 + 4.8.0-7.24574.2 + 4.8.0-7.24574.2 + 4.8.0-7.24574.2 $(MicrosoftNetCompilersToolsetPackageVersion) From 0d47aa1900d5a45b1fdde775c04ea27640c9501a Mon Sep 17 00:00:00 2001 From: Jacques Eloff Date: Sun, 24 Nov 2024 08:56:25 -0800 Subject: [PATCH 017/171] Work around COM concurrency issue when accessing VS instances --- .../list/VisualStudioWorkloads.cs | 60 +++++++++++-------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/VisualStudioWorkloads.cs b/src/Cli/dotnet/commands/dotnet-workload/list/VisualStudioWorkloads.cs index e50d2d345d34..67077b41383e 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/VisualStudioWorkloads.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/list/VisualStudioWorkloads.cs @@ -17,6 +17,8 @@ namespace Microsoft.DotNet.Workloads.Workload #endif internal static class VisualStudioWorkloads { + private static readonly object s_guard = new(); + private const int REGDB_E_CLASSNOTREG = unchecked((int)0x80040154); /// @@ -125,44 +127,50 @@ internal static void GetInstalledWorkloads(IWorkloadResolver workloadResolver, /// A list of Visual Studio instances. private static List GetVisualStudioInstances() { - List vsInstances = new(); - - try + // The underlying COM API has a bug where-by it's not safe for concurrent calls. Until their + // bug fix is rolled out use a lock to ensure we don't concurrently access this API. + // https://dev.azure.com/devdiv/DevDiv/_workitems/edit/2241752/ + lock (s_guard) { - SetupConfiguration setupConfiguration = new(); - ISetupConfiguration2 setupConfiguration2 = setupConfiguration; - IEnumSetupInstances setupInstances = setupConfiguration2.EnumInstances(); - ISetupInstance[] instances = new ISetupInstance[1]; - int fetched = 0; + List vsInstances = new(); - do + try { - setupInstances.Next(1, instances, out fetched); + SetupConfiguration setupConfiguration = new(); + ISetupConfiguration2 setupConfiguration2 = setupConfiguration; + IEnumSetupInstances setupInstances = setupConfiguration2.EnumInstances(); + ISetupInstance[] instances = new ISetupInstance[1]; + int fetched = 0; - if (fetched > 0) + do { - ISetupInstance2 instance = (ISetupInstance2)instances[0]; + setupInstances.Next(1, instances, out fetched); - // .NET Workloads only shipped in 17.0 and later and we should only look at IDE based SKUs - // such as community, professional, and enterprise. - if (Version.TryParse(instance.GetInstallationVersion(), out Version version) && - version.Major >= 17 && - s_visualStudioProducts.Contains(instance.GetProduct().GetId())) + if (fetched > 0) { - vsInstances.Add(instances[0]); + ISetupInstance2 instance = (ISetupInstance2)instances[0]; + + // .NET Workloads only shipped in 17.0 and later and we should only look at IDE based SKUs + // such as community, professional, and enterprise. + if (Version.TryParse(instance.GetInstallationVersion(), out Version version) && + version.Major >= 17 && + s_visualStudioProducts.Contains(instance.GetProduct().GetId())) + { + vsInstances.Add(instances[0]); + } } } + while (fetched > 0); + + } + catch (COMException e) when (e.ErrorCode == REGDB_E_CLASSNOTREG) + { + // Query API not registered, good indication there are no VS installations of 15.0 or later. + // Other exceptions are passed through since that likely points to a real error. } - while (fetched > 0); + return vsInstances; } - catch (COMException e) when (e.ErrorCode == REGDB_E_CLASSNOTREG) - { - // Query API not registered, good indication there are no VS installations of 15.0 or later. - // Other exceptions are passed through since that likely points to a real error. - } - - return vsInstances; } } } From 29a7efdb9840dd757c82230046a2b1509374cfa5 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 25 Nov 2024 13:06:31 +0000 Subject: [PATCH 018/171] Update dependencies from https://github.com/dotnet/templating build 20241125.1 Microsoft.SourceBuild.Intermediate.templating , Microsoft.TemplateEngine.Abstractions , Microsoft.TemplateEngine.Mocks From Version 8.0.308-servicing.24573.3 -> To Version 8.0.308-servicing.24575.1 --- NuGet.config | 2 +- eng/Version.Details.xml | 10 +++++----- eng/Versions.props | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/NuGet.config b/NuGet.config index 0c37cedfa2ea..ddf5b0a2a10f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -26,7 +26,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 03aea9c22bef..2e8df806deda 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -3,15 +3,15 @@ https://github.com/dotnet/templating - b9e9dd0bebf592758ca5aec85ddff3aff049eb4e + 1bd9e10367ab7c8fec384f0915fdb5db046e9286 - + https://github.com/dotnet/templating - b9e9dd0bebf592758ca5aec85ddff3aff049eb4e + 1bd9e10367ab7c8fec384f0915fdb5db046e9286 - + https://github.com/dotnet/templating - b9e9dd0bebf592758ca5aec85ddff3aff049eb4e + 1bd9e10367ab7c8fec384f0915fdb5db046e9286 diff --git a/eng/Versions.props b/eng/Versions.props index 93ca47525efc..2af4b58e59ae 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -147,7 +147,7 @@ $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) - 8.0.308-servicing.24573.3 + 8.0.308-servicing.24575.1 $(MicrosoftTemplateEngineMocksPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineMocksPackageVersion) From 7c3086cd9f36436dc8529748877ff5c26f8c9d1f Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 26 Nov 2024 12:18:56 -0500 Subject: [PATCH 019/171] Add hook for importing .props file after .NET SDK props --- .../Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props index 2cfe0e4e20e4..73f89886b87c 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props +++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props @@ -170,4 +170,7 @@ Copyright (c) .NET Foundation. All rights reserved. + + + From 0ce25ca1d0f2095c85a69a17856fc204c9b4081d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 27 Nov 2024 13:53:34 +0000 Subject: [PATCH 020/171] Update dependencies from https://github.com/dotnet/razor build 20241127.3 Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24574.4 -> To Version 9.0.0-preview.24577.3 --- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e75e3ee4fe45..6385888068c4 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -293,18 +293,18 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore 47576478939fdd59b4400ad135f47938af486ab3 - + https://github.com/dotnet/razor - b4ba32397a657a228890b10fd6cd84c9fa7035a8 + c937db618f8c8739c6fa66ab4ca541344a468fdc - + https://github.com/dotnet/razor - b4ba32397a657a228890b10fd6cd84c9fa7035a8 + c937db618f8c8739c6fa66ab4ca541344a468fdc - + https://github.com/dotnet/razor - b4ba32397a657a228890b10fd6cd84c9fa7035a8 + c937db618f8c8739c6fa66ab4ca541344a468fdc https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index bf16cd9ffe8d..90de60acb8fa 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -179,9 +179,9 @@ - 9.0.0-preview.24574.4 - 9.0.0-preview.24574.4 - 9.0.0-preview.24574.4 + 9.0.0-preview.24577.3 + 9.0.0-preview.24577.3 + 9.0.0-preview.24577.3 From 76d396cdffbe0848ff16601e9f943a9718a09cfe Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada <114938397+surayya-MS@users.noreply.github.com> Date: Mon, 2 Dec 2024 19:28:48 +0100 Subject: [PATCH 021/171] Support publishing of multi-architecture OCI container images (#43085) Co-authored-by: Chet Husk Co-authored-by: Chet Husk --- .../ImageBuilder.cs | 3 + .../ImageIndexGenerator.cs | 100 ++++ .../PublicAPI/net472/PublicAPI.Unshipped.txt | 6 +- .../PublicAPI/net8.0/PublicAPI.Unshipped.txt | 21 +- .../Registry/DefaultManifestOperations.cs | 5 +- .../Registry/IManifestOperations.cs | 2 +- .../Registry/Registry.cs | 18 +- .../Resources/Strings.Designer.cs | 63 +++ .../Resources/Strings.resx | 29 ++ .../Resources/xlf/Strings.cs.xlf | 37 ++ .../Resources/xlf/Strings.de.xlf | 37 ++ .../Resources/xlf/Strings.es.xlf | 37 ++ .../Resources/xlf/Strings.fr.xlf | 37 ++ .../Resources/xlf/Strings.it.xlf | 37 ++ .../Resources/xlf/Strings.ja.xlf | 37 ++ .../Resources/xlf/Strings.ko.xlf | 37 ++ .../Resources/xlf/Strings.pl.xlf | 37 ++ .../Resources/xlf/Strings.pt-BR.xlf | 37 ++ .../Resources/xlf/Strings.ru.xlf | 37 ++ .../Resources/xlf/Strings.tr.xlf | 37 ++ .../Resources/xlf/Strings.zh-Hans.xlf | 37 ++ .../Resources/xlf/Strings.zh-Hant.xlf | 37 ++ .../Tasks/ComputeDotnetBaseImageAndTag.cs | 47 +- .../Tasks/CreateImageIndex.cs | 169 ++++++ .../Tasks/CreateNewImage.Interface.cs | 4 + .../Tasks/CreateNewImage.cs | 1 + .../Microsoft.NET.Build.Containers.props | 1 + .../Microsoft.NET.Build.Containers.targets | 155 +++++- .../CreateImageIndexTests.cs | 169 ++++++ .../DockerSupportsArchFact.cs | 19 + .../DockerSupportsArchInlineData.cs | 26 +- .../EndToEndTests.cs | 481 ++++++++++++++++++ .../TargetsTests.cs | 33 ++ .../ImageIndexGeneratorTests.cs | 166 ++++++ 34 files changed, 1956 insertions(+), 43 deletions(-) create mode 100644 src/Containers/Microsoft.NET.Build.Containers/ImageIndexGenerator.cs create mode 100644 src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateImageIndex.cs create mode 100644 src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/CreateImageIndexTests.cs create mode 100644 src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs create mode 100644 src/Tests/Microsoft.NET.Build.Containers.UnitTests/ImageIndexGeneratorTests.cs diff --git a/src/Containers/Microsoft.NET.Build.Containers/ImageBuilder.cs b/src/Containers/Microsoft.NET.Build.Containers/ImageBuilder.cs index cc832263f909..bf0876344f28 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/ImageBuilder.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/ImageBuilder.cs @@ -50,6 +50,9 @@ internal ImageBuilder(ManifestV2 manifest, string manifestMediaType, ImageConfig /// public bool IsWindows => _baseImageConfig.IsWindows; + // For tests + internal string ManifestConfigDigest => _manifest.Config.digest; + /// /// Builds the image configuration ready for further processing. /// diff --git a/src/Containers/Microsoft.NET.Build.Containers/ImageIndexGenerator.cs b/src/Containers/Microsoft.NET.Build.Containers/ImageIndexGenerator.cs new file mode 100644 index 000000000000..bc23073080ea --- /dev/null +++ b/src/Containers/Microsoft.NET.Build.Containers/ImageIndexGenerator.cs @@ -0,0 +1,100 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Text.Json; +using System.Text.Json.Nodes; +using Microsoft.NET.Build.Containers.Resources; +using Microsoft.NET.Build.Containers.Tasks; + +namespace Microsoft.NET.Build.Containers; + +internal readonly struct ImageInfo +{ + internal string Config { get; init; } + internal string ManifestDigest { get; init; } + internal string Manifest { get; init; } + internal string ManifestMediaType { get; init; } + + public override string ToString() => ManifestDigest; +} + +internal static class ImageIndexGenerator +{ + /// + /// Generates an image index from the given images. + /// + /// + /// Returns json string of image index and image index mediaType. + /// + /// + internal static (string, string) GenerateImageIndex(ImageInfo[] imageInfos) + { + if (imageInfos.Length == 0) + { + throw new ArgumentException(string.Format(Strings.ImagesEmpty)); + } + + string manifestMediaType = imageInfos[0].ManifestMediaType; + + if (!imageInfos.All(image => string.Equals(image.ManifestMediaType, manifestMediaType, StringComparison.OrdinalIgnoreCase))) + { + throw new ArgumentException(Strings.MixedMediaTypes); + } + + if (manifestMediaType == SchemaTypes.DockerManifestV2) + { + return GenerateImageIndex(imageInfos, SchemaTypes.DockerManifestV2, SchemaTypes.DockerManifestListV2); + } + else if (manifestMediaType == SchemaTypes.OciManifestV1) + { + return GenerateImageIndex(imageInfos, SchemaTypes.OciManifestV1, SchemaTypes.OciImageIndexV1); + } + else + { + throw new NotSupportedException(string.Format(Strings.UnsupportedMediaType, manifestMediaType)); + } + } + + private static (string, string) GenerateImageIndex(ImageInfo[] images, string manifestMediaType, string imageIndexMediaType) + { + // Here we are using ManifestListV2 struct, but we could use ImageIndexV1 struct as well. + // We are filling the same fiels, so we can use the same struct. + var manifests = new PlatformSpecificManifest[images.Length]; + for (int i = 0; i < images.Length; i++) + { + var image = images[i]; + + var manifest = new PlatformSpecificManifest + { + mediaType = manifestMediaType, + size = image.Manifest.Length, + digest = image.ManifestDigest, + platform = GetArchitectureAndOsFromConfig(image) + }; + manifests[i] = manifest; + } + + var dockerManifestList = new ManifestListV2 + { + schemaVersion = 2, + mediaType = imageIndexMediaType, + manifests = manifests + }; + + return (JsonSerializer.SerializeToNode(dockerManifestList)?.ToJsonString() ?? "", dockerManifestList.mediaType); + } + + private static PlatformInformation GetArchitectureAndOsFromConfig(ImageInfo image) + { + var configJson = JsonNode.Parse(image.Config) as JsonObject ?? + throw new ArgumentException($"{nameof(image.Config)} should be a JSON object.", nameof(image.Config)); + + var architecture = configJson["architecture"]?.ToString() ?? + throw new ArgumentException($"{nameof(image.Config)} should contain 'architecture'.", nameof(image.Config)); + + var os = configJson["os"]?.ToString() ?? + throw new ArgumentException($"{nameof(image.Config)} should contain 'os'.", nameof(image.Config)); + + return new PlatformInformation { architecture = architecture, os = os }; + } +} diff --git a/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net472/PublicAPI.Unshipped.txt b/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net472/PublicAPI.Unshipped.txt index 6dd6551ddb37..43526e9c3ab4 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net472/PublicAPI.Unshipped.txt +++ b/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net472/PublicAPI.Unshipped.txt @@ -62,6 +62,8 @@ Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerDigest.get Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerDigest.set -> void Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedArchiveOutputPath.get -> string! Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedArchiveOutputPath.set -> void +Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerMediaType.get -> string! +Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerMediaType.set -> void Microsoft.NET.Build.Containers.Tasks.CreateNewImage.Repository.get -> string! Microsoft.NET.Build.Containers.Tasks.CreateNewImage.Repository.set -> void Microsoft.NET.Build.Containers.Tasks.CreateNewImage.ImageTags.get -> string![]! @@ -123,8 +125,8 @@ Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsTrimmed.get Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsTrimmed.set -> void Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsSelfContained.get -> bool Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsSelfContained.set -> void -Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifier.get -> string! -Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifier.set -> void +Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifiers.get -> string![]! +Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifiers.set -> void Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.UsesInvariantGlobalization.get -> bool Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.UsesInvariantGlobalization.set -> void Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag diff --git a/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net8.0/PublicAPI.Unshipped.txt index 1522357b9a11..b19e4fa81718 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net8.0/PublicAPI.Unshipped.txt +++ b/src/Containers/Microsoft.NET.Build.Containers/PublicAPI/net8.0/PublicAPI.Unshipped.txt @@ -12,12 +12,27 @@ Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsTrimmed.get Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsTrimmed.set -> void Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsSelfContained.get -> bool Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.IsSelfContained.set -> void -Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifier.get -> string! -Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifier.set -> void +Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifiers.get -> string![]! +Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.TargetRuntimeIdentifiers.set -> void Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.UserBaseImage.get -> string? Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.UserBaseImage.set -> void Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.UsesInvariantGlobalization.get -> bool Microsoft.NET.Build.Containers.Tasks.ComputeDotnetBaseImageAndTag.UsesInvariantGlobalization.set -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.Cancel() -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.CreateImageIndex() -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.Dispose() -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.GeneratedImageIndex.get -> string! +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.GeneratedImageIndex.set -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.ImageTags.get -> string![]! +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.ImageTags.set -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.GeneratedContainers.get -> Microsoft.Build.Framework.ITaskItem![]! +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.GeneratedContainers.set -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.OutputRegistry.get -> string! +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.OutputRegistry.set -> void +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.Repository.get -> string! +Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.Repository.set -> void +override Microsoft.NET.Build.Containers.Tasks.CreateImageIndex.Execute() -> bool static readonly Microsoft.NET.Build.Containers.Constants.Version -> string! Microsoft.NET.Build.Containers.ContainerHelpers Microsoft.NET.Build.Containers.ContainerHelpers.ParsePortError @@ -196,6 +211,8 @@ Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerDigest.get Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerDigest.set -> void Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedArchiveOutputPath.get -> string! Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedArchiveOutputPath.set -> void +Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerMediaType.get -> string! +Microsoft.NET.Build.Containers.Tasks.CreateNewImage.GeneratedContainerMediaType.set -> void Microsoft.NET.Build.Containers.Tasks.CreateNewImage.Repository.get -> string! Microsoft.NET.Build.Containers.Tasks.CreateNewImage.Repository.set -> void Microsoft.NET.Build.Containers.Tasks.CreateNewImage.ImageTags.get -> string![]! diff --git a/src/Containers/Microsoft.NET.Build.Containers/Registry/DefaultManifestOperations.cs b/src/Containers/Microsoft.NET.Build.Containers/Registry/DefaultManifestOperations.cs index ac8492e359d7..b874fb14788c 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Registry/DefaultManifestOperations.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/Registry/DefaultManifestOperations.cs @@ -38,10 +38,9 @@ public async Task GetAsync(string repositoryName, string re }; } - public async Task PutAsync(string repositoryName, string reference, ManifestV2 manifest, string mediaType, CancellationToken cancellationToken) + public async Task PutAsync(string repositoryName, string reference, string manifestJson, string mediaType, CancellationToken cancellationToken) { - string jsonString = JsonSerializer.SerializeToNode(manifest)?.ToJsonString() ?? ""; - HttpContent manifestUploadContent = new StringContent(jsonString); + HttpContent manifestUploadContent = new StringContent(manifestJson); manifestUploadContent.Headers.ContentType = new MediaTypeHeaderValue(mediaType); HttpResponseMessage putResponse = await _client.PutAsync(new Uri(_baseUri, $"/v2/{repositoryName}/manifests/{reference}"), manifestUploadContent, cancellationToken).ConfigureAwait(false); diff --git a/src/Containers/Microsoft.NET.Build.Containers/Registry/IManifestOperations.cs b/src/Containers/Microsoft.NET.Build.Containers/Registry/IManifestOperations.cs index 16751a5c6685..23381179403d 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Registry/IManifestOperations.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/Registry/IManifestOperations.cs @@ -14,5 +14,5 @@ internal interface IManifestOperations { public Task GetAsync(string repositoryName, string reference, CancellationToken cancellationToken); - public Task PutAsync(string repositoryName, string reference, ManifestV2 manifest, string mediaType, CancellationToken cancellationToken); + public Task PutAsync(string repositoryName, string reference, string manifestListJson, string mediaType, CancellationToken cancellationToken); } diff --git a/src/Containers/Microsoft.NET.Build.Containers/Registry/Registry.cs b/src/Containers/Microsoft.NET.Build.Containers/Registry/Registry.cs index 956da4416979..f09cfd6fd4a3 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Registry/Registry.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/Registry/Registry.cs @@ -3,12 +3,12 @@ using Microsoft.Extensions.Logging; using Microsoft.NET.Build.Containers.Resources; +using NuGet.Packaging; using NuGet.RuntimeModel; using System.Diagnostics; using System.Net.Http.Json; using System.Text.Json; using System.Text.Json.Nodes; -using System.Text.RegularExpressions; namespace Microsoft.NET.Build.Containers; @@ -527,6 +527,17 @@ private async Task UploadBlobAsync(string repository, string digest, Stream cont } + public async Task PushManifestListAsync(string repositoryName, string[] tags, string manifestListJson, string mediaType, CancellationToken cancellationToken) + { + cancellationToken.ThrowIfCancellationRequested(); + foreach (var tag in tags) + { + _logger.LogInformation(Strings.Registry_TagUploadStarted, tag, RegistryName); + await _registryAPI.Manifest.PutAsync(repositoryName, tag, manifestListJson, mediaType, cancellationToken).ConfigureAwait(false); + _logger.LogInformation(Strings.Registry_TagUploaded, tag, RegistryName); + } + } + public Task PushAsync(BuiltImage builtImage, SourceImageReference source, DestinationImageReference destination, CancellationToken cancellationToken) => PushAsync(builtImage, source, destination, pushTags: true, cancellationToken); @@ -591,13 +602,14 @@ private async Task PushAsync(BuiltImage builtImage, SourceImageReference source, // Tags can refer to an image manifest or an image manifest list. // In the first case, we push tags to the registry. // In the second case, we push the manifest digest so the manifest list can refer to it. + string manifestJson = JsonSerializer.SerializeToNode(builtImage.Manifest)?.ToJsonString() ?? ""; if (pushTags) { Debug.Assert(destination.Tags.Length > 0); foreach (string tag in destination.Tags) { _logger.LogInformation(Strings.Registry_TagUploadStarted, tag, RegistryName); - await _registryAPI.Manifest.PutAsync(destination.Repository, tag, builtImage.Manifest, builtImage.ManifestMediaType, cancellationToken).ConfigureAwait(false); + await _registryAPI.Manifest.PutAsync(destination.Repository, tag, manifestJson, builtImage.ManifestMediaType, cancellationToken).ConfigureAwait(false); _logger.LogInformation(Strings.Registry_TagUploaded, tag, RegistryName); } } @@ -605,7 +617,7 @@ private async Task PushAsync(BuiltImage builtImage, SourceImageReference source, { string manifestDigest = builtImage.Manifest.GetDigest(); _logger.LogInformation(Strings.Registry_ManifestUploadStarted, RegistryName, manifestDigest); - await _registryAPI.Manifest.PutAsync(destination.Repository, manifestDigest, builtImage.Manifest, builtImage.ManifestMediaType, cancellationToken).ConfigureAwait(false); + await _registryAPI.Manifest.PutAsync(destination.Repository, manifestDigest, manifestJson, builtImage.ManifestMediaType, cancellationToken).ConfigureAwait(false); _logger.LogInformation(Strings.Registry_ManifestUploaded, RegistryName); } } diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.Designer.cs b/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.Designer.cs index 0edd6dbaa53e..aff92942f408 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.Designer.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.Designer.cs @@ -168,6 +168,15 @@ internal static string BlobUploadFailed { } } + /// + /// Looks up a localized string similar to Building image index '{0}' on top of manifests {1}.. + /// + internal static string BuildingImageIndex { + get { + return ResourceManager.GetString("BuildingImageIndex", resourceCulture); + } + } + /// /// Looks up a localized string similar to Pushed image '{0}' to {1}.. /// @@ -339,6 +348,15 @@ internal static string HostObjectNotDetected { } } + /// + /// Looks up a localized string similar to Pushed image index '{0}' to registry '{1}'.. + /// + internal static string ImageIndexUploadedToRegistry { + get { + return ResourceManager.GetString("ImageIndexUploadedToRegistry", resourceCulture); + } + } + /// /// Looks up a localized string similar to CONTAINER1009: Failed to load image from local registry. stdout: {0}. /// @@ -357,6 +375,15 @@ internal static string ImagePullNotSupported { } } + /// + /// Looks up a localized string similar to Cannot create manifest list (image index) because no images were provided.. + /// + internal static string ImagesEmpty { + get { + return ResourceManager.GetString("ImagesEmpty", resourceCulture); + } + } + /// /// Looks up a localized string similar to CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring.. /// @@ -366,6 +393,15 @@ internal static string InvalidEnvVar { } } + /// + /// Looks up a localized string similar to Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata.. + /// + internal static string InvalidImageMetadata { + get { + return ResourceManager.GetString("InvalidImageMetadata", resourceCulture); + } + } + /// /// Looks up a localized string similar to CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character.. /// @@ -447,6 +483,15 @@ internal static string InvalidTags { } } + /// + /// Looks up a localized string similar to Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none.. + /// + internal static string InvalidTargetRuntimeIdentifiers { + get { + return ResourceManager.GetString("InvalidTargetRuntimeIdentifiers", resourceCulture); + } + } + /// /// Looks up a localized string similar to CONTAINER1003: Token response had neither token nor access_token.. /// @@ -510,6 +555,15 @@ internal static string MissingPortNumber { } } + /// + /// Looks up a localized string similar to 'mediaType' of manifests should be the same in manifest list (image index).. + /// + internal static string MixedMediaTypes { + get { + return ResourceManager.GetString("MixedMediaTypes", resourceCulture); + } + } + /// /// Looks up a localized string similar to CONTAINER1004: No RequestUri specified.. /// @@ -753,6 +807,15 @@ internal static string UnrecognizedMediaType { } } + /// + /// Looks up a localized string similar to Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'.. + /// + internal static string UnsupportedMediaType { + get { + return ResourceManager.GetString("UnsupportedMediaType", resourceCulture); + } + } + /// /// Looks up a localized string similar to Unable to create tarball for mediaType '{0}'.. /// diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.resx b/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.resx index f25119f51fd4..6337f4861b8e 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.resx +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/Strings.resx @@ -201,6 +201,9 @@ CONTAINER2019: Invalid SDK semantic version '{0}'. {StrBegin="CONTAINER2019: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + CONTAINER2018: Invalid SDK prerelease version '{0}' - only 'rc' and 'preview' are supported. {StrBegin="CONTAINER2018: "} @@ -347,10 +350,36 @@ Pushed image '{0}' to registry '{1}'. + + Pushed image index '{0}' to registry '{1}'. + + Building image '{0}' with tags '{1}' on top of base image '{2}'. + + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + + + 'mediaType' of manifests should be the same in manifest list (image index). + + + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + + + Cannot create manifest list (image index) because no images were provided. + + + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + Error while reading daemon config: {0} {0} is the exception message that ends with period diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf index 625eab883915..f0d7173a9cea 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf @@ -57,6 +57,13 @@ CONTAINER1001: Nepovedlo se nahrát objekt blob pomocí {0}; přijatý stavový kód {1} {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. Image {0} byla vložena do {1}. @@ -152,6 +159,11 @@ Nebyl zjištěn žádný objekt hostitele. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: Nepodařilo se načíst bitovou kopii z místního registru. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: Načítání imagí z místního registru se nepodporuje. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: '{1}' není platná proměnná prostředí. Ignorování. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: Odvozený název image „{0}“ obsahuje zcela neplatné znaky. Platné znaky pro název obrázku jsou alfanumerické znaky, -, /, nebo _, a název obrázku musí začínat alfanumerickým znakem. @@ -212,6 +234,11 @@ CONTAINER2010: Byla zadána neplatná {0} : {1}. {0} musí být seznam platných značek obrázků oddělených středníky. Značky obrázků musí být alfanumerické, podtržítka, spojovníky nebo tečky. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: Odpověď tokenu neměla token ani access_token. @@ -247,6 +274,11 @@ CONTAINER2016: Položka ContainerPort '{0}' neurčuje číslo portu. Ujistěte se prosím, že položka Include je číslo portu, například <ContainerPort Include="80" />. {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: Nebyl zadán žádný identifikátor RequestUri. @@ -382,6 +414,11 @@ CONTAINER2001: Nerozpoznaný typ mediaType '{0}'. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf index 6249a6147f07..ea8fc611e0a0 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf @@ -57,6 +57,13 @@ CONTAINER1001: Fehler beim Hochladen des Blobs mit {0}; der Statuscode „{1}“ wurde empfangen. {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. Bild "{0}" wurde in {1} gepusht. @@ -152,6 +159,11 @@ Es wurde kein Hostobjekt erkannt. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: Fehler beim Laden des Images aus der lokalen Registrierung. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: Das Pullen von Images aus der lokalen Registrierung wird nicht unterstützt. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: „{1}“ war keine gültige Umgebungsvariable. Sie wird ignoriert. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: Der abgeleitete Imagename '{0}' enthält vollständig ungültige Zeichen. Die gültigen Zeichen für einen Bildnamen sind alphanumerische Zeichen, -, /, oder _, und der Bildname muss mit einem alphanumerischen Zeichen beginnen. @@ -212,6 +234,11 @@ CONTAINER2010: Ungültige {0} angegeben: {1}. {0} muss eine durch Semikolons getrennte Liste gültiger Imagetags sein. Imagetags müssen alphanumerisch, Unterstrich, Bindestrich oder Punkt sein. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: Die Tokenantwort enthielt weder ein Token noch access_token. @@ -247,6 +274,11 @@ CONTAINER2016: Das ContainerPort-Element „{0}“ gibt keine Portnummer an. Stellen Sie sicher, dass der Include des Elements eine Portnummer ist, z. B. „<ContainerPort Include="80" />“ {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: Es wurde kein RequestUri angegeben. @@ -382,6 +414,11 @@ CONTAINER2001: Unbekannter mediaType „{0}“. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf index d2efae9ef3da..b4921dcbdf47 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf @@ -57,6 +57,13 @@ CONTAINER1001: no se pudo cargar el blob mediante {0}; se ha recibido el código de estado "{1}". {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. Insertada la imagen “{0}” en {1}. @@ -152,6 +159,11 @@ No se detectó ningún objeto host. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: no se pudo cargar la imagen desde el registro local. Stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: No se admite la extracción de imágenes del registro local. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: "{1}" no era una variable de entorno válida. Ignorando. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: el nombre de imagen inferido '{0}' contiene caracteres totalmente no válidos. Los caracteres válidos para un nombre de imagen son los caracteres alfanuméricos, -, /, o _; el nombre de imagen tiene que comenzar con uno. @@ -212,6 +234,11 @@ CONTAINER2010: se proporcionó un {0} no válido: {1}. {0} debe ser una lista delimitada por punto y coma de etiquetas de imagen válidas. Las etiquetas de imagen deben ser alfanuméricas, con guion bajo, guiones o puntos. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: La respuesta del token no tenía ningún token ni access_token. @@ -247,6 +274,11 @@ CONTAINER2016: El elemento ContainerPort "{0}" no especifica el número de puerto. Asegúrate de que la inclusión del elemento es un número de puerto, por ejemplo, "<ContainerPort Include="80" />" {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: No se especificó RequestUri. @@ -382,6 +414,11 @@ CONTAINER2001: mediaType "{0}" no reconocido. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf index 42802ae171c9..b945393a8398 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf @@ -57,6 +57,13 @@ CONTAINER1001: échec du chargement de l’objet blob à l’aide de {0}; le code d’état «{1}» a été reçu. {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. L’image '{0}' a été envoyée à {1}. @@ -152,6 +159,11 @@ Aucun objet hôte détecté. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: Échec du chargement de l'image à partir du registre local. sortie standard : {0} @@ -162,11 +174,21 @@ CONTAINER1010: L'extraction d'images à partir du registre local n'est pas prise en charge. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0} : '{1}' n’était pas une variable d’environnement valide. Ignorant. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: le nom d'image déduit '{0}' contient des caractères entièrement non valides. Les caractères valides pour un nom d'image sont les caractères alphanumériques, -, / ou _, et le nom de l'image doit commencer par un caractère alphanumérique. @@ -212,6 +234,11 @@ CONTAINER2010: {0} non valide fournie : {1}. {0} doit être une liste de balises d’image valides délimitées par des points-virgules. Les balises d’image doivent être alphanumériques, traits de soulignement, traits d’union ou point. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: la réponse de jeton n’avait ni jeton ni access_token. @@ -247,6 +274,11 @@ CONTAINER2016: l’élément ContainerPort '{0}' ne spécifie pas le numéro de port. Vérifiez que l’élément Include est un numéro de port, par exemple '<ContainerPort Include="80" />' {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: aucun RequestUri spécifié. @@ -382,6 +414,11 @@ CONTAINER2001: '{0}' mediaType non reconnu. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf index 7223f8af5cc2..b42327bbfb94 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf @@ -57,6 +57,13 @@ CONTAINER1001: non è stato possibile caricare il BLOB usando {0}; codice di stato ricevuto '{1}'. {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. È stato eseguito il push dell'immagine '{0}' in {1}. @@ -152,6 +159,11 @@ Nessun oggetto host rilevato. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: non è stato possibile caricare l'immagine dal registro locale. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: il pull di immagini dal registro locale non è supportato. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: '{1}' non è una variabile di ambiente valida. Il valore verrà ignorato. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: il nome dell'immagine dedotto '{0}' contiene caratteri completamente non validi. I caratteri validi per un nome di immagine sono caratteri alfanumerici, -, / o _, e il nome dell'immagine deve iniziare con un carattere alfanumerico. @@ -212,6 +234,11 @@ CONTAINER2010: il valore {0} specificato non è valido: {1}. {0} deve essere un elenco delimitato da punto e virgola di tag di immagine validi. I tag immagine devono essere alfanumerici, di sottolineatura, trattino o punto. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: la risposta del token non contiene né token né access_token. @@ -247,6 +274,11 @@ CONTAINER2016: l'elemento ContainerPort '{0}' non specifica il numero di porta. Assicurarsi che il valore Include dell'elemento sia un numero di porta, ad esempio '<ContainerPort Include="80" />' {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: nessun RequestUri specificato. @@ -382,6 +414,11 @@ CONTAINER2001: mediaType '{0}' non riconosciuto. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf index 450d8ae75014..5d2cf22f0f8c 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf @@ -57,6 +57,13 @@ CONTAINER1001: {0} を使用して BLOB をアップロードできませんでした; 状態コード '{1}' を受信しました。 {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. イメージ '{0}' を {1} にプッシュしました。 @@ -152,6 +159,11 @@ ホスト オブジェクトが検出されませんでした。 + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: ローカル レジストリからイメージを読み込めませんでした。stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: ローカル レジストリからのイメージのプルはサポートされていません。 {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: '{1}' は有効な環境変数ではありませんでした。無視しています。 {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: 推定されたイメージ名 '{0}' に、完全に無効な文字が含まれています。イメージ名に有効な文字は英数字、-、/、または _で、イメージ名の先頭には英数字を使用する必要があります。 @@ -212,6 +234,11 @@ CONTAINER2010: 無効な {0} が指定されました: {1}。{0} は、セミコロンで区切られた有効なイメージ タグのリストである必要があります。イメージ タグは、英数字、アンダースコア、ハイフン、またはピリオドである必要があります。 {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: トークン応答にトークンも access_token もありませんでした。 @@ -247,6 +274,11 @@ CONTAINER2016: ContainerPort 項目 '{0}' でポート番号が指定されていません。項目の Include がポート番号 (e '<ContainerPort Include="80" />' など) であることを確認してください {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: RequestUri が指定されていません。 @@ -382,6 +414,11 @@ CONTAINER2001: 認識されない mediaType '{0}' です。 {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf index e0738ef570c3..2ff624cec676 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf @@ -57,6 +57,13 @@ CONTAINER1001: {0}을(를) 사용하여 Blob을 업로드하지 못했습니다. '{1}' 상태 코드를 수신했습니다. {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. '{0}' 이미지를 {1}에 푸시했습니다. @@ -152,6 +159,11 @@ 호스트 개체가 검색되지 않았습니다. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: 로컬 레지스트리에서 이미지를 로드하지 못했습니다. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: 로컬 레지스트리에서 이미지 끌어오기가 지원되지 않습니다. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: '{1}'은(는) 유효한 환경 변수가 아닙니다. 무시 중. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: 유추된 이미지 이름 '{0}'에 완전히 잘못된 문자가 포함되어 있습니다. 이미지 이름의 유효한 문자는 영숫자, -, /또는 _이며 이미지 이름은 영숫자 문자로 시작해야 합니다. @@ -212,6 +234,11 @@ CONTAINER2010: 잘못된 {0}이(가) 제공됨: {1}. {0}은(는) 세미콜론으로 구분된 유효한 이미지 태그 목록이어야 합니다. 이미지 태그는 영숫자, 밑줄, 하이픈 또는 마침표여야 합니다. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: 토큰 응답에 토큰이나 access_token이 없습니다. @@ -247,6 +274,11 @@ CONTAINER2016: ContainerPort 항목 '{0}'이(가) 포트 번호를 지정하지 않습니다. 항목의 포함이 포트 번호인지 확인하세요(예: '<ContainerPort Include="80" />'). {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: RequestUri가 지정되지 않았습니다. @@ -382,6 +414,11 @@ CONTAINER2001: 미디어 유형 '{0}'을(를) 인식할 수 없습니다. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf index 52cf4c885809..86288597ee7c 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf @@ -57,6 +57,13 @@ CONTAINER1001: nie można przekazać obiektu blob przy użyciu {0}; odebrano kod stanu „{1}”. {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. Wypchnięty obraz „{0}” do „{1}”. @@ -152,6 +159,11 @@ Nie wykryto obiektu hosta. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: Nie można załadować obrazu z rejestru lokalnego. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: Ściąganie obrazów z rejestru lokalnego nie jest obsługiwane. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: „{1}” nie jest prawidłową zmienną środowiskową. Ignorowanie. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: Wywnioskowana nazwa obrazu „{0}” zawiera całkowicie nieprawidłowe znaki. Prawidłowe znaki nazwy obrazu to znaki alfanumeryczne oraz —, /, lub _, a nazwa obrazu musi zaczynać się znakiem alfanumerycznym. @@ -212,6 +234,11 @@ CONTAINER2010: podano nieprawidłowy {0}: {1}. {0} musi być rozdzielaną średnikami listą prawidłowych tagów obrazów. Tagi obrazów muszą być alfanumeryczne, zawierać podkreślenia, łączniki lub kropki. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: odpowiedź tokenu nie miała tokenu ani access_token. @@ -247,6 +274,11 @@ CONTAINER2016: element ContainerPort „{0}” nie określa numeru portu. Upewnij się, że element Include jest numerem portu, na przykład „<ContainerPort Include="80" />” {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: nie określono identyfikatora RequestUri. @@ -382,6 +414,11 @@ CONTAINER2001: nierozpoznany typ nośnika „{0}”. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf index 924b5f101b46..69fcf3548d8d 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf @@ -57,6 +57,13 @@ CONTAINER1001: Falha ao carregar o blob usando {0}; código de status recebido '{1}'. {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. Imagem enviada '{0}' para {1}. @@ -152,6 +159,11 @@ Nenhum objeto de host detectado. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: falha ao carregar a imagem do registro local. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: A extração de imagens do registro local não é suportada. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: '{1}' não era uma variável de ambiente válida. Ignorando. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: o nome da imagem inferida '{0}' contém caracteres totalmente inválidos. Os caracteres válidos para um nome de imagem são caracteres alfanuméricos, -, / ou _, e o nome da imagem deve começar com um caractere alfanumérico. @@ -212,6 +234,11 @@ CONTAINER2010: inválido {0} fornecido: {1}. {0} deve ser uma lista delimitada por ponto-e-vírgula de marcas de imagem válidas. As tags de imagem devem ser alfanuméricas, sublinhado, hífen ou ponto. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: A resposta do token não tinha token nem access_token. @@ -247,6 +274,11 @@ CONTAINER2016: O item ContainerPort '{0}' não especifica o número da porta. Certifique-se de que o Include do item seja um número de porta, por exemplo '<ContainerPort Include="80" />' {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: Nenhum RequestUri especificado. @@ -382,6 +414,11 @@ CONTAINER2001: MediaType não reconhecido '{0}'. {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf index 25f88cbf8fd7..2989bc8e9687 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf @@ -57,6 +57,13 @@ CONTAINER1001: не удалось отправить BLOB-объект с помощью {0}; получен код состояния "{1}". {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. Изображение "{0}" отправлено в {1}. @@ -152,6 +159,11 @@ Объект узла не обнаружен. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: не удалось загрузить образ из локального реестра. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: извлечение образов из локального реестра не поддерживается. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: "{1}" не является допустимой переменной среды. Пропуск. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: Предполагаемое имя изображения "{0}" содержит совершенно недопустимые символы. Допустимыми символами для имени изображения являются буквенно-цифровые символы, -, / или _, а имя изображения должно начинаться с буквенно-цифрового символа. @@ -212,6 +234,11 @@ CONTAINER2010: предоставлен недопустимый {0}: {1}. {0} должен быть списком допустимых тегов изображений, разделенных точкой с запятой. В качестве тегов изображений допускаются буквы, цифры, символы подчеркивания, дефисы и точки. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: ответ токена не содержит маркера и access_token. @@ -247,6 +274,11 @@ CONTAINER2016: элемент ContainerPort "{0}" не указывает номер порта. Убедитесь, что include элемента является номером порта, например "<ContainerPort Include="80" />" {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: не указан RequestUri. @@ -382,6 +414,11 @@ CONTAINER2001: нераспознанный тип мультимедиа "{0}". {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf index 4c6caf1e6dbb..42fcb52485c7 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf @@ -57,6 +57,13 @@ CONTAINER1001: Blob, {0} kullanarak karşıya yüklenemedi; '{1}' durum kodu alındı. {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. '{0}' görüntüsü {1} konumuna gönderildi. @@ -152,6 +159,11 @@ Ana bilgisayar nesnesi algılanmadı. + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: Görüntü yerel kayıt defterinden yüklenemedi. stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: Yerel kayıt defterinden görüntü çekme desteklenmiyor. {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: '{1}' geçerli bir Ortam Değişkeni değildi. Görmezden geliniyor. {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: Çıkarsanan '{0}' görüntü adı tamamen geçersiz karakterler içeriyor. Bir görüntü adında geçerli karakterler şunlardan oluşur: alfasayısal karakterler, -, /, veya _. Görüntü adı alfasayısal karakterle başlamalıdır. @@ -212,6 +234,11 @@ CONTAINER2010: Geçersiz {0} sağlandı: {1}. {0}, geçerli resim etiketlerinin noktalı virgülle ayrılmış listesi olmalıdır. Resim etiketleri alfasayısal, alt çizgi, kısa çizgi veya nokta olmalıdır. {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: Belirteç yanıtında belirteç veya access_token yok. @@ -247,6 +274,11 @@ CONTAINER2016: ContainerPort öğesi ('{0}'), bağlantı noktası numarasını belirtmiyor. Lütfen öğenin Include değerinin bir bağlantı noktası numarası olduğundan emin olun, örneğin '<ContainerPort Include="80" />' {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: RequestUri belirtilmedi. @@ -382,6 +414,11 @@ CONTAINER2001: Tanınmayan mediaType ('{0}'). {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf index 175a9084fc20..8eb6429f7db6 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf @@ -57,6 +57,13 @@ CONTAINER1001: 无法使用 {0} 上传 blob;已收到状态代码“{1}”。 {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. 已将图像“{0}”推送到 {1}。 @@ -152,6 +159,11 @@ 未检测到主机对象。 + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: 未能从本地注册表加载映像。stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: 不支持从本地注册表拉取映像。 {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: "{1}" 不是有效的环境变量。忽略。 {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: 推断的图像名称“{0}”包含完全无效的字符。图像名称的有效字符包括字母数字字符、-、/ 或 _,图像名称必须以字母数字字符开头。 @@ -212,6 +234,11 @@ CONTAINER2010: 提供的 {0} 无效: {1}。{0} 必须是有效图像标记的分号分隔列表。图像标记必须是字母数字、下划线、连字符或句点。 {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: 令牌响应既没有令牌,也没有access_token。 @@ -247,6 +274,11 @@ CONTAINER2016: ContainerPort 项“{0}”未指定端口号。请确保项的 Include 是端口号,例如 "<ContainerPort Include="80" />" {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: 未指定 RequestUri。 @@ -382,6 +414,11 @@ CONTAINER2001: 无法识别 mediaType“{0}”。 {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf index 0333461575af..892b174bbe97 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf @@ -57,6 +57,13 @@ CONTAINER1001: 無法使用 {0} 上傳 blob; 收到狀態碼 '{1}'。 {StrBegin="CONTAINER1001: "} + + Building image index '{0}' on top of manifests {1}. + Building image index '{0}' on top of manifests {1}. + + {0} is the name of the image index and its tag, {1} is the list of manifests digests + + Pushed image '{0}' to {1}. 已將影像 '{0}' 推送至 {1}。 @@ -152,6 +159,11 @@ 未偵測到主機物件。 + + Pushed image index '{0}' to registry '{1}'. + Pushed image index '{0}' to registry '{1}'. + + CONTAINER1009: Failed to load image from local registry. stdout: {0} CONTAINER1009: 無法從本機登錄載入映像。stdout: {0} @@ -162,11 +174,21 @@ CONTAINER1010: 不支援從本機登錄提取映像。 {StrBegin="CONTAINER1010: "} + + Cannot create manifest list (image index) because no images were provided. + Cannot create manifest list (image index) because no images were provided. + + CONTAINER2015: {0}: '{1}' was not a valid Environment Variable. Ignoring. CONTAINER2015: {0}: '{1}' 不是有效的環境變數。正在忽略。 {StrBegin="CONTAINER2015: "} + + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + Cannot create manifest list (image index) because provided images are invalid. Items must have 'Config', 'Manifest', 'ManifestMediaType' and 'ManifestDigest' metadata. + + CONTAINER2005: The inferred image name '{0}' contains entirely invalid characters. The valid characters for an image name are alphanumeric characters, -, /, or _, and the image name must start with an alphanumeric character. CONTAINER2005: 推斷的映像名稱 '{0}' 包含完全無效字元。映像名稱的有效字元是英數字元、-、/ 或 _,並且映像名稱必須以英數字元開頭。 @@ -212,6 +234,11 @@ CONTAINER2010: 提供的 {0} 無效: {1}。{0} 必須是有效映像標記的分號分隔清單。映像標記必須是英數字元、底線、連字號或句號。 {StrBegin="CONTAINER2010: "} + + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + Invalid string[] TargetRuntimeIdentifiers. Either all should be 'linux-musl' or none. + + CONTAINER1003: Token response had neither token nor access_token. CONTAINER1003: 權杖回應沒有權杖,也沒有access_token。 @@ -247,6 +274,11 @@ CONTAINER2016: ContainerPort 項目 '{0}' 未指定連接埠號碼。請確保項目的 Include 是連接埠號碼,例如 '<ContainerPort Include="80" />' {StrBegin="CONTAINER2016: "} + + 'mediaType' of manifests should be the same in manifest list (image index). + 'mediaType' of manifests should be the same in manifest list (image index). + + CONTAINER1004: No RequestUri specified. CONTAINER1004: 未指定 RequestUri。 @@ -382,6 +414,11 @@ CONTAINER2001: 無法辨識的 mediaType '{0}'。 {StrBegin="CONTAINER2001: "} + + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + Cannot create manifest list (image index) for the provided 'mediaType' = '{0}'. + + Unable to create tarball for mediaType '{0}'. Unable to create tarball for mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Tasks/ComputeDotnetBaseImageAndTag.cs b/src/Containers/Microsoft.NET.Build.Containers/Tasks/ComputeDotnetBaseImageAndTag.cs index 836b44e90751..b5573582900b 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Tasks/ComputeDotnetBaseImageAndTag.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/Tasks/ComputeDotnetBaseImageAndTag.cs @@ -44,7 +44,7 @@ public sealed class ComputeDotnetBaseImageAndTag : Microsoft.Build.Utilities.Tas /// If this is set to linux-musl-ARCH then we need to use `alpine` for all containers, and tag on `aot` or `extra` as necessary. /// [Required] - public string TargetRuntimeIdentifier { get; set; } + public string[] TargetRuntimeIdentifiers { get; set; } /// /// If a project is self-contained then it includes a runtime, and so the runtime-deps image should be used. @@ -84,7 +84,7 @@ public sealed class ComputeDotnetBaseImageAndTag : Microsoft.Build.Utilities.Tas FrameworkReferences.Length > 0 && FrameworkReferences.Any(x => x.ItemSpec.Equals("Microsoft.AspNetCore.App", StringComparison.OrdinalIgnoreCase)); - private bool IsMuslRid => TargetRuntimeIdentifier.StartsWith("linux-musl", StringComparison.Ordinal); + private bool IsMuslRid; private bool IsBundledRuntime => IsSelfContained; private bool RequiresInference => String.IsNullOrEmpty(UserBaseImage); @@ -99,7 +99,7 @@ public ComputeDotnetBaseImageAndTag() TargetFrameworkVersion = ""; ContainerFamily = ""; FrameworkReferences = []; - TargetRuntimeIdentifier = ""; + TargetRuntimeIdentifiers = []; UserBaseImage = ""; } @@ -113,16 +113,39 @@ public override bool Execute() } else { - var defaultRegistry = RegistryConstants.MicrosoftContainerRegistryDomain; - if (ComputeRepositoryAndTag(out var repository, out var tag)) + if (TargetRuntimeIdentiriersAreValid()) { - ComputedContainerBaseImage = $"{defaultRegistry}/{repository}:{tag}"; - LogInferencePerformedTelemetry($"{defaultRegistry}/{repository}", tag!); + var defaultRegistry = RegistryConstants.MicrosoftContainerRegistryDomain; + if (ComputeRepositoryAndTag(out var repository, out var tag)) + { + ComputedContainerBaseImage = $"{defaultRegistry}/{repository}:{tag}"; + LogInferencePerformedTelemetry($"{defaultRegistry}/{repository}", tag!); + } } return !Log.HasLoggedErrors; } } + private bool TargetRuntimeIdentiriersAreValid() + { + // For "linux-musl" RIDs we choose the alpine base image. + // And because we compute the base image only once, we need to ensure that all RIDs are "linux-musl" or none of them. + var muslRidsCount = TargetRuntimeIdentifiers.Count(rid => rid.StartsWith("linux-musl", StringComparison.Ordinal)); + if (muslRidsCount > 0) + { + if (muslRidsCount == TargetRuntimeIdentifiers.Length) + { + IsMuslRid = true; + } + else + { + Log.LogError(Resources.Strings.InvalidTargetRuntimeIdentifiers); + return false; + } + } + return true; + } + private string UbuntuCodenameForSDKVersion(SemanticVersion version) { if (version >= SemanticVersion.Parse("8.0.300")) @@ -314,14 +337,14 @@ private void LogNoInferencePerformedTelemetry() containerFamily = ContainerFamily; } } - var telemetryData = new InferenceTelemetryData(InferencePerformed: false, TargetFramework: ParseSemVerToMajorMinor(TargetFrameworkVersion), userBaseImage, userTag, containerFamily, GetTelemetryProjectType(), GetTelemetryPublishMode(), UsesInvariantGlobalization, TargetRuntimeIdentifier); + var telemetryData = new InferenceTelemetryData(InferencePerformed: false, TargetFramework: ParseSemVerToMajorMinor(TargetFrameworkVersion), userBaseImage, userTag, containerFamily, GetTelemetryProjectType(), GetTelemetryPublishMode(), UsesInvariantGlobalization, TargetRuntimeIdentifiers); LogTelemetryData(telemetryData); } private void LogInferencePerformedTelemetry(string imageName, string tag) { // for all inference use cases we will use .NET's images, so we can safely log name, tag, and family - var telemetryData = new InferenceTelemetryData(InferencePerformed: true, TargetFramework: ParseSemVerToMajorMinor(TargetFrameworkVersion), imageName, tag, String.IsNullOrEmpty(ContainerFamily) ? null : ContainerFamily, GetTelemetryProjectType(), GetTelemetryPublishMode(), UsesInvariantGlobalization, TargetRuntimeIdentifier); + var telemetryData = new InferenceTelemetryData(InferencePerformed: true, TargetFramework: ParseSemVerToMajorMinor(TargetFrameworkVersion), imageName, tag, String.IsNullOrEmpty(ContainerFamily) ? null : ContainerFamily, GetTelemetryProjectType(), GetTelemetryPublishMode(), UsesInvariantGlobalization, TargetRuntimeIdentifiers); LogTelemetryData(telemetryData); } @@ -342,7 +365,7 @@ private void LogTelemetryData(InferenceTelemetryData telemetryData) { nameof(telemetryData.ProjectType), telemetryData.ProjectType.ToString() }, { nameof(telemetryData.PublishMode), telemetryData.PublishMode.ToString() }, { nameof(telemetryData.IsInvariant), telemetryData.IsInvariant.ToString() }, - { nameof(telemetryData.TargetRuntime), telemetryData.TargetRuntime } + { nameof(telemetryData.TargetRuntimes), string.Join(";", telemetryData.TargetRuntimes) } }; Log.LogTelemetry("sdk/container/inference", telemetryProperties); } @@ -359,8 +382,8 @@ private void LogTelemetryData(InferenceTelemetryData telemetryData) /// Classifies the project into categories - currently only the broad categories of web/console are known. /// Categorizes the publish mode of the app - FDD, SC, Trimmed, AOT in rough order of complexity/container customization /// We make inference decisions on the invariant-ness of the project, so it's useful to track how often that is used. - /// Different RIDs change the inference calculation, so it's useful to know how different RIDs flow into the results of inference. - private record class InferenceTelemetryData(bool InferencePerformed, string TargetFramework, string? BaseImage, string? BaseImageTag, string? ContainerFamily, ProjectType ProjectType, PublishMode PublishMode, bool IsInvariant, string TargetRuntime); + /// Different RIDs change the inference calculation, so it's useful to know how different RIDs flow into the results of inference. + private record class InferenceTelemetryData(bool InferencePerformed, string TargetFramework, string? BaseImage, string? BaseImageTag, string? ContainerFamily, ProjectType ProjectType, PublishMode PublishMode, bool IsInvariant, string[] TargetRuntimes); private enum ProjectType { AspNetCore, diff --git a/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateImageIndex.cs b/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateImageIndex.cs new file mode 100644 index 000000000000..0894686603d2 --- /dev/null +++ b/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateImageIndex.cs @@ -0,0 +1,169 @@ +// 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.Framework; +using Microsoft.Extensions.Logging; +using Microsoft.NET.Build.Containers.Logging; +using Microsoft.NET.Build.Containers.Resources; +using ILogger = Microsoft.Extensions.Logging.ILogger; +using Task = System.Threading.Tasks.Task; + +namespace Microsoft.NET.Build.Containers.Tasks; + +public sealed class CreateImageIndex : Microsoft.Build.Utilities.Task, ICancelableTask, IDisposable +{ + #region Parameters + /// + /// Manifests to include in the image index. + /// + [Required] + public ITaskItem[] GeneratedContainers { get; set; } + + /// + /// The registry to push the image index to. + /// + [Required] + public string OutputRegistry { get; set; } + + /// + /// The name of the output image index (manifest list) that will be pushed to the registry. + /// + [Required] + public string Repository { get; set; } + + /// + /// The tag to associate with the new image index (manifest list). + /// + [Required] + public string[] ImageTags { get; set; } + + /// + /// The generated image index (manifest list) in JSON format. + /// + [Output] + public string GeneratedImageIndex { get; set; } + + public CreateImageIndex() + { + GeneratedContainers = Array.Empty(); + OutputRegistry = string.Empty; + Repository = string.Empty; + ImageTags = Array.Empty(); + GeneratedImageIndex = string.Empty; + } + #endregion + + private readonly CancellationTokenSource _cancellationTokenSource = new(); + + public void Cancel() => _cancellationTokenSource.Cancel(); + + public void Dispose() + { + _cancellationTokenSource.Dispose(); + } + + public override bool Execute() + { + try + { + Task.Run(() => ExecuteAsync(_cancellationTokenSource.Token)).GetAwaiter().GetResult(); + } + catch (TaskCanceledException ex) + { + Log.LogWarningFromException(ex); + } + catch (OperationCanceledException ex) + { + Log.LogWarningFromException(ex); + } + return !Log.HasLoggedErrors; + } + + internal async Task ExecuteAsync(CancellationToken cancellationToken) + { + cancellationToken.ThrowIfCancellationRequested(); + + var images = ParseImages(); + if (Log.HasLoggedErrors) + { + return false; + } + + using MSBuildLoggerProvider loggerProvider = new(Log); + ILoggerFactory msbuildLoggerFactory = new LoggerFactory(new[] { loggerProvider }); + ILogger logger = msbuildLoggerFactory.CreateLogger(); + + logger.LogInformation(Strings.BuildingImageIndex, GetRepositoryAndTagsString(), string.Join(", ", images.Select(i => i.ManifestDigest))); + + try + { + (string imageIndex, string mediaType) = ImageIndexGenerator.GenerateImageIndex(images); + + GeneratedImageIndex = imageIndex; + + await PushToRemoteRegistry(GeneratedImageIndex, mediaType, logger, cancellationToken); + } + catch (ContainerHttpException e) + { + if (BuildEngine != null) + { + Log.LogErrorFromException(e, true); + } + } + catch (ArgumentException ex) + { + Log.LogErrorFromException(ex); + } + + return !Log.HasLoggedErrors; + } + + private ImageInfo[] ParseImages() + { + var images = new ImageInfo[GeneratedContainers.Length]; + + for (int i = 0; i < GeneratedContainers.Length; i++) + { + var unparsedImage = GeneratedContainers[i]; + + string config = unparsedImage.GetMetadata("Configuration"); + string manifestDigest = unparsedImage.GetMetadata("ManifestDigest"); + string manifest = unparsedImage.GetMetadata("Manifest"); + string manifestMediaType = unparsedImage.GetMetadata("ManifestMediaType"); + + if (string.IsNullOrEmpty(config) || string.IsNullOrEmpty(manifestDigest) || string.IsNullOrEmpty(manifest)) + { + Log.LogError(Strings.InvalidImageMetadata, unparsedImage.ItemSpec); + break; + } + + images[i] = new ImageInfo + { + Config = config, + ManifestDigest = manifestDigest, + Manifest = manifest, + ManifestMediaType = manifestMediaType + }; + } + + return images; + } + + private async Task PushToRemoteRegistry(string manifestList, string mediaType, ILogger logger, CancellationToken cancellationToken) + { + cancellationToken.ThrowIfCancellationRequested(); + Debug.Assert(ImageTags.Length > 0); + var registry = new Registry(OutputRegistry, logger, RegistryMode.Push); + await registry.PushManifestListAsync(Repository, ImageTags, manifestList, mediaType, cancellationToken).ConfigureAwait(false); + logger.LogInformation(Strings.ImageIndexUploadedToRegistry, GetRepositoryAndTagsString(), OutputRegistry); + } + + private string? _repositoryAndTagsString = null; + + private string GetRepositoryAndTagsString() + { + _repositoryAndTagsString ??= $"{Repository}:{string.Join(", ", ImageTags)}"; + return _repositoryAndTagsString; + } +} diff --git a/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.Interface.cs b/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.Interface.cs index 4f69658c66d2..3da5135b9b07 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.Interface.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.Interface.cs @@ -173,6 +173,9 @@ partial class CreateNewImage [Output] public string GeneratedArchiveOutputPath { get; set; } + [Output] + public string GeneratedContainerMediaType { get; set; } + [Output] public ITaskItem[] GeneratedContainerNames { get; set; } @@ -208,6 +211,7 @@ public CreateNewImage() GeneratedContainerManifest = ""; GeneratedContainerDigest = ""; GeneratedArchiveOutputPath = ""; + GeneratedContainerMediaType = ""; GeneratedContainerNames = Array.Empty(); GenerateLabels = false; diff --git a/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.cs b/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.cs index 7655a05a9464..25ba26080af9 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.cs +++ b/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.cs @@ -174,6 +174,7 @@ internal async Task ExecuteAsync(CancellationToken cancellationToken) GeneratedContainerConfiguration = builtImage.Config; GeneratedContainerDigest = builtImage.Manifest.GetDigest(); GeneratedArchiveOutputPath = ArchiveOutputPath; + GeneratedContainerMediaType = builtImage.ManifestMediaType; GeneratedContainerNames = destinationImageReference.FullyQualifiedImageNames().Select(name => new Microsoft.Build.Utilities.TaskItem(name)).ToArray(); switch (destinationImageReference.Kind) diff --git a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.props b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.props index c44684e057f1..9838aa1d7801 100644 --- a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.props +++ b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.props @@ -15,6 +15,7 @@ + diff --git a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets index 16c70d8e09dc..da20cdc0a8fc 100644 --- a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets +++ b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets @@ -34,14 +34,21 @@ + $(RuntimeIdentifiers) - $(RuntimeIdentifier) - linux-$(NETCoreSdkPortableRuntimeIdentifier.Split('-')[1]) + $(RuntimeIdentifier) + linux-$(NETCoreSdkPortableRuntimeIdentifier.Split('-')[1]) + <_ContainerIsUsingMicrosoftDefaultImages Condition="'$(ContainerBaseImage)' == ''">true <_ContainerIsUsingMicrosoftDefaultImages Condition="'$(ContainerBaseImage)' != ''">false + + <_TargetRuntimeIdentifiers Include="$(ContainerRuntimeIdentifiers)" Condition="'$(ContainerRuntimeIdentifiers)' != ''" /> + <_TargetRuntimeIdentifiers Include="$(ContainerRuntimeIdentifier)" Condition="'$(ContainerRuntimeIdentifiers)' == ''" /> + + + + + <_TargetRuntimeIdentifiers Remove ="$(_TargetRuntimeIdentifiers)" /> + @@ -99,10 +110,10 @@ - - + + - + @@ -230,10 +241,8 @@ - - + $(NetCoreRoot) dotnet @@ -272,7 +281,133 @@ + + + + + $(GeneratedContainerManifest) + $(GeneratedContainerConfiguration) + $(GeneratedContainerDigest) + $(GeneratedContainerMediaType) + + + + + + + + + <_rids Include="$(ContainerRuntimeIdentifiers)" Condition="'$(ContainerRuntimeIdentifiers)' != ''" /> + <_rids Include="$(RuntimeIdentifiers)" Condition="'$(ContainerRuntimeIdentifiers)' == '' and '$(RuntimeIdentifiers)' != ''" /> + <_InnerBuild + Include="$(MSBuildProjectFullPath)" + AdditionalProperties=" + ContainerRuntimeIdentifier=%(_rids.Identity); + RuntimeIdentifier=%(_rids.Identity); + ContainerBaseRegistry=$(ContainerBaseRegistry); + ContainerBaseName=$(ContainerBaseName); + ContainerBaseTag=$(ContainerBaseTag); + ContainerRegistry=$(ContainerRegistry); + _ContainerImageTags=@(ContainerImageTags, ';'); + ContainerRepository=$(ContainerRepository); + ContainerWorkingDirectory=$(ContainerWorkingDirectory); + _ContainerEntrypoint=@(ContainerEntrypoint, ';'); + _ContainerEntrypointArgs=@(ContainerEntrypointArgs, ';'); + _ContainerAppCommand=@(ContainerAppCommand, ';'); + _ContainerAppCommandArgs=@(ContainerAppCommandArgs, ';'); + ContainerAppCommandInstruction=$(ContainerAppCommandInstruction); + _ContainerDefaultArgs=@(ContainerDefaultArgs, ';'); + _ContainerLabel=@(ContainerLabel->'%(Identity):%(Value)'); + _ContainerPort=@(ContainerPort->'%(Identity):%(Type)'); + _ContainerEnvironmentVariables=@(ContainerEnvironmentVariable->'%(Identity):%(Value)'); + ContainerUser=$(ContainerUser); + ContainerGenerateLabels=$(ContainerGenerateLabels); + ContainerGenerateLabelsImageBaseDigest=$(ContainerGenerateLabelsImageBaseDigest) + "/> + <_rids Remove ="$(_rids)" /> + + + + + + + + <_SkipCreateImageIndex>false + <_SkipCreateImageIndex Condition="'$(ContainerRegistry)' == ''">true + + + + + + + + + + + + + + + + + + <_ParsedContainerLabel + Condition="'$(_ContainerLabel)' != ':'" + Include="$(_ContainerLabel)"/> + + + <_ParsedContainerPort + Condition="'$(_ContainerPort)' != ':'" + Include="$(_ContainerPort)"/> + + + <_ParsedContainerEnvironmentVariables + Condition="'$(_ContainerEnvironmentVariables)' != ':'" + Include="$(_ContainerEnvironmentVariables)"/> + + + + + $([System.IO.Path]::Combine($(ContainerArchiveOutputPath), $(ContainerRepository)-$(ContainerRuntimeIdentifier).tar.gz)) + + + + + <_IsMultiTFMBuild Condition="'$(TargetFrameworks)' != '' and '$(TargetFramework)' == ''">true + <_IsMultiRIDBuild Condition="'$(BuildingInsideVisualStudio)' != 'true' and (('$(RuntimeIdentifiers)' != '' and '$(RuntimeIdentifier)' == '') or ('$(ContainerRuntimeIdentifiers)' != '' and '$(ContainerRuntimeIdentfier)' == ''))">true + <_IsSingleRIDBuild Condition="'$(_IsMultiRIDBuild)' == ''">true + + + + + + + + + diff --git a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/CreateImageIndexTests.cs b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/CreateImageIndexTests.cs new file mode 100644 index 000000000000..2615b2e178ee --- /dev/null +++ b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/CreateImageIndexTests.cs @@ -0,0 +1,169 @@ +// 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.CompilerServices; +using FakeItEasy; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using Microsoft.NET.Build.Containers.IntegrationTests; +using Microsoft.NET.Build.Containers.UnitTests; +using NuGet.Protocol; +using Task = System.Threading.Tasks.Task; + +namespace Microsoft.NET.Build.Containers.Tasks.IntegrationTests; + +[Collection("Docker tests")] +public class CreateImageIndexTests +{ + private ITestOutputHelper _testOutput; + + public CreateImageIndexTests(ITestOutputHelper testOutput) + { + _testOutput = testOutput; + } + + [DockerAvailableFact] + public async Task CreateImageIndex_Baseline() + { + DirectoryInfo newProjectDir = CreateNewProject(); + (IBuildEngine buildEngine, List errors) = SetupBuildEngine(); + string outputRegistry = DockerRegistryManager.LocalRegistry; + string repository = "dotnet/create-image-index-baseline"; + string[] tags = new[] { "tag1", "tag2" }; + + // Create images for 2 rids + TaskItem image1 = PublishAndCreateNewImage("linux-x64", outputRegistry, repository, tags, newProjectDir, buildEngine, errors); + TaskItem image2 = PublishAndCreateNewImage("linux-arm64", outputRegistry, repository, tags, newProjectDir, buildEngine, errors); + + // Create image index + CreateImageIndex cii = new(); + cii.BuildEngine = buildEngine; + cii.OutputRegistry = outputRegistry; + cii.Repository = repository; + cii.ImageTags = tags; + cii.GeneratedContainers = [image1, image2]; + Assert.True(cii.Execute(), FormatBuildMessages(errors)); + + // Assert that the image index is created correctly + cii.GeneratedImageIndex.Should().NotBeNullOrEmpty(); + var imageIndex = cii.GeneratedImageIndex.FromJson(); + imageIndex.manifests.Should().HaveCount(2); + + imageIndex.manifests[0].digest.Should().Be(image1.GetMetadata("ManifestDigest")); + imageIndex.manifests[0].platform.os.Should().Be("linux"); + imageIndex.manifests[0].platform.architecture.Should().Be("amd64"); + + imageIndex.manifests[1].digest.Should().Be(image2.GetMetadata("ManifestDigest")); + imageIndex.manifests[1].platform.os.Should().Be("linux"); + imageIndex.manifests[1].platform.architecture.Should().Be("arm64"); + + // Assert that the image index is pushed to the registry + var loggerFactory = new TestLoggerFactory(_testOutput); + var logger = loggerFactory.CreateLogger(nameof(CreateImageIndex_Baseline)); + Registry registry = new(outputRegistry, logger, RegistryMode.Pull); + + await AssertThatImageIsReferencedInImageIndex("linux-x64", repository, tags, registry); + await AssertThatImageIsReferencedInImageIndex("linux-arm64", repository, tags, registry); + + newProjectDir.Delete(true); + } + + private DirectoryInfo CreateNewProject() + { + DirectoryInfo newProjectDir = new(GetTestDirectoryName()); + if (newProjectDir.Exists) + { + newProjectDir.Delete(recursive: true); + } + newProjectDir.Create(); + new DotnetNewCommand(_testOutput, "console", "-f", ToolsetInfo.CurrentTargetFramework) + .WithVirtualHive() + .WithWorkingDirectory(newProjectDir.FullName) + .Execute() + .Should().Pass(); + return newProjectDir; + } + + private TaskItem PublishAndCreateNewImage( + string rid, + string outputRegistry, + string repository, + string[] tags, + DirectoryInfo newProjectDir, + IBuildEngine buildEngine, + List errors) + { + new DotnetCommand(_testOutput, "publish", "-c", "Release", "-r", rid, "--no-self-contained") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute() + .Should().Pass(); + + CreateNewImage cni = new(); + + cni.BuildEngine = buildEngine; + + cni.BaseRegistry = "mcr.microsoft.com"; + cni.BaseImageName = "dotnet/runtime"; + cni.BaseImageTag = "7.0"; + + cni.OutputRegistry = outputRegistry; + cni.LocalRegistry = DockerAvailableFactAttribute.LocalRegistry; + cni.PublishDirectory = Path.Combine(newProjectDir.FullName, "bin", "Release", ToolsetInfo.CurrentTargetFramework, rid, "publish"); + cni.Repository = repository; + cni.ImageTags = tags.Select(t => $"{t}-{rid}").ToArray(); + cni.WorkingDirectory = "app/"; + cni.ContainerRuntimeIdentifier = rid; + cni.Entrypoint = new TaskItem[] { new("dotnet"), new("build") }; + cni.RuntimeIdentifierGraphPath = ToolsetUtils.GetRuntimeGraphFilePath(); + + Assert.True(cni.Execute(), FormatBuildMessages(errors)); + + TaskItem generatedContainer = new("GeneratedContainer" + rid); + generatedContainer.SetMetadata("Manifest", cni.GeneratedContainerManifest); + generatedContainer.SetMetadata("Configuration", cni.GeneratedContainerConfiguration); + generatedContainer.SetMetadata("ManifestDigest", cni.GeneratedContainerDigest); + generatedContainer.SetMetadata("ManifestMediaType", cni.GeneratedContainerMediaType); + + return generatedContainer; + } + + private async Task AssertThatImageIsReferencedInImageIndex(string rid, string repository, string[] tags, Registry registry) + { + foreach (var tag in tags) + { + var individualImage = await registry.GetImageManifestAsync( + repository, + $"{tag}-{rid}", + rid, + ToolsetUtils.RidGraphManifestPicker, + cancellationToken: default).ConfigureAwait(false); + individualImage.Should().NotBeNull(); + + var imageFromImageIndex = await registry.GetImageManifestAsync( + repository, + tag, + rid, + ToolsetUtils.RidGraphManifestPicker, + cancellationToken: default).ConfigureAwait(false); + imageFromImageIndex.Should().NotBeNull(); + + imageFromImageIndex.ManifestConfigDigest.Should().Be(individualImage.ManifestConfigDigest); + } + } + + private static (IBuildEngine buildEngine, List errors) SetupBuildEngine() + { + List errors = new(); + IBuildEngine buildEngine = A.Fake(); + A.CallTo(() => buildEngine.LogWarningEvent(A.Ignored)).Invokes((BuildWarningEventArgs e) => errors.Add(e.Message)); + A.CallTo(() => buildEngine.LogErrorEvent(A.Ignored)).Invokes((BuildErrorEventArgs e) => errors.Add(e.Message)); + A.CallTo(() => buildEngine.LogMessageEvent(A.Ignored)).Invokes((BuildMessageEventArgs e) => errors.Add(e.Message)); + + return (buildEngine, errors); + } + + private static string GetTestDirectoryName([CallerMemberName] string testName = "DefaultTest") => Path.Combine(TestSettings.TestArtifactsDirectory, testName + "_" + DateTime.Now.ToString("yyyyMMddHHmmss")); + + private static string FormatBuildMessages(List messages) => string.Join("\r\n", messages); +} + diff --git a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs new file mode 100644 index 000000000000..984bff2c0b37 --- /dev/null +++ b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs @@ -0,0 +1,19 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +namespace Microsoft.NET.Build.Containers.IntegrationTests; + +public class DockerSupportsArchFactAttribute : FactAttribute +{ + private readonly string _arch; + + public DockerSupportsArchFactAttribute(string arch) + { + _arch = arch; + + if (!DockerSupportsArchHelper.DaemonSupportsArch(_arch)) + { + base.Skip = $"Skipping test because Docker daemon does not support {_arch}."; + } + } +} diff --git a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs index bf5b8d4bd65d..022a8e90c16a 100644 --- a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs +++ b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs @@ -9,12 +9,6 @@ namespace Microsoft.NET.Build.Containers.IntegrationTests; public class DockerSupportsArchInlineData : DataAttribute { - // an optimization - this doesn't change over time so we can compute it once - private static string[] LinuxPlatforms = GetSupportedLinuxPlatforms(); - - // another optimization - daemons don't switch types easily or quickly, so this is as good as static - private static bool IsWindowsDockerDaemon = GetIsWindowsDockerDaemon(); - private readonly string _arch; private readonly object[] _data; @@ -26,26 +20,38 @@ public DockerSupportsArchInlineData(string arch, params object[] data) public override IEnumerable GetData(MethodInfo testMethod) { - if (DaemonSupportsArch(_arch)) + if (DockerSupportsArchHelper.DaemonSupportsArch(_arch)) { return new object[][] { _data.Prepend(_arch).ToArray() }; - }; + } + else + { + base.Skip = $"Skipping test because Docker daemon does not support {_arch}."; + } return Array.Empty(); } +} - private bool DaemonSupportsArch(string arch) +internal static class DockerSupportsArchHelper +{ + internal static bool DaemonSupportsArch(string arch) { + // an optimization - this doesn't change over time so we can compute it once + string[] LinuxPlatforms = GetSupportedLinuxPlatforms(); + if (LinuxPlatforms.Contains(arch)) { return true; } else { + // another optimization - daemons don't switch types easily or quickly, so this is as good as static + bool IsWindowsDockerDaemon = GetIsWindowsDockerDaemon(); + if (IsWindowsDockerDaemon && arch.StartsWith("windows", StringComparison.OrdinalIgnoreCase)) { return true; } - base.Skip = $"Skipping test because Docker daemon does not support {arch}."; return false; } } diff --git a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs index 46350b66ecb0..f13d96cf0120 100644 --- a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs +++ b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs @@ -3,6 +3,8 @@ using System.Formats.Tar; using System.Runtime.CompilerServices; +using System.Text.Json; +using Microsoft.Build.Logging; using Microsoft.DotNet.Cli.Utils; using Microsoft.NET.Build.Containers.LocalDaemons; using Microsoft.NET.Build.Containers.Resources; @@ -686,6 +688,485 @@ public void EndToEnd_NoAPI_Console() privateNuGetAssets.Delete(true); } + [DockerSupportsArchFact("linux/arm64")] + public void EndToEndMultiArch_LocalRegistry() + { + string imageName = NewImageName(); + string imageTag = "1.0"; + string imageX64 = $"{imageName}:{imageTag}-linux-x64"; + string imageArm64 = $"{imageName}:{imageTag}-linux-arm64"; + + // Create a new console project + DirectoryInfo newProjectDir = CreateNewProject("console"); + + // Run PublishContainer for multi-arch + CommandResult commandResult = new DotnetCommand( + _testOutput, + "build", + "/t:PublishContainer", + "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", + $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", + $"/p:ContainerRepository={imageName}", + $"/p:ContainerImageTag={imageTag}", + "/p:EnableSdkContainerSupport=true") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute(); + + // Check that the app was published for each RID, + // images were created locally for each RID + // and image index was NOT created + commandResult.Should().Pass() + .And.HaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-x64")) + .And.HaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-arm64")) + .And.HaveStdOutContaining($"Pushed image '{imageX64}' to local registry") + .And.HaveStdOutContaining($"Pushed image '{imageArm64}' to local registry") + .And.NotHaveStdOutContaining("Pushed image index"); + + // Check that the containers can be run + CommandResult processResultX64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + $"test-container-{imageName}-x64", + imageX64) + .Execute(); + processResultX64.Should().Pass().And.HaveStdOut("Hello, World!"); + + CommandResult processResultArm64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + $"test-container-{imageName}-arm64", + imageArm64) + .Execute(); + processResultArm64.Should().Pass().And.HaveStdOut("Hello, World!"); + + // Cleanup + newProjectDir.Delete(true); + } + + private DirectoryInfo CreateNewProject(string template, [CallerMemberName] string callerMemberName = "") + { + DirectoryInfo newProjectDir = new DirectoryInfo(Path.Combine(TestSettings.TestArtifactsDirectory, callerMemberName)); + + if (newProjectDir.Exists) + { + newProjectDir.Delete(recursive: true); + } + + newProjectDir.Create(); + + new DotnetNewCommand(_testOutput, template, "-f", ToolsetInfo.CurrentTargetFramework) + .WithVirtualHive() + .WithWorkingDirectory(newProjectDir.FullName) + .Execute() + .Should().Pass(); + + return newProjectDir; + } + + private string GetPublishArtifactsPath(string projectDir, string rid) + => Path.Combine(projectDir, "bin", "Debug", ToolsetInfo.CurrentTargetFramework, rid, "publish"); + + [DockerSupportsArchFact("linux/arm64")] + public void EndToEndMultiArch_ArchivePublishing() + { + string imageName = NewImageName(); + string imageTag = "1.0"; + string imageX64 = $"{imageName}:{imageTag}-linux-x64"; + string imageArm64 = $"{imageName}:{imageTag}-linux-arm64"; + string archiveOutput = Path.Combine(TestSettings.TestArtifactsDirectory, "tarballs-output"); + string imageX64Tarball = Path.Combine(archiveOutput, $"{imageName}-linux-x64.tar.gz"); + string imageArm64Tarball = Path.Combine(archiveOutput, $"{imageName}-linux-arm64.tar.gz"); + + // Create a new console project + DirectoryInfo newProjectDir = CreateNewProject("console"); + + // Run PublishContainer for multi-arch with ContainerArchiveOutputPath + CommandResult commandResult = new DotnetCommand( + _testOutput, + "build", + "/t:PublishContainer", + "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", + $"/p:ContainerArchiveOutputPath={archiveOutput}", + $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", + $"/p:ContainerRepository={imageName}", + $"/p:ContainerImageTag={imageTag}", + "/p:EnableSdkContainerSupport=true") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute(); + + // Check that the app was published for each RID, + // images were created locally for each RID + // and image index was NOT created + commandResult.Should().Pass() + .And.HaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-x64")) + .And.HaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-arm64")) + .And.HaveStdOutContaining($"Pushed image '{imageX64}' to local archive at '{imageX64Tarball}'") + .And.HaveStdOutContaining($"Pushed image '{imageArm64}' to local archive at '{imageArm64Tarball}'") + .And.NotHaveStdOutContaining("Pushed image index"); + + // Check that tarballs were created + File.Exists(imageX64Tarball).Should().BeTrue(); + File.Exists(imageArm64Tarball).Should().BeTrue(); + + // Load the images from the tarballs + ContainerCli.LoadCommand(_testOutput, "--input", imageX64Tarball) + .Execute() + .Should().Pass(); + ContainerCli.LoadCommand(_testOutput, "--input", imageArm64Tarball) + .Execute() + .Should().Pass(); + + // Check that the containers can be run + CommandResult processResultX64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + $"test-container-{imageName}-x64", + imageX64) + .Execute(); + processResultX64.Should().Pass().And.HaveStdOut("Hello, World!"); + + CommandResult processResultArm64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + $"test-container-{imageName}-arm64", + imageArm64) + .Execute(); + processResultArm64.Should().Pass().And.HaveStdOut("Hello, World!"); + + // Cleanup + newProjectDir.Delete(true); + } + + [DockerSupportsArchFact("linux/arm64")] + public void EndToEndMultiArch_RemoteRegistry() + { + string imageName = NewImageName(); + string imageTag = "1.0"; + string registry = DockerRegistryManager.LocalRegistry; + string imageX64 = $"{imageName}:{imageTag}-linux-x64"; + string imageArm64 = $"{imageName}:{imageTag}-linux-arm64"; + string imageIndex = $"{imageName}:{imageTag}"; + + // Create a new console project + DirectoryInfo newProjectDir = CreateNewProject("console"); + + // Run PublishContainer for multi-arch with ContainerRegistry + CommandResult commandResult = new DotnetCommand( + _testOutput, + "build", + "/t:PublishContainer", + "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", + $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", + $"/p:ContainerRegistry={registry}", + $"/p:ContainerRepository={imageName}", + $"/p:ContainerImageTag={imageTag}", + "/p:EnableSdkContainerSupport=true") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute(); + + // Check that the app was published for each RID, + // images were created locally for each RID + // and image index was created + commandResult.Should().Pass() + .And.HaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-x64")) + .And.HaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-arm64")) + .And.HaveStdOutContaining($"Pushed image '{imageX64}' to registry") + .And.HaveStdOutContaining($"Pushed image '{imageArm64}' to registry") + .And.HaveStdOutContaining($"Pushed image index '{imageIndex}' to registry '{registry}'"); + + + // Check that the containers can be run + // First pull the image from the registry, then tag so the image won't be overwritten + string imageX64Tagged = $"{registry}/test-image-{imageName}-x64"; + ContainerCli.PullCommand( + _testOutput, + "--platform", + "linux/amd64", + $"{registry}/{imageIndex}") + .Execute() + .Should().Pass(); + ContainerCli.TagCommand( + _testOutput, + $"{registry}/{imageIndex}", + imageX64Tagged) + .Execute() + .Should().Pass(); + CommandResult processResultX64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + $"test-container-{imageName}-x64", + imageX64Tagged) + .Execute(); + processResultX64.Should().Pass().And.HaveStdOut("Hello, World!"); + + string imageArm64Tagged = $"{registry}/test-image-{imageName}-arm64"; + ContainerCli.PullCommand( + _testOutput, + "--platform", + "linux/arm64", + $"{registry}/{imageIndex}") + .Execute() + .Should().Pass(); + ContainerCli.TagCommand( + _testOutput, + $"{registry}/{imageIndex}", + imageArm64Tagged) + .Execute() + .Should().Pass(); + CommandResult processResultArm64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + $"test-container-{imageName}-arm64", + imageArm64Tagged) + .Execute(); + processResultArm64.Should().Pass().And.HaveStdOut("Hello, World!"); + + // Cleanup + newProjectDir.Delete(true); + } + + [DockerAvailableFact] + public void EndToEndMultiArch_ContainerRuntimeIdentifiersOverridesRuntimeIdentifiers() + { + // Create a new console project + DirectoryInfo newProjectDir = CreateNewProject("console"); + string imageName = NewImageName(); + string imageTag = "1.0"; + + // Run PublishContainer for multi-arch with ContainerRuntimeIdentifiers + // RuntimeIdentifiers should contain all the RIDs from ContainerRuntimeIdentifiers to be able to publish + CommandResult commandResult = new DotnetCommand( + _testOutput, + "build", + "/t:PublishContainer", + "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", + "/p:ContainerRuntimeIdentifiers=linux-arm64", + $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", + $"/p:ContainerRepository={imageName}", + $"/p:ContainerImageTag={imageTag}", + "/p:EnableSdkContainerSupport=true") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute(); + + // Check that the app was published only for RID from ContainerRuntimeIdentifiers + // images were created locally only for RID for from ContainerRuntimeIdentifiers + commandResult.Should().Pass() + .And.NotHaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-x64")) + .And.HaveStdOutContaining(GetPublishArtifactsPath(newProjectDir.FullName, "linux-arm64")) + .And.NotHaveStdOutContaining($"Pushed image '{imageName}:{imageTag}-linux-x64' to local registry") + .And.HaveStdOutContaining($"Pushed image '{imageName}:{imageTag}-linux-arm64' to local registry"); + + // Cleanup + newProjectDir.Delete(true); + } + + [DockerSupportsArchFact("linux/arm64")] + public void EndToEndMultiArch_EnvVariables() + { + string imageName = NewImageName(); + string imageTag = "1.0"; + string imageX64 = $"{imageName}:{imageTag}-linux-x64"; + string imageArm64 = $"{imageName}:{imageTag}-linux-arm64"; + + // Create new console app, set ContainerEnvironmentVariables, and set to output env variable + DirectoryInfo newProjectDir = CreateNewProject("console"); + var csprojPath = Path.Combine(newProjectDir.FullName, $"{nameof(EndToEndMultiArch_EnvVariables)}.csproj"); + var csprojContent = File.ReadAllText(csprojPath); + csprojContent = csprojContent.Replace("", + """ + + + + + + """); + File.WriteAllText(csprojPath, csprojContent); + File.WriteAllText(Path.Combine(newProjectDir.FullName, "Program.cs"), + """ + Console.Write(Environment.GetEnvironmentVariable("GoodEnvVar")); + Console.Write(Environment.GetEnvironmentVariable("AnotherEnvVar")); + """); + + // Run PublishContainer for multi-arch + new DotnetCommand( + _testOutput, + "build", + "/t:PublishContainer", + "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", + $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", + $"/p:ContainerRepository={imageName}", + $"/p:ContainerImageTag={imageTag}", + "/p:EnableSdkContainerSupport=true") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute() + .Should().Pass(); + + // Check that the env var is printed + string containerNameX64 = $"test-container-{imageName}-x64"; + CommandResult processResultX64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + containerNameX64, + imageX64) + .Execute(); + processResultX64.Should().Pass().And.HaveStdOut("FooBar"); + + // Check that the env var is printed + string containerNameArm64 = $"test-container-{imageName}-arm64"; + CommandResult processResultArm64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + containerNameArm64, + imageArm64) + .Execute(); + processResultArm64.Should().Pass().And.HaveStdOut("FooBar"); + + // Cleanup + newProjectDir.Delete(true); + } + + [DockerSupportsArchFact("linux/arm64")] + public void EndToEndMultiArch_Ports() + { + string imageName = NewImageName(); + string imageTag = "1.0"; + string imageX64 = $"{imageName}:{imageTag}-linux-x64"; + string imageArm64 = $"{imageName}:{imageTag}-linux-arm64"; + + // Create new web app, set ContainerPort + DirectoryInfo newProjectDir = CreateNewProject("webapp"); + var csprojPath = Path.Combine(newProjectDir.FullName, $"{nameof(EndToEndMultiArch_Ports)}.csproj"); + var csprojContent = File.ReadAllText(csprojPath); + csprojContent = csprojContent.Replace("", + """ + + + + + + """); + File.WriteAllText(csprojPath, csprojContent); + + // Run PublishContainer for multi-arch + new DotnetCommand( + _testOutput, + "build", + "/t:PublishContainer", + "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", + $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", + $"/p:ContainerRepository={imageName}", + $"/p:ContainerImageTag={imageTag}", + "/p:EnableSdkContainerSupport=true") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute() + .Should().Pass(); + + // Check that the ports are correct + var containerNameX64 = $"test-container-{imageName}-x64"; + CommandResult processResultX64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + containerNameX64, + "-P", + "--detach", + imageX64) + .Execute(); + processResultX64.Should().Pass(); + + // 8080 is the default port + CheckPorts(containerNameX64, [8080, 8082, 8083], [8081]); + + // Check that the ports are correct + var containerNameArm64 = $"test-container-{imageName}-arm64"; + CommandResult processResultArm64 = ContainerCli.RunCommand( + _testOutput, + "--rm", + "--name", + containerNameArm64, + "-P", + "--detach", + imageArm64) + .Execute(); + processResultArm64.Should().Pass(); + + // 8080 is the default port + CheckPorts(containerNameArm64, [8080, 8082, 8083], [8081]); + + // Cleanup + // we ran containers with detached option, so we need to stop them + ContainerCli.StopCommand(_testOutput, containerNameX64) + .Execute() + .Should().Pass(); + ContainerCli.StopCommand(_testOutput, containerNameArm64) + .Execute() + .Should().Pass(); + newProjectDir.Delete(true); + } + + private void CheckPorts(string containerName, int[] correctPorts, int[] incorrectPorts) + { + foreach (var port in correctPorts) + { + // Check the provided port is available + ContainerCli.PortCommand(_testOutput, containerName, port) + .Execute().Should().Pass(); + } + foreach (var port in incorrectPorts) + { + // Check that not provided port is not available + ContainerCli.PortCommand(_testOutput, containerName, port) + .Execute().Should().Fail(); + } + } + + [DockerAvailableFact] + public void EndToEndMultiArch_Labels() + { + string imageName = NewImageName(); + string imageTag = "1.0"; + string imageX64 = $"{imageName}:{imageTag}-linux-x64"; + + // Create new console app + DirectoryInfo newProjectDir = CreateNewProject("webapp"); + + // Run PublishContainer for multi-arch with ContainerGenerateLabels + new DotnetCommand( + _testOutput, + "build", + "/t:PublishContainer", + "/p:RuntimeIdentifiers=\"linux-x64;linux-arm64\"", + $"/p:ContainerBaseImage={DockerRegistryManager.FullyQualifiedBaseImageAspNet}", + $"/p:ContainerRepository={imageName}", + $"/p:ContainerImageTag={imageTag}", + "/p:EnableSdkContainerSupport=true") + .WithWorkingDirectory(newProjectDir.FullName) + .Execute() + .Should().Pass(); + + // Check that labels are set + CommandResult inspectResult = ContainerCli.InspectCommand( + _testOutput, + "--format={{json .Config.Labels}}", + imageX64) + .Execute(); + inspectResult.Should().Pass(); + var labels = JsonSerializer.Deserialize>(inspectResult.StdOut); + labels.Should().NotBeNull().And.HaveCountGreaterThan(0); + labels!.Values.Should().AllSatisfy(value => value.Should().NotBeNullOrEmpty()); + + // Cleanup + newProjectDir.Delete(true); + } + [DockerSupportsArchInlineData("linux/arm/v7", "linux-arm", "/app")] [DockerSupportsArchInlineData("linux/arm64/v8", "linux-arm64", "/app")] [DockerSupportsArchInlineData("linux/386", "linux-x86", "/app", Skip = "There's no apphost for linux-x86 so we can't execute self-contained, and there's no .NET runtime base image for linux-x86 so we can't execute framework-dependent.")] diff --git a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/TargetsTests.cs b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/TargetsTests.cs index bfec8fcc236a..b657f000c390 100644 --- a/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/TargetsTests.cs +++ b/src/Tests/Microsoft.NET.Build.Containers.IntegrationTests/TargetsTests.cs @@ -364,6 +364,39 @@ public void MuslRidsGetAlpineContainers(string tfm, string rid, string expectedI computedBaseImageTag.Should().BeEquivalentTo(expectedImage); } + [InlineData("linux-musl-x64;linux-musl-arm64", "mcr.microsoft.com/dotnet/runtime:8.0-alpine")] + [InlineData("linux-x64;linux-arm64", "mcr.microsoft.com/dotnet/runtime:8.0")] + [Theory] + public void AllMuslRidsGetAlpineContainers(string rids, string expectedImage) + { + var (project, logger, d) = ProjectInitializer.InitProject(new() + { + ["NetCoreSdkVersion"] = "8.0.100", + ["TargetFrameworkVersion"] = "v8.0", + [KnownStrings.Properties.ContainerRuntimeIdentifier] = rids, + }, projectName: $"{nameof(AllMuslRidsGetAlpineContainers)}"); + using var _ = d; + var instance = project.CreateProjectInstance(global::Microsoft.Build.Execution.ProjectInstanceSettings.None); + instance.Build(new[] { ComputeContainerBaseImage }, null, null, out var outputs).Should().BeTrue(String.Join(Environment.NewLine, logger.Errors)); + var computedBaseImageTag = instance.GetProperty(ContainerBaseImage)?.EvaluatedValue; + computedBaseImageTag.Should().BeEquivalentTo(expectedImage); + } + + [Fact] + public void NotAllMuslRidsLogsError() + { + var (project, logger, d) = ProjectInitializer.InitProject(new() + { + ["NetCoreSdkVersion"] = "8.0.100", + ["TargetFrameworkVersion"] = "v8.0", + [KnownStrings.Properties.ContainerRuntimeIdentifier] = "linux-musl-x64;linux-arm64", + }, projectName: $"{nameof(NotAllMuslRidsLogsError)}"); + using var _ = d; + var instance = project.CreateProjectInstance(global::Microsoft.Build.Execution.ProjectInstanceSettings.None); + instance.Build(new[] { ComputeContainerBaseImage }, [logger], null, out var outputs).Should().BeFalse(String.Join(Environment.NewLine, logger.Errors)); + logger.Errors.Should().ContainSingle(error => error.Message == Resources.Strings.InvalidTargetRuntimeIdentifiers); + } + [InlineData("linux-musl-x64", "mcr.microsoft.com/dotnet/nightly/runtime-deps:8.0-alpine-aot")] [InlineData("linux-x64", "mcr.microsoft.com/dotnet/nightly/runtime-deps:8.0-jammy-chiseled-aot")] [Theory] diff --git a/src/Tests/Microsoft.NET.Build.Containers.UnitTests/ImageIndexGeneratorTests.cs b/src/Tests/Microsoft.NET.Build.Containers.UnitTests/ImageIndexGeneratorTests.cs new file mode 100644 index 000000000000..ef6e5bb84b2a --- /dev/null +++ b/src/Tests/Microsoft.NET.Build.Containers.UnitTests/ImageIndexGeneratorTests.cs @@ -0,0 +1,166 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Microsoft.NET.Build.Containers.Resources; + +namespace Microsoft.NET.Build.Containers.UnitTests; + +public class ImageIndexGeneratorTests +{ + [Fact] + public void ImagesCannotBeEmpty() + { + ImageInfo[] images = Array.Empty(); + var ex = Assert.Throws(() => ImageIndexGenerator.GenerateImageIndex(images)); + Assert.Equal(Strings.ImagesEmpty, ex.Message); + } + + [Fact] + public void UnsupportedMediaTypeThrows() + { + ImageInfo[] images = new ImageInfo[] + { + new ImageInfo + { + ManifestMediaType = "unsupported" + } + }; + + var ex = Assert.Throws(() => ImageIndexGenerator.GenerateImageIndex(images)); + Assert.Equal(string.Format(Strings.UnsupportedMediaType, "unsupported"), ex.Message); + } + + [Theory] + [InlineData(SchemaTypes.DockerManifestV2)] + [InlineData(SchemaTypes.OciManifestV1)] + public void ConfigIsNotJsonObjectThrows(string supportedMediaType) + { + ImageInfo[] images = new ImageInfo[] + { + new ImageInfo + { + Config = "[]", + Manifest = "", + ManifestMediaType = supportedMediaType + } + }; + + var ex = Assert.Throws(() => ImageIndexGenerator.GenerateImageIndex(images)); + Assert.Equal($"Config should be a JSON object. (Parameter 'Config')", ex.Message); + } + + [Theory] + [InlineData(SchemaTypes.DockerManifestV2)] + [InlineData(SchemaTypes.OciManifestV1)] + public void ConfigDoesNotContainArchitectureThrows(string supportedMediaType) + { + ImageInfo[] images = new ImageInfo[] + { + new ImageInfo + { + Config = "{}", + Manifest = "", + ManifestMediaType = supportedMediaType + } + }; + + var ex = Assert.Throws(() => ImageIndexGenerator.GenerateImageIndex(images)); + Assert.Equal($"Config should contain 'architecture'. (Parameter 'Config')", ex.Message); + } + + [Theory] + [InlineData(SchemaTypes.DockerManifestV2)] + [InlineData(SchemaTypes.OciManifestV1)] + public void ConfigDoesNotContainOsThrows(string supportedMediaType) + { + ImageInfo[] images = new ImageInfo[] + { + new ImageInfo + { + Config = "{\"architecture\":\"arch1\"}", + Manifest = "", + ManifestMediaType = supportedMediaType + } + }; + + var ex = Assert.Throws(() => ImageIndexGenerator.GenerateImageIndex(images)); + Assert.Equal($"Config should contain 'os'. (Parameter 'Config')", ex.Message); + } + + [Theory] + [InlineData(SchemaTypes.DockerManifestV2)] + [InlineData(SchemaTypes.OciManifestV1)] + public void ImagesWithMixedMediaTypes(string supportedMediaType) + { + ImageInfo[] images = new ImageInfo[] + { + new ImageInfo + { + Config = "{\"architecture\":\"arch1\",\"os\":\"os1\"}", + Manifest = "", + ManifestMediaType = supportedMediaType + }, + new ImageInfo + { + Config = "", + Manifest = "", + ManifestMediaType = "anotherMediaType" + } + }; + + var ex = Assert.Throws(() => ImageIndexGenerator.GenerateImageIndex(images)); + Assert.Equal(Strings.MixedMediaTypes, ex.Message); + } + + [Fact] + public void GenerateDockerManifestList() + { + ImageInfo[] images = + [ + new ImageInfo + { + Config = "{\"architecture\":\"arch1\",\"os\":\"os1\"}", + ManifestDigest = "sha256:digest1", + Manifest = "123", + ManifestMediaType = SchemaTypes.DockerManifestV2 + }, + new ImageInfo + { + Config = "{\"architecture\":\"arch2\",\"os\":\"os2\"}", + ManifestDigest = "sha256:digest2", + Manifest = "123", + ManifestMediaType = SchemaTypes.DockerManifestV2 + } + ]; + + var (imageIndex, mediaType) = ImageIndexGenerator.GenerateImageIndex(images); + Assert.Equal("{\"schemaVersion\":2,\"mediaType\":\"application/vnd.docker.distribution.manifest.list.v2\\u002Bjson\",\"manifests\":[{\"mediaType\":\"application/vnd.docker.distribution.manifest.v2\\u002Bjson\",\"size\":3,\"digest\":\"sha256:digest1\",\"platform\":{\"architecture\":\"arch1\",\"os\":\"os1\",\"variant\":null,\"features\":null,\"os.version\":null}},{\"mediaType\":\"application/vnd.docker.distribution.manifest.v2\\u002Bjson\",\"size\":3,\"digest\":\"sha256:digest2\",\"platform\":{\"architecture\":\"arch2\",\"os\":\"os2\",\"variant\":null,\"features\":null,\"os.version\":null}}]}", imageIndex); + Assert.Equal(SchemaTypes.DockerManifestListV2, mediaType); + } + + [Fact] + public void GenerateOciImageIndex() + { + ImageInfo[] images = new ImageInfo[] + { + new ImageInfo + { + Config = "{\"architecture\":\"arch1\",\"os\":\"os1\"}", + ManifestDigest = "sha256:digest1", + Manifest = "123", + ManifestMediaType = SchemaTypes.OciManifestV1 + }, + new ImageInfo + { + Config = "{\"architecture\":\"arch2\",\"os\":\"os2\"}", + ManifestDigest = "sha256:digest2", + Manifest = "123", + ManifestMediaType = SchemaTypes.OciManifestV1 + } + }; + + var (imageIndex, mediaType) = ImageIndexGenerator.GenerateImageIndex(images); + Assert.Equal("{\"schemaVersion\":2,\"mediaType\":\"application/vnd.oci.image.index.v1\\u002Bjson\",\"manifests\":[{\"mediaType\":\"application/vnd.oci.image.manifest.v1\\u002Bjson\",\"size\":3,\"digest\":\"sha256:digest1\",\"platform\":{\"architecture\":\"arch1\",\"os\":\"os1\",\"variant\":null,\"features\":null,\"os.version\":null}},{\"mediaType\":\"application/vnd.oci.image.manifest.v1\\u002Bjson\",\"size\":3,\"digest\":\"sha256:digest2\",\"platform\":{\"architecture\":\"arch2\",\"os\":\"os2\",\"variant\":null,\"features\":null,\"os.version\":null}}]}", imageIndex); + Assert.Equal(SchemaTypes.OciImageIndexV1, mediaType); + } +} From fa9fe1403630f29a3ca7594c6126212e52830949 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 3 Dec 2024 02:15:32 +0000 Subject: [PATCH 022/171] Update dependencies from https://github.com/dotnet/razor build 20241202.1 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24602.1 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c93fde1a0f54..74beda1859f5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - db3fecf853512dbb9440a8abd75ed8b266ee075a + a235a980ba3a90d32841bdbcb61602ea2fcaf11d - + https://github.com/dotnet/razor - db3fecf853512dbb9440a8abd75ed8b266ee075a + a235a980ba3a90d32841bdbcb61602ea2fcaf11d - + https://github.com/dotnet/razor - db3fecf853512dbb9440a8abd75ed8b266ee075a + a235a980ba3a90d32841bdbcb61602ea2fcaf11d - + https://github.com/dotnet/razor - db3fecf853512dbb9440a8abd75ed8b266ee075a + a235a980ba3a90d32841bdbcb61602ea2fcaf11d diff --git a/eng/Versions.props b/eng/Versions.props index 665812c0155f..54009b03d181 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24601.1 - 9.0.0-preview.24601.1 - 9.0.0-preview.24601.1 + 9.0.0-preview.24602.1 + 9.0.0-preview.24602.1 + 9.0.0-preview.24602.1 From b529e6f4a63b5f1a063e426824b611797c00f125 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Tue, 3 Dec 2024 13:02:30 +0100 Subject: [PATCH 023/171] fix conflict --- .../packaging/build/Microsoft.NET.Build.Containers.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets index 3c309cd6b3fc..e9e52d5dfece 100644 --- a/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets +++ b/src/Containers/packaging/build/Microsoft.NET.Build.Containers.targets @@ -110,9 +110,9 @@ - + - + From a581ad82fea2b63de6c163c8309a36376f5329d6 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Tue, 3 Dec 2024 13:57:13 +0100 Subject: [PATCH 024/171] use net 9 base images instead of net 9 preview --- .../CreateNewImageTests.cs | 6 ++--- .../DockerRegistryManager.cs | 9 +++---- .../EndToEndTests.cs | 27 +++++++------------ 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/test/Microsoft.NET.Build.Containers.IntegrationTests/CreateNewImageTests.cs b/test/Microsoft.NET.Build.Containers.IntegrationTests/CreateNewImageTests.cs index 66733c52896c..0161ee485886 100644 --- a/test/Microsoft.NET.Build.Containers.IntegrationTests/CreateNewImageTests.cs +++ b/test/Microsoft.NET.Build.Containers.IntegrationTests/CreateNewImageTests.cs @@ -153,7 +153,7 @@ public void Tasks_EndToEnd_With_EnvironmentVariable_Validation() File.WriteAllText(Path.Combine(newProjectDir.FullName, "Program.cs"), $"Console.Write(Environment.GetEnvironmentVariable(\"GoodEnvVar\"));"); - new DotnetCommand(_testOutput, "build", "--configuration", "release", "/p:runtimeidentifier=linux-x64", $"/p:RuntimeFrameworkVersion={DockerRegistryManager.RuntimeFrameworkVersion}") + new DotnetCommand(_testOutput, "build", "--configuration", "release", "/p:runtimeidentifier=linux-x64") .WithWorkingDirectory(newProjectDir.FullName) .Execute() .Should().Pass(); @@ -162,7 +162,7 @@ public void Tasks_EndToEnd_With_EnvironmentVariable_Validation() (IBuildEngine buildEngine, List errors) = SetupBuildEngine(); pcp.BuildEngine = buildEngine; - pcp.FullyQualifiedBaseImageName = $"mcr.microsoft.com/{DockerRegistryManager.RuntimeBaseImage}:{DockerRegistryManager.Net9PreviewImageTag}"; + pcp.FullyQualifiedBaseImageName = $"mcr.microsoft.com/{DockerRegistryManager.RuntimeBaseImage}:{DockerRegistryManager.Net9ImageTag}"; pcp.ContainerRegistry = ""; pcp.ContainerRepository = "dotnet/envvarvalidation"; pcp.ContainerImageTag = "latest"; @@ -175,7 +175,7 @@ public void Tasks_EndToEnd_With_EnvironmentVariable_Validation() Assert.True(pcp.Execute(), FormatBuildMessages(errors)); Assert.Equal("mcr.microsoft.com", pcp.ParsedContainerRegistry); Assert.Equal("dotnet/runtime", pcp.ParsedContainerImage); - Assert.Equal(DockerRegistryManager.Net9PreviewImageTag, pcp.ParsedContainerTag); + Assert.Equal(DockerRegistryManager.Net9ImageTag, pcp.ParsedContainerTag); Assert.Single(pcp.NewContainerEnvironmentVariables); Assert.Equal("Foo", pcp.NewContainerEnvironmentVariables[0].GetMetadata("Value")); diff --git a/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerRegistryManager.cs b/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerRegistryManager.cs index 5734483b579e..7c460b5aad66 100644 --- a/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerRegistryManager.cs +++ b/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerRegistryManager.cs @@ -15,12 +15,11 @@ public class DockerRegistryManager public const string Net6ImageTag = "6.0"; public const string Net7ImageTag = "7.0"; public const string Net8ImageTag = "8.0"; - public const string Net9PreviewImageTag = "9.0-preview"; - public const string RuntimeFrameworkVersion = "9.0.0-preview.3.24172.9"; + public const string Net9ImageTag = "9.0"; public const string Net8PreviewWindowsSpecificImageTag = $"{Net8ImageTag}-nanoserver-ltsc2022"; public const string LocalRegistry = "localhost:5010"; - public const string FullyQualifiedBaseImageDefault = $"{BaseImageSource}/{RuntimeBaseImage}:{Net9PreviewImageTag}"; - public const string FullyQualifiedBaseImageAspNet = $"{BaseImageSource}/{AspNetBaseImage}:{Net9PreviewImageTag}"; + public const string FullyQualifiedBaseImageDefault = $"{BaseImageSource}/{RuntimeBaseImage}:{Net9ImageTag}"; + public const string FullyQualifiedBaseImageAspNet = $"{BaseImageSource}/{AspNetBaseImage}:{Net9ImageTag}"; private static string? s_registryContainerId; internal class SameArchManifestPicker : IManifestPicker @@ -72,7 +71,7 @@ public static async Task StartAndPopulateDockerRegistry(ITestOutputHelper testOu EnsureRegistryLoaded(new Uri($"http://{LocalRegistry}"), s_registryContainerId, logger, testOutput); - foreach (string? tag in new[] { Net6ImageTag, Net7ImageTag, Net8ImageTag, Net9PreviewImageTag }) + foreach (string? tag in new[] { Net6ImageTag, Net7ImageTag, Net8ImageTag, Net9ImageTag }) { logger.LogInformation("Pulling image '{repo}/{image}:{tag}'.", BaseImageSource, RuntimeBaseImage, tag); string dotnetdll = System.Reflection.Assembly.GetExecutingAssembly().Location; diff --git a/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs b/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs index ecfbce05fd66..e76ef4a99355 100644 --- a/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs +++ b/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs @@ -53,7 +53,7 @@ public async Task ApiEndToEndWithRegistryPushAndPull() ImageBuilder imageBuilder = await registry.GetImageManifestAsync( DockerRegistryManager.RuntimeBaseImage, - DockerRegistryManager.Net9PreviewImageTag, + DockerRegistryManager.Net9ImageTag, "linux-x64", ToolsetUtils.RidGraphManifestPicker, cancellationToken: default).ConfigureAwait(false); @@ -69,7 +69,7 @@ public async Task ApiEndToEndWithRegistryPushAndPull() BuiltImage builtImage = imageBuilder.Build(); // Push the image back to the local registry - var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9PreviewImageTag); + var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9ImageTag); var destinationReference = new DestinationImageReference(registry, NewImageName(), new[] { "latest", "1.0" }); await registry.PushAsync(builtImage, sourceReference, destinationReference, cancellationToken: default).ConfigureAwait(false); @@ -100,7 +100,7 @@ public async Task ApiEndToEndWithLocalLoad() ImageBuilder imageBuilder = await registry.GetImageManifestAsync( DockerRegistryManager.RuntimeBaseImage, - DockerRegistryManager.Net9PreviewImageTag, + DockerRegistryManager.Net9ImageTag, "linux-x64", ToolsetUtils.RidGraphManifestPicker, cancellationToken: default).ConfigureAwait(false); @@ -115,7 +115,7 @@ public async Task ApiEndToEndWithLocalLoad() BuiltImage builtImage = imageBuilder.Build(); // Load the image into the local registry - var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9PreviewImageTag); + var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9ImageTag); var destinationReference = new DestinationImageReference(registry, NewImageName(), new[] { "latest", "1.0" }); await new DockerCli(_loggerFactory).LoadAsync(builtImage, sourceReference, destinationReference, default).ConfigureAwait(false); @@ -141,7 +141,7 @@ public async Task ApiEndToEndWithArchiveWritingAndLoad() ImageBuilder imageBuilder = await registry.GetImageManifestAsync( DockerRegistryManager.RuntimeBaseImage, - DockerRegistryManager.Net9PreviewImageTag, + DockerRegistryManager.Net9ImageTag, "linux-x64", ToolsetUtils.RidGraphManifestPicker, cancellationToken: default).ConfigureAwait(false); @@ -158,7 +158,7 @@ public async Task ApiEndToEndWithArchiveWritingAndLoad() // Write the image to disk var archiveFile = Path.Combine(TestSettings.TestArtifactsDirectory, nameof(ApiEndToEndWithArchiveWritingAndLoad), "app.tar.gz"); - var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9PreviewImageTag); + var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9ImageTag); var destinationReference = new DestinationImageReference(new ArchiveFileRegistry(archiveFile), NewImageName(), new[] { "latest", "1.0" }); await destinationReference.LocalRegistry!.LoadAsync(builtImage, sourceReference, destinationReference, default).ConfigureAwait(false); @@ -342,11 +342,6 @@ private string BuildLocalApp([CallerMemberName] string testName = "TestName", st new DotnetCommand(_testOutput, "publish", "-bl", "MinimalTestApp", "-r", rid, "-f", tfm, "-c", "Debug") .WithWorkingDirectory(workingDirectory); - if (tfm == ToolsetInfo.CurrentTargetFramework) - { - publishCommand.Arguments.AddRange(new[] { "-p", $"RuntimeFrameworkVersion={DockerRegistryManager.RuntimeFrameworkVersion}" }); - } - publishCommand.Execute() .Should().Pass(); @@ -510,8 +505,7 @@ public async Task EndToEnd_NoAPI_ProjectType(string projectType, bool addPackage $"/p:ContainerRegistry={DockerRegistryManager.LocalRegistry}", $"/p:ContainerRepository={imageName}", $"/p:ContainerImageTag={imageTag}", - "/p:UseRazorSourceGenerator=false", - $"/p:RuntimeFrameworkVersion={DockerRegistryManager.RuntimeFrameworkVersion}") + "/p:UseRazorSourceGenerator=false") .WithEnvironmentVariable("NUGET_PACKAGES", privateNuGetAssets.FullName) .WithWorkingDirectory(newProjectDir.FullName) .Execute(); @@ -670,8 +664,7 @@ public void EndToEnd_NoAPI_Console() $"/p:ContainerRegistry={DockerRegistryManager.LocalRegistry}", $"/p:ContainerRepository={imageName}", $"/p:ContainerImageTag={imageTag}", - "/p:EnableSdkContainerSupport=true", - $"/p:RuntimeFrameworkVersion={DockerRegistryManager.RuntimeFrameworkVersion}") + "/p:EnableSdkContainerSupport=true") .WithEnvironmentVariable("NUGET_PACKAGES", privateNuGetAssets.FullName) .WithWorkingDirectory(newProjectDir.FullName) .Execute() @@ -1190,7 +1183,7 @@ public async Task CanPackageForAllSupportedContainerRIDs(string dockerPlatform, var isWin = rid.StartsWith("win"); ImageBuilder? imageBuilder = await registry.GetImageManifestAsync( DockerRegistryManager.RuntimeBaseImage, - isWin ? DockerRegistryManager.Net8PreviewWindowsSpecificImageTag : DockerRegistryManager.Net9PreviewImageTag, + isWin ? DockerRegistryManager.Net8PreviewWindowsSpecificImageTag : DockerRegistryManager.Net9ImageTag, rid, ToolsetUtils.RidGraphManifestPicker, cancellationToken: default).ConfigureAwait(false); @@ -1207,7 +1200,7 @@ public async Task CanPackageForAllSupportedContainerRIDs(string dockerPlatform, BuiltImage builtImage = imageBuilder.Build(); // Load the image into the local registry - var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9PreviewImageTag); + var sourceReference = new SourceImageReference(registry, DockerRegistryManager.RuntimeBaseImage, DockerRegistryManager.Net9ImageTag); var destinationReference = new DestinationImageReference(registry, NewImageName(), new[] { rid }); await new DockerCli(_loggerFactory).LoadAsync(builtImage, sourceReference, destinationReference, default).ConfigureAwait(false); From 8551929b23f7725ecf14f729439aabb4595a5a54 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 3 Dec 2024 13:16:18 +0000 Subject: [PATCH 025/171] Update dependencies from https://github.com/dotnet/msbuild build 20241203.4 Microsoft.SourceBuild.Intermediate.msbuild , Microsoft.Build , Microsoft.Build.Localization From Version 17.12.12-preview-24571-01 -> To Version 17.12.14-preview-24603-04 --- NuGet.config | 2 +- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/NuGet.config b/NuGet.config index ed7ffe732af7..2c2e2984f4f2 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,7 +10,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5bc20514e7d9..7cfd4f6e32bc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -73,18 +73,18 @@ 763d10a1a251be35337ee736832bfde3f9200672 - + https://github.com/dotnet/msbuild - 56cc2a09b3621df8f8cd84631f8c8bfbe7ab06eb + e61f578b7413d81fdc46a9ff866ec201ab6df8b9 - + https://github.com/dotnet/msbuild - 56cc2a09b3621df8f8cd84631f8c8bfbe7ab06eb + e61f578b7413d81fdc46a9ff866ec201ab6df8b9 - + https://github.com/dotnet/msbuild - 56cc2a09b3621df8f8cd84631f8c8bfbe7ab06eb + e61f578b7413d81fdc46a9ff866ec201ab6df8b9 diff --git a/eng/Versions.props b/eng/Versions.props index ce24a3b3381f..a59405985de3 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -180,8 +180,8 @@ At usage sites, either we use MicrosoftBuildMinimumVersion, or MicrosoftBuildVersion in source-only modes. Additionally, set the MinimumVSVersion for the installer UI that's required for targeting NetCurrent --> - 17.12.13 - 17.12.13-preview-24571-03 + 17.12.14 + 17.12.14-preview-24603-04 17.11.4 17.12 From 02f27e0e8fff273c698f642423c45a3f780eb669 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 3 Dec 2024 13:16:43 +0000 Subject: [PATCH 026/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241202.2 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24577.2 -> To Version 9.0.0-beta.24602.2 --- eng/Version.Details.xml | 28 ++++++++++++++-------------- eng/Versions.props | 12 ++++++------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 737684d20ad0..6f5b10625352 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -460,34 +460,34 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink - 928f459936292b3128b949957c7b46ae5ed59e4c + bf9eea4cf019e8f86e7fae35380533eae25f487e - + https://github.com/dotnet/sourcelink - 928f459936292b3128b949957c7b46ae5ed59e4c + bf9eea4cf019e8f86e7fae35380533eae25f487e - + https://github.com/dotnet/sourcelink - 928f459936292b3128b949957c7b46ae5ed59e4c + bf9eea4cf019e8f86e7fae35380533eae25f487e - + https://github.com/dotnet/sourcelink - 928f459936292b3128b949957c7b46ae5ed59e4c + bf9eea4cf019e8f86e7fae35380533eae25f487e - + https://github.com/dotnet/sourcelink - 928f459936292b3128b949957c7b46ae5ed59e4c + bf9eea4cf019e8f86e7fae35380533eae25f487e - + https://github.com/dotnet/sourcelink - 928f459936292b3128b949957c7b46ae5ed59e4c + bf9eea4cf019e8f86e7fae35380533eae25f487e - + https://github.com/dotnet/sourcelink - 928f459936292b3128b949957c7b46ae5ed59e4c + bf9eea4cf019e8f86e7fae35380533eae25f487e diff --git a/eng/Versions.props b/eng/Versions.props index acff125e09cc..7b14674a6f68 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -277,12 +277,12 @@ - 9.0.0-beta.24577.2 - 9.0.0-beta.24577.2 - 9.0.0-beta.24577.2 - 9.0.0-beta.24577.2 - 9.0.0-beta.24577.2 - 9.0.0-beta.24577.2 + 9.0.0-beta.24602.2 + 9.0.0-beta.24602.2 + 9.0.0-beta.24602.2 + 9.0.0-beta.24602.2 + 9.0.0-beta.24602.2 + 9.0.0-beta.24602.2 From f77c7e0735f071c7eb52285874acb54e76eed787 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 3 Dec 2024 14:09:42 +0000 Subject: [PATCH 027/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241203.1 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24602.2 -> To Version 9.0.0-beta.24603.1 --- eng/Version.Details.xml | 28 ++++++++++++++-------------- eng/Versions.props | 12 ++++++------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 885a3147dd4f..c6bab522e518 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,34 +426,34 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 diff --git a/eng/Versions.props b/eng/Versions.props index 33f2f275bfde..1ee4ed6a5d8c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -291,12 +291,12 @@ - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 + 9.0.0-beta.24603.1 + 9.0.0-beta.24603.1 + 9.0.0-beta.24603.1 + 9.0.0-beta.24603.1 + 9.0.0-beta.24603.1 + 9.0.0-beta.24603.1 From fa5e4ef5df514f8b07c3fb3a8d1b4a6219ec0d7a Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Tue, 3 Dec 2024 14:13:33 -0800 Subject: [PATCH 028/171] [dotnet-format] Include the .NET Framework buildhost executable in the SDK. This is necessary for dotnet-format to loading .NET Framework projects. --- src/Layout/redist/targets/GenerateLayout.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Layout/redist/targets/GenerateLayout.targets b/src/Layout/redist/targets/GenerateLayout.targets index e7cd9e392c3e..84838632c10f 100644 --- a/src/Layout/redist/targets/GenerateLayout.targets +++ b/src/Layout/redist/targets/GenerateLayout.targets @@ -113,7 +113,8 @@ - + + From 5abaaebece57ddebeb756cca64e95e7c80958802 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 3 Dec 2024 22:30:53 +0000 Subject: [PATCH 029/171] Update dependencies from https://github.com/dotnet/test-templates build 20241203.1 Microsoft.SourceBuild.Intermediate.test-templates , Microsoft.DotNet.Test.ProjectTemplates.9.0 From Version 1.1.0-rtm.24602.1 -> To Version 1.1.0-rtm.24603.1 --- 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 6f5b10625352..3b2a6f37c315 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -379,14 +379,14 @@ https://github.com/dotnet/test-templates 49c9ad01f057b3c6352bbec12b117acc2224493c - + https://github.com/dotnet/test-templates - 7744cf50ba66bd64c44c6c7d7dc22000ae526618 + ed4a358e18dd737ca0e43203692ac6e220db0257 - + https://github.com/dotnet/test-templates - 7744cf50ba66bd64c44c6c7d7dc22000ae526618 + ed4a358e18dd737ca0e43203692ac6e220db0257 diff --git a/eng/Versions.props b/eng/Versions.props index 7b14674a6f68..c5dd98959d3a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -82,7 +82,7 @@ - 1.1.0-rtm.24602.1 + 1.1.0-rtm.24603.1 From d61cdd51de1a99fd86eae57306cd031c0a1ed94c Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 3 Dec 2024 23:20:26 +0000 Subject: [PATCH 030/171] Update dependencies from https://github.com/dotnet/razor build 20241203.1 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24603.1 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 74beda1859f5..878f353ca96e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - a235a980ba3a90d32841bdbcb61602ea2fcaf11d + 6651d16d748124bfae61d4bde598f4d840ad5233 - + https://github.com/dotnet/razor - a235a980ba3a90d32841bdbcb61602ea2fcaf11d + 6651d16d748124bfae61d4bde598f4d840ad5233 - + https://github.com/dotnet/razor - a235a980ba3a90d32841bdbcb61602ea2fcaf11d + 6651d16d748124bfae61d4bde598f4d840ad5233 - + https://github.com/dotnet/razor - a235a980ba3a90d32841bdbcb61602ea2fcaf11d + 6651d16d748124bfae61d4bde598f4d840ad5233 diff --git a/eng/Versions.props b/eng/Versions.props index 54009b03d181..bb8357b13ff5 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24602.1 - 9.0.0-preview.24602.1 - 9.0.0-preview.24602.1 + 9.0.0-preview.24603.1 + 9.0.0-preview.24603.1 + 9.0.0-preview.24603.1 From 02c3d718498af6da4ba109d035ace466e44b10b3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 01:12:53 +0000 Subject: [PATCH 031/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241203.2 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24602.2 -> To Version 9.0.0-beta.24603.2 --- eng/Version.Details.xml | 14 +++++++------- eng/Versions.props | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index c6bab522e518..d6bcc163c6df 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,32 +426,32 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink 599ca6dd9547cef0c10c1363fade40b044fed3b7 - + https://github.com/dotnet/sourcelink 599ca6dd9547cef0c10c1363fade40b044fed3b7 diff --git a/eng/Versions.props b/eng/Versions.props index 1ee4ed6a5d8c..0f5ae95e4b30 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -291,12 +291,12 @@ - 9.0.0-beta.24603.1 - 9.0.0-beta.24603.1 - 9.0.0-beta.24603.1 - 9.0.0-beta.24603.1 - 9.0.0-beta.24603.1 - 9.0.0-beta.24603.1 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 From 34df430025d6866cc8e68ba882895b35c95d1a44 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 04:16:12 +0000 Subject: [PATCH 032/171] Update dependencies from https://github.com/dotnet/razor build 20241203.2 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24603.2 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 878f353ca96e..21574dcb6ee5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 6651d16d748124bfae61d4bde598f4d840ad5233 + e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a - + https://github.com/dotnet/razor - 6651d16d748124bfae61d4bde598f4d840ad5233 + e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a - + https://github.com/dotnet/razor - 6651d16d748124bfae61d4bde598f4d840ad5233 + e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a - + https://github.com/dotnet/razor - 6651d16d748124bfae61d4bde598f4d840ad5233 + e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a diff --git a/eng/Versions.props b/eng/Versions.props index bb8357b13ff5..a5114d0de2a9 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24603.1 - 9.0.0-preview.24603.1 - 9.0.0-preview.24603.1 + 9.0.0-preview.24603.2 + 9.0.0-preview.24603.2 + 9.0.0-preview.24603.2 From d6b6e0b6610ee02f7f97535473af2c61acc97d4e Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 05:30:32 +0000 Subject: [PATCH 033/171] Update dependencies from https://github.com/dotnet/razor build 20241203.3 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24603.3 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 21574dcb6ee5..56d3c193bbb8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a + 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 - + https://github.com/dotnet/razor - e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a + 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 - + https://github.com/dotnet/razor - e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a + 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 - + https://github.com/dotnet/razor - e228df4bb1c6c0dadc0bd04ad0379d42ee84d40a + 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 diff --git a/eng/Versions.props b/eng/Versions.props index a5114d0de2a9..bd709a3e575b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24603.2 - 9.0.0-preview.24603.2 - 9.0.0-preview.24603.2 + 9.0.0-preview.24603.3 + 9.0.0-preview.24603.3 + 9.0.0-preview.24603.3 From 981779316bf32c0e2e2c0309113f12da120e4340 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 09:41:21 +0000 Subject: [PATCH 034/171] Update dependencies from https://github.com/dotnet/test-templates build 20241204.1 Microsoft.SourceBuild.Intermediate.test-templates , Microsoft.DotNet.Test.ProjectTemplates.9.0 From Version 1.1.0-rtm.24603.1 -> To Version 1.1.0-rtm.24604.1 --- 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 3b2a6f37c315..0ba4b4094ab0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -379,14 +379,14 @@ https://github.com/dotnet/test-templates 49c9ad01f057b3c6352bbec12b117acc2224493c - + https://github.com/dotnet/test-templates - ed4a358e18dd737ca0e43203692ac6e220db0257 + 720289d9a882f3bc546881d3f3219f0efb2c0327 - + https://github.com/dotnet/test-templates - ed4a358e18dd737ca0e43203692ac6e220db0257 + 720289d9a882f3bc546881d3f3219f0efb2c0327 diff --git a/eng/Versions.props b/eng/Versions.props index c5dd98959d3a..2b090499ecc4 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -82,7 +82,7 @@ - 1.1.0-rtm.24603.1 + 1.1.0-rtm.24604.1 From ac27433709ee0d3f9217b01b8ed1a7e09833f16f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 10:00:06 +0000 Subject: [PATCH 035/171] Update dependencies from https://github.com/dotnet/test-templates build 20241204.2 Microsoft.SourceBuild.Intermediate.test-templates , Microsoft.DotNet.Test.ProjectTemplates.9.0 From Version 1.1.0-rtm.24603.1 -> To Version 1.1.0-rtm.24604.2 --- 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 0ba4b4094ab0..ef383d61af27 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -379,14 +379,14 @@ https://github.com/dotnet/test-templates 49c9ad01f057b3c6352bbec12b117acc2224493c - + https://github.com/dotnet/test-templates - 720289d9a882f3bc546881d3f3219f0efb2c0327 + 82cef577c12adcc0cf9048d186910ae1f8f33fde - + https://github.com/dotnet/test-templates - 720289d9a882f3bc546881d3f3219f0efb2c0327 + 82cef577c12adcc0cf9048d186910ae1f8f33fde diff --git a/eng/Versions.props b/eng/Versions.props index 2b090499ecc4..dede8407319f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -82,7 +82,7 @@ - 1.1.0-rtm.24604.1 + 1.1.0-rtm.24604.2 From d291012c197ef1f493cb3dc23dc4aa2add13fa91 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 13:11:44 +0000 Subject: [PATCH 036/171] Update dependencies from https://github.com/dotnet/msbuild build 20241203.10 Microsoft.SourceBuild.Intermediate.msbuild , Microsoft.Build , Microsoft.Build.Localization From Version 17.11.9-servicing-24462-02 -> To Version 17.11.19-servicing-24603-10 --- NuGet.config | 2 +- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/NuGet.config b/NuGet.config index b3afc8a524a5..db35dc83e20f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -20,7 +20,7 @@ - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6385888068c4..75b4a0a733f3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -55,17 +55,17 @@ https://github.com/dotnet/emsdk f6237140b33bf18c72dccfeda14be8d103c3b93e - + https://github.com/dotnet/msbuild - a69bbaaf5f8d7249b8cab7309e81ad2221ce396c + e4f5b938613ae9d306a0396f1d6186a19c970b93 - + https://github.com/dotnet/msbuild - a69bbaaf5f8d7249b8cab7309e81ad2221ce396c + e4f5b938613ae9d306a0396f1d6186a19c970b93 - + https://github.com/dotnet/msbuild - a69bbaaf5f8d7249b8cab7309e81ad2221ce396c + e4f5b938613ae9d306a0396f1d6186a19c970b93 diff --git a/eng/Versions.props b/eng/Versions.props index 90de60acb8fa..4e7ad6b011c1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -124,7 +124,7 @@ - 17.11.9 + 17.11.19 $(MicrosoftBuildPackageVersion) - + https://github.com/dotnet/sourcelink - bf9eea4cf019e8f86e7fae35380533eae25f487e + 599ca6dd9547cef0c10c1363fade40b044fed3b7 diff --git a/eng/Versions.props b/eng/Versions.props index c5dd98959d3a..302848364879 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -277,12 +277,12 @@ - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 - 9.0.0-beta.24602.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 + 9.0.0-beta.24603.2 From 16fb359af4cd10a79aac0bdec220504773f795c8 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Wed, 4 Dec 2024 14:32:25 +0100 Subject: [PATCH 038/171] check docker availability before arch support in tests --- .../ContainerCli.cs | 5 +++++ .../DockerSupportsArchFact.cs | 16 ++++++++-------- .../DockerSupportsArchInlineData.cs | 2 ++ .../EndToEndTests.cs | 10 +++++----- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/test/Microsoft.NET.Build.Containers.IntegrationTests/ContainerCli.cs b/test/Microsoft.NET.Build.Containers.IntegrationTests/ContainerCli.cs index 82ccc3d4a2c9..a83e24239f15 100644 --- a/test/Microsoft.NET.Build.Containers.IntegrationTests/ContainerCli.cs +++ b/test/Microsoft.NET.Build.Containers.IntegrationTests/ContainerCli.cs @@ -7,6 +7,8 @@ static class ContainerCli { public static bool IsPodman => _isPodman.Value; + public static bool IsAvailable => _isAvailable.Value; + public static RunExeCommand PullCommand(ITestOutputHelper log, params string[] args) => CreateCommand(log, "pull", args); @@ -60,4 +62,7 @@ private static RunExeCommand CreateCommand(ITestOutputHelper log, string command private static readonly Lazy _isPodman = new(() => new DockerCli(loggerFactory: new TestLoggerFactory()).GetCommand() == DockerCli.PodmanCommand); + + private static readonly Lazy _isAvailable = + new(() => new DockerCli(loggerFactory: new TestLoggerFactory()).IsAvailable()); } diff --git a/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs b/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs index 984bff2c0b37..36ad9fbc0c9a 100644 --- a/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs +++ b/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchFact.cs @@ -3,17 +3,17 @@ namespace Microsoft.NET.Build.Containers.IntegrationTests; -public class DockerSupportsArchFactAttribute : FactAttribute +public class DockerIsAvailableAndSupportsArchFactAttribute : FactAttribute { - private readonly string _arch; - - public DockerSupportsArchFactAttribute(string arch) + public DockerIsAvailableAndSupportsArchFactAttribute(string arch) { - _arch = arch; - - if (!DockerSupportsArchHelper.DaemonSupportsArch(_arch)) + if (!DockerSupportsArchHelper.DaemonIsAvailable) + { + base.Skip = "Skipping test because Docker is not available on this host."; + } + else if (!DockerSupportsArchHelper.DaemonSupportsArch(arch)) { - base.Skip = $"Skipping test because Docker daemon does not support {_arch}."; + base.Skip = $"Skipping test because Docker daemon does not support {arch}."; } } } diff --git a/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs b/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs index 022a8e90c16a..caafbaea4b45 100644 --- a/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs +++ b/test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs @@ -34,6 +34,8 @@ public override IEnumerable GetData(MethodInfo testMethod) internal static class DockerSupportsArchHelper { + internal static bool DaemonIsAvailable => ContainerCli.IsAvailable; + internal static bool DaemonSupportsArch(string arch) { // an optimization - this doesn't change over time so we can compute it once diff --git a/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs b/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs index e76ef4a99355..1ea047f9f2d8 100644 --- a/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs +++ b/test/Microsoft.NET.Build.Containers.IntegrationTests/EndToEndTests.cs @@ -688,7 +688,7 @@ public void EndToEnd_NoAPI_Console() privateNuGetAssets.Delete(true); } - [DockerSupportsArchFact("linux/arm64")] + [DockerIsAvailableAndSupportsArchFact("linux/arm64")] public void EndToEndMultiArch_LocalRegistry() { string imageName = NewImageName(); @@ -768,7 +768,7 @@ private DirectoryInfo CreateNewProject(string template, [CallerMemberName] strin private string GetPublishArtifactsPath(string projectDir, string rid) => Path.Combine(projectDir, "bin", "Debug", ToolsetInfo.CurrentTargetFramework, rid, "publish"); - [DockerSupportsArchFact("linux/arm64")] + [DockerIsAvailableAndSupportsArchFact("linux/arm64")] public void EndToEndMultiArch_ArchivePublishing() { string imageName = NewImageName(); @@ -841,7 +841,7 @@ public void EndToEndMultiArch_ArchivePublishing() newProjectDir.Delete(true); } - [DockerSupportsArchFact("linux/arm64")] + [DockerIsAvailableAndSupportsArchFact("linux/arm64")] public void EndToEndMultiArch_RemoteRegistry() { string imageName = NewImageName(); @@ -966,7 +966,7 @@ public void EndToEndMultiArch_ContainerRuntimeIdentifiersOverridesRuntimeIdentif newProjectDir.Delete(true); } - [DockerSupportsArchFact("linux/arm64")] + [DockerIsAvailableAndSupportsArchFact("linux/arm64")] public void EndToEndMultiArch_EnvVariables() { string imageName = NewImageName(); @@ -1033,7 +1033,7 @@ public void EndToEndMultiArch_EnvVariables() newProjectDir.Delete(true); } - [DockerSupportsArchFact("linux/arm64")] + [DockerIsAvailableAndSupportsArchFact("linux/arm64")] public void EndToEndMultiArch_Ports() { string imageName = NewImageName(); From aab107e52049704ef713caebf1b044b89ae2d943 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 22:08:57 +0000 Subject: [PATCH 039/171] Update dependencies from https://github.com/dotnet/razor build 20241204.1 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24604.1 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 56d3c193bbb8..f784daa416f6 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 + 14238b2cccfcbe1d760665b620f68151e4ed2f2e - + https://github.com/dotnet/razor - 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 + 14238b2cccfcbe1d760665b620f68151e4ed2f2e - + https://github.com/dotnet/razor - 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 + 14238b2cccfcbe1d760665b620f68151e4ed2f2e - + https://github.com/dotnet/razor - 8f3c0a8d0a9a0674b601efbc6acd9fbe50615055 + 14238b2cccfcbe1d760665b620f68151e4ed2f2e diff --git a/eng/Versions.props b/eng/Versions.props index bd709a3e575b..6824336eef74 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24603.3 - 9.0.0-preview.24603.3 - 9.0.0-preview.24603.3 + 9.0.0-preview.24604.1 + 9.0.0-preview.24604.1 + 9.0.0-preview.24604.1 From 1b7a787a970c4401e5d426e73aa2e0034a09ec2b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 4 Dec 2024 23:55:19 +0000 Subject: [PATCH 040/171] Update dependencies from https://github.com/dotnet/razor build 20241204.2 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24604.2 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f784daa416f6..2f46bda2b8ed 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 14238b2cccfcbe1d760665b620f68151e4ed2f2e + c4899e8305a4c9ed76dcfc56ad210c0477d9e16d - + https://github.com/dotnet/razor - 14238b2cccfcbe1d760665b620f68151e4ed2f2e + c4899e8305a4c9ed76dcfc56ad210c0477d9e16d - + https://github.com/dotnet/razor - 14238b2cccfcbe1d760665b620f68151e4ed2f2e + c4899e8305a4c9ed76dcfc56ad210c0477d9e16d - + https://github.com/dotnet/razor - 14238b2cccfcbe1d760665b620f68151e4ed2f2e + c4899e8305a4c9ed76dcfc56ad210c0477d9e16d diff --git a/eng/Versions.props b/eng/Versions.props index 6824336eef74..1553d3322aa6 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24604.1 - 9.0.0-preview.24604.1 - 9.0.0-preview.24604.1 + 9.0.0-preview.24604.2 + 9.0.0-preview.24604.2 + 9.0.0-preview.24604.2 From 2701cb4bbb649d025807e0163cf9a5f552e2c963 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 5 Dec 2024 02:03:12 +0000 Subject: [PATCH 041/171] Update dependencies from https://github.com/dotnet/razor build 20241204.3 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24604.3 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 2f46bda2b8ed..3b3cc2171f5e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - c4899e8305a4c9ed76dcfc56ad210c0477d9e16d + 611248c0fae9720554c7a14a7408e20acf7b0eb7 - + https://github.com/dotnet/razor - c4899e8305a4c9ed76dcfc56ad210c0477d9e16d + 611248c0fae9720554c7a14a7408e20acf7b0eb7 - + https://github.com/dotnet/razor - c4899e8305a4c9ed76dcfc56ad210c0477d9e16d + 611248c0fae9720554c7a14a7408e20acf7b0eb7 - + https://github.com/dotnet/razor - c4899e8305a4c9ed76dcfc56ad210c0477d9e16d + 611248c0fae9720554c7a14a7408e20acf7b0eb7 diff --git a/eng/Versions.props b/eng/Versions.props index 1553d3322aa6..1f2e6b4c1027 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24604.2 - 9.0.0-preview.24604.2 - 9.0.0-preview.24604.2 + 9.0.0-preview.24604.3 + 9.0.0-preview.24604.3 + 9.0.0-preview.24604.3 From 1ac40cc4b7b630cbd0d03d326744ae4a2651595e Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 5 Dec 2024 12:03:38 +0000 Subject: [PATCH 042/171] Update dependencies from https://github.com/dotnet/razor build 20241205.1 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24605.1 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 3b3cc2171f5e..36b3af0893d7 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 611248c0fae9720554c7a14a7408e20acf7b0eb7 + acf6972501eb279605fc8345a7e412c15e06b94a - + https://github.com/dotnet/razor - 611248c0fae9720554c7a14a7408e20acf7b0eb7 + acf6972501eb279605fc8345a7e412c15e06b94a - + https://github.com/dotnet/razor - 611248c0fae9720554c7a14a7408e20acf7b0eb7 + acf6972501eb279605fc8345a7e412c15e06b94a - + https://github.com/dotnet/razor - 611248c0fae9720554c7a14a7408e20acf7b0eb7 + acf6972501eb279605fc8345a7e412c15e06b94a diff --git a/eng/Versions.props b/eng/Versions.props index 1f2e6b4c1027..96a3b6187504 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24604.3 - 9.0.0-preview.24604.3 - 9.0.0-preview.24604.3 + 9.0.0-preview.24605.1 + 9.0.0-preview.24605.1 + 9.0.0-preview.24605.1 From 1380b435450d20e9e38438ba066e480574175b4a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 5 Dec 2024 12:29:30 +0000 Subject: [PATCH 043/171] Update dependencies from https://github.com/nuget/nuget.client build 6.13.0.90 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 From Version 6.13.0-preview.1.84 -> To Version 6.13.0-rc.90 --- eng/Version.Details.xml | 68 ++++++++++++++++++++--------------------- eng/Versions.props | 24 +++++++-------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 27ce8dac7803..154f4b2fe3ec 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -139,74 +139,74 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 - + https://github.com/nuget/nuget.client - aef398ffa7d4e2e9f5f0d1f3b1b6215f9958689c + a96fbf6593fa744d07b5dfa7614cfb4e6749e763 https://github.com/microsoft/vstest diff --git a/eng/Versions.props b/eng/Versions.props index 04c88816a0fe..f03760a81c5a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -151,18 +151,18 @@ - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 - 6.13.0-preview.1.84 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 + 6.13.0-rc.90 From 023fb0a30a0f4fc57755fea22b972bfbad464c92 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 5 Dec 2024 13:47:45 +0000 Subject: [PATCH 044/171] Update dependencies from https://github.com/dotnet/msbuild build 20241204.1 Microsoft.SourceBuild.Intermediate.msbuild , Microsoft.Build , Microsoft.Build.Localization From Version 17.12.12-preview-24571-01 -> To Version 17.12.15-preview-24604-01 --- NuGet.config | 3 ++- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/NuGet.config b/NuGet.config index 2c2e2984f4f2..242ef7b4555f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,7 +10,8 @@ - + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7cfd4f6e32bc..1bed7991a6a3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -73,18 +73,18 @@ 763d10a1a251be35337ee736832bfde3f9200672 - + https://github.com/dotnet/msbuild - e61f578b7413d81fdc46a9ff866ec201ab6df8b9 + bd71b62a5f1c11edaceb26dd31b764df4dc922e9 - + https://github.com/dotnet/msbuild - e61f578b7413d81fdc46a9ff866ec201ab6df8b9 + bd71b62a5f1c11edaceb26dd31b764df4dc922e9 - + https://github.com/dotnet/msbuild - e61f578b7413d81fdc46a9ff866ec201ab6df8b9 + bd71b62a5f1c11edaceb26dd31b764df4dc922e9 diff --git a/eng/Versions.props b/eng/Versions.props index a59405985de3..609c679adc61 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -180,8 +180,8 @@ At usage sites, either we use MicrosoftBuildMinimumVersion, or MicrosoftBuildVersion in source-only modes. Additionally, set the MinimumVSVersion for the installer UI that's required for targeting NetCurrent --> - 17.12.14 - 17.12.14-preview-24603-04 + 17.12.15 + 17.12.15-preview-24604-01 17.11.4 17.12 From bd3ac8403574415c85cf3cf2125828bc2dfe15d2 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Thu, 5 Dec 2024 13:57:38 +0000 Subject: [PATCH 045/171] [release/9.0.1xx] Update dependencies from dotnet/source-build-reference-packages (#45328) Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f70f21f2b7c5..2de756626c01 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -451,9 +451,9 @@ - + https://github.com/dotnet/source-build-reference-packages - a3776f67d97bd5d9ada92122330454b284bfe915 + c81acaa80719d0ecfadfe41e3c0e3548bdc4e78d From 35e7fde24b98bec92d615e9a3c96fd6f79de6ff9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 5 Dec 2024 14:43:25 +0000 Subject: [PATCH 046/171] Update dependencies from https://github.com/dotnet/test-templates build 20241205.1 Microsoft.SourceBuild.Intermediate.test-templates , Microsoft.DotNet.Test.ProjectTemplates.9.0 From Version 1.1.0-rtm.24604.2 -> To Version 1.1.0-rtm.24605.1 --- 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 2de756626c01..b474848c0dfe 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -379,14 +379,14 @@ https://github.com/dotnet/test-templates 49c9ad01f057b3c6352bbec12b117acc2224493c - + https://github.com/dotnet/test-templates - 82cef577c12adcc0cf9048d186910ae1f8f33fde + 22f4800ed2fe5dbca64c982aa15fd6838016328e - + https://github.com/dotnet/test-templates - 82cef577c12adcc0cf9048d186910ae1f8f33fde + 22f4800ed2fe5dbca64c982aa15fd6838016328e diff --git a/eng/Versions.props b/eng/Versions.props index 8f9abdf9de0b..c3136f25df21 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -82,7 +82,7 @@ - 1.1.0-rtm.24604.2 + 1.1.0-rtm.24605.1 From 1983dc258802b40d2f8616b9b39d24f51aab1944 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 5 Dec 2024 19:42:44 +0000 Subject: [PATCH 047/171] Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20241205.2 Microsoft.SourceBuild.Intermediate.roslyn-analyzers , Microsoft.CodeAnalysis.NetAnalyzers , Microsoft.CodeAnalysis.PublicApiAnalyzers From Version 3.11.0-beta1.24574.2 -> To Version 3.11.0-beta1.24605.2 --- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 2de756626c01..5dfa0b37b2cc 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -408,18 +408,18 @@ 1a54480f52703fb45fac2a6b955247d33758383e - + https://github.com/dotnet/roslyn-analyzers - 3d61c57c73c3dd5f1f407ef9cd3414d94bf0eaf2 + 5bfaf6aea5cf9d1c924d9adc69916eac3be07880 - + https://github.com/dotnet/roslyn-analyzers - 3d61c57c73c3dd5f1f407ef9cd3414d94bf0eaf2 + 5bfaf6aea5cf9d1c924d9adc69916eac3be07880 - + https://github.com/dotnet/roslyn-analyzers - 3d61c57c73c3dd5f1f407ef9cd3414d94bf0eaf2 + 5bfaf6aea5cf9d1c924d9adc69916eac3be07880 diff --git a/eng/Versions.props b/eng/Versions.props index 8f9abdf9de0b..b20512bbef17 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -158,8 +158,8 @@ - 9.0.0-preview.24574.2 - 3.11.0-beta1.24574.2 + 9.0.0-preview.24605.2 + 3.11.0-beta1.24605.2 From 65e36ba2aeaf6c33813320eb3f56dd7e584f94c8 Mon Sep 17 00:00:00 2001 From: Tomas Matousek Date: Thu, 5 Dec 2024 13:21:17 -0800 Subject: [PATCH 048/171] Remove global usings from projects building source packages --- src/BuiltInTools/AspireService/AspireServerService.cs | 9 +++++++-- .../AspireService/Contracts/IAspireServerEvents.cs | 4 ++++ src/BuiltInTools/AspireService/Helpers/CertGenerator.cs | 1 + .../AspireService/Helpers/ExceptionExtensions.cs | 2 ++ .../AspireService/Helpers/HttpContextExtensions.cs | 3 +++ src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs | 1 + .../AspireService/Helpers/SocketUtilities.cs | 3 +++ .../AspireService/Helpers/WebSocketConnection.cs | 3 +++ .../Microsoft.WebTools.AspireService.Package.csproj | 5 +++++ .../AspireService/Models/RunSessionRequest.cs | 3 +++ .../Microsoft.DotNet.HotReload.Agent.Package.csproj | 6 ++++++ src/BuiltInTools/HotReloadAgent/AgentReporter.cs | 3 +++ src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs | 3 +++ .../HotReloadAgent/MetadataUpdateHandlerInvoker.cs | 3 +++ src/BuiltInTools/HotReloadAgent/UpdateDelta.cs | 3 +++ 15 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/BuiltInTools/AspireService/AspireServerService.cs b/src/BuiltInTools/AspireService/AspireServerService.cs index 9543b0cda9cd..e10019989af3 100644 --- a/src/BuiltInTools/AspireService/AspireServerService.cs +++ b/src/BuiltInTools/AspireService/AspireServerService.cs @@ -1,12 +1,17 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Collections.Generic; using System.Net; using System.Net.WebSockets; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; +using System.Threading; +using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; @@ -81,7 +86,7 @@ public AspireServerService(IAspireServerEvents aspireServerEvents, string displa _certificateEncodedBytes = Convert.ToBase64String(certBytes); // Kick of the web server. - _requestListener = StartListening(); + _requestListener = StartListeningAsync(); } public async ValueTask DisposeAsync() @@ -178,7 +183,7 @@ bool LogAndPropagate(Exception e) /// Waits for a connection so that it can get the WebSocket that will be used to send messages tio the client. It accepts messages via Restful http /// calls. /// - private Task StartListening() + private Task StartListeningAsync() { var builder = WebApplication.CreateSlimBuilder(); diff --git a/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs b/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs index 82f000261a9e..dda162760e8d 100644 --- a/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs +++ b/src/BuiltInTools/AspireService/Contracts/IAspireServerEvents.cs @@ -1,6 +1,10 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; + namespace Aspire.Tools.Service; internal interface IAspireServerEvents diff --git a/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs b/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs index e3785b9ecc19..7aff7d6a7126 100644 --- a/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs +++ b/src/BuiltInTools/AspireService/Helpers/CertGenerator.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; diff --git a/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.cs b/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.cs index d667c50819e4..3fbb1d0caef1 100644 --- a/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.cs +++ b/src/BuiltInTools/AspireService/Helpers/ExceptionExtensions.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; + namespace Aspire.Tools.Service; internal static class ExceptionExtensions diff --git a/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs b/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs index 13ddb6b5cd23..710a1e69baaa 100644 --- a/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs +++ b/src/BuiltInTools/AspireService/Helpers/HttpContextExtensions.cs @@ -1,6 +1,9 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Threading; +using System.Threading.Tasks; using Microsoft.AspNetCore.Http; namespace Aspire.Tools.Service; diff --git a/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs b/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs index c190354635b6..499bd506289a 100644 --- a/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs +++ b/src/BuiltInTools/AspireService/Helpers/LoggerProvider.cs @@ -1,6 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; using Microsoft.Extensions.Logging; namespace Aspire.Tools.Service; diff --git a/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs b/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs index 3ac8c1034703..3e93de3b0232 100644 --- a/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs +++ b/src/BuiltInTools/AspireService/Helpers/SocketUtilities.cs @@ -1,6 +1,9 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Linq; +using System.Collections.Generic; using System.Net; using System.Net.Sockets; diff --git a/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs b/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs index e82da71764d1..a39b74bfb6dc 100644 --- a/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs +++ b/src/BuiltInTools/AspireService/Helpers/WebSocketConnection.cs @@ -1,6 +1,9 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Threading; +using System.Threading.Tasks; using System.Net.WebSockets; namespace Aspire.Tools.Service; diff --git a/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj b/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj index 3b46ec9fdf21..f317ebe3fcf1 100644 --- a/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj +++ b/src/BuiltInTools/AspireService/Microsoft.WebTools.AspireService.Package.csproj @@ -22,4 +22,9 @@ + + + + + diff --git a/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs b/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs index 7f31a2113fe0..f2b9bc496675 100644 --- a/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs +++ b/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs @@ -1,8 +1,11 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; using System.ComponentModel.DataAnnotations; +using System.Collections.Generic; using System.Diagnostics; +using System.Linq; using System.Text.Json.Serialization; namespace Aspire.Tools.Service; diff --git a/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj b/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj index a7afee6088a2..decc2fdc20e8 100644 --- a/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj +++ b/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj @@ -22,5 +22,11 @@ + + + + + + diff --git a/src/BuiltInTools/HotReloadAgent/AgentReporter.cs b/src/BuiltInTools/HotReloadAgent/AgentReporter.cs index 794a23956359..0e7c6a87a9b7 100644 --- a/src/BuiltInTools/HotReloadAgent/AgentReporter.cs +++ b/src/BuiltInTools/HotReloadAgent/AgentReporter.cs @@ -1,6 +1,9 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Collections.Generic; +using System.Linq; + namespace Microsoft.DotNet.HotReload; internal sealed class AgentReporter diff --git a/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs b/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs index 5350c0ae2d8d..7e1f026d8faa 100644 --- a/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs +++ b/src/BuiltInTools/HotReloadAgent/HotReloadAgent.cs @@ -1,6 +1,9 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Linq; +using System.Collections.Generic; using System.Collections.Concurrent; using System.Diagnostics; using System.Reflection; diff --git a/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs b/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs index 3c3583949130..fa8b0630e840 100644 --- a/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs +++ b/src/BuiltInTools/HotReloadAgent/MetadataUpdateHandlerInvoker.cs @@ -1,8 +1,11 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Reflection; +using System.Threading; namespace Microsoft.DotNet.HotReload; diff --git a/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs b/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs index f5bba35278ac..3277755dea56 100644 --- a/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs +++ b/src/BuiltInTools/HotReloadAgent/UpdateDelta.cs @@ -1,7 +1,10 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; + namespace Microsoft.DotNet.Watch; + internal readonly struct UpdateDelta(Guid moduleId, byte[] metadataDelta, byte[] ilDelta, byte[] pdbDelta, int[] updatedTypes) { public Guid ModuleId { get; } = moduleId; From 0b04b82f2a8d784ab560064d71ff0169f1092a2a Mon Sep 17 00:00:00 2001 From: tmat Date: Thu, 5 Dec 2024 14:49:48 -0800 Subject: [PATCH 049/171] Fix agent package --- sdk.sln | 3 +-- .../Microsoft.DotNet.HotReload.Agent.Package.csproj | 2 -- src/BuiltInTools/dotnet-watch.slnf | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) rename src/BuiltInTools/{HotReloadAgent.Package => HotReloadAgent}/Microsoft.DotNet.HotReload.Agent.Package.csproj (91%) diff --git a/sdk.sln b/sdk.sln index 991db9a6ad01..52840d8fce54 100644 --- a/sdk.sln +++ b/sdk.sln @@ -514,7 +514,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.WebTools.AspireSe EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.DotNet.HotReload.Agent", "src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.shproj", "{418B10BD-CA42-49F3-8F4A-D8CC90C8A17D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.HotReload.Agent.Package", "src\BuiltInTools\HotReloadAgent.Package\Microsoft.DotNet.HotReload.Agent.Package.csproj", "{2FF79F82-60C1-349A-4726-7783D5A6D5DF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.HotReload.Agent.Package", "src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.Package.csproj", "{2FF79F82-60C1-349A-4726-7783D5A6D5DF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -1172,7 +1172,6 @@ Global src\Compatibility\ApiCompat\Microsoft.DotNet.ApiCompat.Shared\Microsoft.DotNet.ApiCompat.Shared.projitems*{0a3c9afd-f6e6-4a5d-83fb-93bf66732696}*SharedItemsImports = 5 src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{1bbfa19c-03f0-4d27-9d0d-0f8172642107}*SharedItemsImports = 5 src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{1f0b4b3c-dc88-4740-b04f-1707102e9930}*SharedItemsImports = 5 - src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{2ff79f82-60c1-349a-4726-7783d5a6d5df}*SharedItemsImports = 5 src\BuiltInTools\HotReloadAgent\Microsoft.DotNet.HotReload.Agent.projitems*{418b10bd-ca42-49f3-8f4a-d8cc90c8a17d}*SharedItemsImports = 13 src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{445efbd5-6730-4f09-943d-278e77501ffd}*SharedItemsImports = 5 src\BuiltInTools\AspireService\Microsoft.WebTools.AspireService.projitems*{94c8526e-dcc2-442f-9868-3dd0ba2688be}*SharedItemsImports = 13 diff --git a/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.Package.csproj similarity index 91% rename from src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj rename to src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.Package.csproj index decc2fdc20e8..75b7a922b2e4 100644 --- a/src/BuiltInTools/HotReloadAgent.Package/Microsoft.DotNet.HotReload.Agent.Package.csproj +++ b/src/BuiltInTools/HotReloadAgent/Microsoft.DotNet.HotReload.Agent.Package.csproj @@ -27,6 +27,4 @@ - - diff --git a/src/BuiltInTools/dotnet-watch.slnf b/src/BuiltInTools/dotnet-watch.slnf index e18611cb6620..2484e98c2da7 100644 --- a/src/BuiltInTools/dotnet-watch.slnf +++ b/src/BuiltInTools/dotnet-watch.slnf @@ -7,7 +7,7 @@ "src\\BuiltInTools\\BrowserRefresh\\Microsoft.AspNetCore.Watch.BrowserRefresh.csproj", "src\\BuiltInTools\\DotNetDeltaApplier\\Microsoft.Extensions.DotNetDeltaApplier.csproj", "src\\BuiltInTools\\DotNetWatchTasks\\DotNetWatchTasks.csproj", - "src\\BuiltInTools\\HotReloadAgent.Package\\Microsoft.DotNet.HotReload.Agent.Package.csproj", + "src\\BuiltInTools\\HotReloadAgent\\Microsoft.DotNet.HotReload.Agent.Package.csproj", "src\\BuiltInTools\\HotReloadAgent\\Microsoft.DotNet.HotReload.Agent.shproj", "src\\BuiltInTools\\dotnet-watch\\dotnet-watch.csproj", "test\\Microsoft.AspNetCore.Watch.BrowserRefresh.Tests\\Microsoft.AspNetCore.Watch.BrowserRefresh.Tests.csproj", From d18ddf7b9bd42a0c5537eab8eb396b9340bf6d88 Mon Sep 17 00:00:00 2001 From: ".NET Source-Build Bot" <102560831+dotnet-sb-bot@users.noreply.github.com> Date: Fri, 6 Dec 2024 00:55:11 +0100 Subject: [PATCH 050/171] .NET Source-Build 9.0.101 December 2024 Updates (#45289) Co-authored-by: Nikola Milosavljevic --- src/SourceBuild/content/eng/Versions.props | 4 ++-- src/SourceBuild/content/global.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SourceBuild/content/eng/Versions.props b/src/SourceBuild/content/eng/Versions.props index 97eea60b3146..4d98dab1f710 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.100 - 9.0.100-rtm.24529.1 + 9.0.101 + 9.0.101-servicing.24575.1 2.0.0-beta4.24126.1 diff --git a/src/SourceBuild/content/global.json b/src/SourceBuild/content/global.json index 044f23f6237a..dad59de52dde 100644 --- a/src/SourceBuild/content/global.json +++ b/src/SourceBuild/content/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "9.0.100" + "dotnet": "9.0.101" }, "msbuild-sdks": { "Microsoft.Build.NoTargets": "3.7.0", From 2524b853c74c49bd15a482b8dea240ffbc11b27d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 6 Dec 2024 12:10:14 +0000 Subject: [PATCH 051/171] Update dependencies from https://github.com/dotnet/fsharp build 20241206.2 Microsoft.SourceBuild.Intermediate.fsharp , Microsoft.FSharp.Compiler From Version 9.0.200-beta.24578.1 -> To Version 9.0.200-beta.24606.2 --- 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 27ce8dac7803..cb08af7c7b56 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -83,14 +83,14 @@ 8f6b8ad0ace90c777c66711c907227fcfb6f2efe - + https://github.com/dotnet/fsharp - 3dc980eeb06dd912f1e6fe5d06a23a67a4b659e7 + 96e77ae98391e41b5d940081b3c15a4b77a610aa - + https://github.com/dotnet/fsharp - 3dc980eeb06dd912f1e6fe5d06a23a67a4b659e7 + 96e77ae98391e41b5d940081b3c15a4b77a610aa diff --git a/eng/Versions.props b/eng/Versions.props index 04c88816a0fe..5f2869bbc359 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -214,7 +214,7 @@ - 13.9.200-beta.24578.1 + 13.9.200-beta.24606.2 From 8a4f2c248785314dc88db2739c354a36021e9473 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 6 Dec 2024 12:27:11 +0000 Subject: [PATCH 052/171] Update dependencies from https://github.com/nuget/nuget.client build 6.13.0.93 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 From Version 6.13.0-preview.1.84 -> To Version 6.13.0-rc.93 --- eng/Version.Details.xml | 68 ++++++++++++++++++++--------------------- eng/Versions.props | 24 +++++++-------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 154f4b2fe3ec..ff674705d42c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -139,74 +139,74 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f - + https://github.com/nuget/nuget.client - a96fbf6593fa744d07b5dfa7614cfb4e6749e763 + acc521c647aa484fc2202024f624c7a56bf9fe0f https://github.com/microsoft/vstest diff --git a/eng/Versions.props b/eng/Versions.props index f03760a81c5a..4dcfe135cc9b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -151,18 +151,18 @@ - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 - 6.13.0-rc.90 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 + 6.13.0-rc.93 From 2565b6bd5e5e183530fc07f033453d3982a84633 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 6 Dec 2024 13:44:07 +0000 Subject: [PATCH 053/171] Update dependencies from https://github.com/dotnet/msbuild build 20241206.1 Microsoft.SourceBuild.Intermediate.msbuild , Microsoft.Build , Microsoft.Build.Localization From Version 17.12.12-preview-24571-01 -> To Version 17.12.17-preview-24606-01 --- NuGet.config | 3 +-- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/NuGet.config b/NuGet.config index 242ef7b4555f..7bed952cf15e 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,8 +10,7 @@ - - + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1bed7991a6a3..f1e3d0c2e327 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -73,18 +73,18 @@ 763d10a1a251be35337ee736832bfde3f9200672 - + https://github.com/dotnet/msbuild - bd71b62a5f1c11edaceb26dd31b764df4dc922e9 + 762f59c2ef10fc8e0ae8a0268f45740728cf29b4 - + https://github.com/dotnet/msbuild - bd71b62a5f1c11edaceb26dd31b764df4dc922e9 + 762f59c2ef10fc8e0ae8a0268f45740728cf29b4 - + https://github.com/dotnet/msbuild - bd71b62a5f1c11edaceb26dd31b764df4dc922e9 + 762f59c2ef10fc8e0ae8a0268f45740728cf29b4 diff --git a/eng/Versions.props b/eng/Versions.props index 609c679adc61..f8935b277b0f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -180,8 +180,8 @@ At usage sites, either we use MicrosoftBuildMinimumVersion, or MicrosoftBuildVersion in source-only modes. Additionally, set the MinimumVSVersion for the installer UI that's required for targeting NetCurrent --> - 17.12.15 - 17.12.15-preview-24604-01 + 17.12.17 + 17.12.17-preview-24606-01 17.11.4 17.12 From 1c199114d4c5094216fbb8249a13b3bca81d41ba Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 9 Dec 2024 14:52:11 +0000 Subject: [PATCH 054/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241209.1 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24602.2 -> To Version 9.0.0-beta.24609.1 --- NuGet.config | 1 + eng/Version.Details.xml | 28 ++++++++++++++-------------- eng/Versions.props | 12 ++++++------ 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/NuGet.config b/NuGet.config index da8ebc6e33c1..bac9dc7da6aa 100644 --- a/NuGet.config +++ b/NuGet.config @@ -17,6 +17,7 @@ + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d6bcc163c6df..306aeae8cadf 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,34 +426,34 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink - 599ca6dd9547cef0c10c1363fade40b044fed3b7 + ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink - 599ca6dd9547cef0c10c1363fade40b044fed3b7 + ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink - 599ca6dd9547cef0c10c1363fade40b044fed3b7 + ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink - 599ca6dd9547cef0c10c1363fade40b044fed3b7 + ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink - 599ca6dd9547cef0c10c1363fade40b044fed3b7 + ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink - 599ca6dd9547cef0c10c1363fade40b044fed3b7 + ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink - 599ca6dd9547cef0c10c1363fade40b044fed3b7 + ac9962f7ccb3bfc36147eb4deba0789e62b739e8 diff --git a/eng/Versions.props b/eng/Versions.props index 0f5ae95e4b30..15ce01e870d5 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -291,12 +291,12 @@ - 9.0.0-beta.24603.2 - 9.0.0-beta.24603.2 - 9.0.0-beta.24603.2 - 9.0.0-beta.24603.2 - 9.0.0-beta.24603.2 - 9.0.0-beta.24603.2 + 9.0.0-beta.24609.1 + 9.0.0-beta.24609.1 + 9.0.0-beta.24609.1 + 9.0.0-beta.24609.1 + 9.0.0-beta.24609.1 + 9.0.0-beta.24609.1 From ebb5bee18cf9f6e0d09981076d375763a52d69e9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 9 Dec 2024 15:00:22 +0000 Subject: [PATCH 055/171] Update dependencies from https://github.com/dotnet/xdt build 20241209.1 Microsoft.SourceBuild.Intermediate.xdt , Microsoft.Web.Xdt From Version 9.0.0-preview.24522.2 -> To Version 9.0.0-preview.24609.1 --- NuGet.config | 1 + eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/NuGet.config b/NuGet.config index da8ebc6e33c1..bac9dc7da6aa 100644 --- a/NuGet.config +++ b/NuGet.config @@ -17,6 +17,7 @@ + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 27ce8dac7803..ba03a0f37f95 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -364,14 +364,14 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-wpf a04736acb8edb533756131d3d5fc55f15cd03d6a - + https://github.com/dotnet/xdt - 1a54480f52703fb45fac2a6b955247d33758383e + dd60102d936323dcbdef4fce06b0fef8f0ac00fa - + https://github.com/dotnet/xdt - 1a54480f52703fb45fac2a6b955247d33758383e + dd60102d936323dcbdef4fce06b0fef8f0ac00fa diff --git a/eng/Versions.props b/eng/Versions.props index 04c88816a0fe..a9a15a57a9b5 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -61,7 +61,7 @@ https://dotnetclimsrc.blob.core.windows.net/dotnet/ - 9.0.0-preview.24522.2 + 9.0.0-preview.24609.1 1.0.0-20230414.1 2.22.0 2.0.1-servicing-26011-01 From 071944306b6a5f20beb5448426f2d47b402f47d3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 9 Dec 2024 17:28:12 +0000 Subject: [PATCH 056/171] Update dependencies from https://github.com/dotnet/fsharp build 20241209.2 Microsoft.SourceBuild.Intermediate.fsharp , Microsoft.FSharp.Compiler From Version 9.0.200-beta.24578.1 -> To Version 9.0.200-beta.24609.2 --- NuGet.config | 1 + eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/NuGet.config b/NuGet.config index da8ebc6e33c1..bac9dc7da6aa 100644 --- a/NuGet.config +++ b/NuGet.config @@ -17,6 +17,7 @@ + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cb08af7c7b56..63fdb2f4cd74 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -83,14 +83,14 @@ 8f6b8ad0ace90c777c66711c907227fcfb6f2efe - + https://github.com/dotnet/fsharp - 96e77ae98391e41b5d940081b3c15a4b77a610aa + 446f247bdcbaef261682aa3f9686b886bc406712 - + https://github.com/dotnet/fsharp - 96e77ae98391e41b5d940081b3c15a4b77a610aa + 446f247bdcbaef261682aa3f9686b886bc406712 diff --git a/eng/Versions.props b/eng/Versions.props index 5f2869bbc359..18a659475a06 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -214,7 +214,7 @@ - 13.9.200-beta.24606.2 + 13.9.200-beta.24609.2 From 997b320e4e5fa29c48e04eb7c5e20c8536e9d155 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 9 Dec 2024 18:37:22 +0000 Subject: [PATCH 057/171] Update dependencies from https://github.com/dotnet/xdt build 20241209.2 Microsoft.SourceBuild.Intermediate.xdt , Microsoft.Web.Xdt From Version 9.0.0-preview.24522.2 -> To Version 10.0.0-preview.24609.2 --- 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 ba03a0f37f95..8e8265a78f45 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -364,14 +364,14 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-wpf a04736acb8edb533756131d3d5fc55f15cd03d6a - + https://github.com/dotnet/xdt - dd60102d936323dcbdef4fce06b0fef8f0ac00fa + 63ae81154c50a1cf9287cc47d8351d55b4289e6d - + https://github.com/dotnet/xdt - dd60102d936323dcbdef4fce06b0fef8f0ac00fa + 63ae81154c50a1cf9287cc47d8351d55b4289e6d diff --git a/eng/Versions.props b/eng/Versions.props index a9a15a57a9b5..d460f602aa88 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -61,7 +61,7 @@ https://dotnetclimsrc.blob.core.windows.net/dotnet/ - 9.0.0-preview.24609.1 + 10.0.0-preview.24609.2 1.0.0-20230414.1 2.22.0 2.0.1-servicing-26011-01 From 22d776c547b880067bb8ef22d6146ddec40b14f8 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 9 Dec 2024 22:57:42 +0000 Subject: [PATCH 058/171] Update dependencies from https://github.com/dotnet/razor build 20241209.1 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24609.1 --- NuGet.config | 1 + eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/NuGet.config b/NuGet.config index da8ebc6e33c1..bac9dc7da6aa 100644 --- a/NuGet.config +++ b/NuGet.config @@ -17,6 +17,7 @@ + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 36b3af0893d7..86b06987181d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - acf6972501eb279605fc8345a7e412c15e06b94a + 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 - + https://github.com/dotnet/razor - acf6972501eb279605fc8345a7e412c15e06b94a + 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 - + https://github.com/dotnet/razor - acf6972501eb279605fc8345a7e412c15e06b94a + 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 - + https://github.com/dotnet/razor - acf6972501eb279605fc8345a7e412c15e06b94a + 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 diff --git a/eng/Versions.props b/eng/Versions.props index 96a3b6187504..2b1188f91f52 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24605.1 - 9.0.0-preview.24605.1 - 9.0.0-preview.24605.1 + 9.0.0-preview.24609.1 + 9.0.0-preview.24609.1 + 9.0.0-preview.24609.1 From ef2709ccc326e68a15cb7434f65ee5b8e39cd8a2 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 10 Dec 2024 00:12:07 +0000 Subject: [PATCH 059/171] Update dependencies from https://github.com/dotnet/razor build 20241209.2 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24609.2 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 86b06987181d..d4a0995ba9ca 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 + 758077765df4781535d24b4681132f1576c0540b - + https://github.com/dotnet/razor - 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 + 758077765df4781535d24b4681132f1576c0540b - + https://github.com/dotnet/razor - 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 + 758077765df4781535d24b4681132f1576c0540b - + https://github.com/dotnet/razor - 5c6e320eb7742f8d58a5ba4fa21f05702baa4cd3 + 758077765df4781535d24b4681132f1576c0540b diff --git a/eng/Versions.props b/eng/Versions.props index 2b1188f91f52..8de3355c430d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24609.1 - 9.0.0-preview.24609.1 - 9.0.0-preview.24609.1 + 9.0.0-preview.24609.2 + 9.0.0-preview.24609.2 + 9.0.0-preview.24609.2 From 56be2e01484aafdad2eb02465d339faa1d7a8e1a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 10 Dec 2024 01:01:50 +0000 Subject: [PATCH 060/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241209.2 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24602.2 -> To Version 9.0.0-beta.24609.2 --- eng/Version.Details.xml | 14 +++++++------- eng/Versions.props | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 306aeae8cadf..38c03c7d2f61 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,32 +426,32 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink ac9962f7ccb3bfc36147eb4deba0789e62b739e8 - + https://github.com/dotnet/sourcelink ac9962f7ccb3bfc36147eb4deba0789e62b739e8 diff --git a/eng/Versions.props b/eng/Versions.props index 15ce01e870d5..1e50abedcd3e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -291,12 +291,12 @@ - 9.0.0-beta.24609.1 - 9.0.0-beta.24609.1 - 9.0.0-beta.24609.1 - 9.0.0-beta.24609.1 - 9.0.0-beta.24609.1 - 9.0.0-beta.24609.1 + 9.0.0-beta.24609.2 + 9.0.0-beta.24609.2 + 9.0.0-beta.24609.2 + 9.0.0-beta.24609.2 + 9.0.0-beta.24609.2 + 9.0.0-beta.24609.2 From 07c15bca15c654bb09f7cf691e88aae8e184859d Mon Sep 17 00:00:00 2001 From: Jason Zhai Date: Mon, 9 Dec 2024 18:44:04 -0800 Subject: [PATCH 061/171] Try increasing test timeout to address failures --- test/UnitTests.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/UnitTests.proj b/test/UnitTests.proj index cac7a0cd6d35..ed4253c67c18 100644 --- a/test/UnitTests.proj +++ b/test/UnitTests.proj @@ -8,7 +8,7 @@ true - 01:00:00 + 02:00:00 From 712f779afc24f6b88d8a070045fedb346b02effc Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 10 Dec 2024 09:19:26 +0000 Subject: [PATCH 062/171] Update dependencies from https://github.com/dotnet/razor build 20241210.1 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24610.1 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d4a0995ba9ca..cc33687893dd 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 758077765df4781535d24b4681132f1576c0540b + 83ef836a2a667865e201f39f0022c16e0b8abee5 - + https://github.com/dotnet/razor - 758077765df4781535d24b4681132f1576c0540b + 83ef836a2a667865e201f39f0022c16e0b8abee5 - + https://github.com/dotnet/razor - 758077765df4781535d24b4681132f1576c0540b + 83ef836a2a667865e201f39f0022c16e0b8abee5 - + https://github.com/dotnet/razor - 758077765df4781535d24b4681132f1576c0540b + 83ef836a2a667865e201f39f0022c16e0b8abee5 diff --git a/eng/Versions.props b/eng/Versions.props index 8de3355c430d..878cf8863167 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24609.2 - 9.0.0-preview.24609.2 - 9.0.0-preview.24609.2 + 9.0.0-preview.24610.1 + 9.0.0-preview.24610.1 + 9.0.0-preview.24610.1 From e1424c5be6ce1dbf4f50876fe5d66c5fc1a3e170 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 10 Dec 2024 09:26:57 +0000 Subject: [PATCH 063/171] Update dependencies from https://github.com/dotnet/msbuild build 20241210.4 Microsoft.SourceBuild.Intermediate.msbuild , Microsoft.Build , Microsoft.Build.Localization From Version 17.12.12-preview-24571-01 -> To Version 17.12.18-preview-24610-04 --- NuGet.config | 3 ++- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/NuGet.config b/NuGet.config index 7bed952cf15e..7371e9a37303 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,7 +10,7 @@ - + @@ -18,6 +18,7 @@ + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f1e3d0c2e327..d57b770eae15 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -73,18 +73,18 @@ 763d10a1a251be35337ee736832bfde3f9200672 - + https://github.com/dotnet/msbuild - 762f59c2ef10fc8e0ae8a0268f45740728cf29b4 + ed8c6aec5b774cfdad4e95033910c30aa0d93391 - + https://github.com/dotnet/msbuild - 762f59c2ef10fc8e0ae8a0268f45740728cf29b4 + ed8c6aec5b774cfdad4e95033910c30aa0d93391 - + https://github.com/dotnet/msbuild - 762f59c2ef10fc8e0ae8a0268f45740728cf29b4 + ed8c6aec5b774cfdad4e95033910c30aa0d93391 diff --git a/eng/Versions.props b/eng/Versions.props index f8935b277b0f..84e4510684a9 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -180,8 +180,8 @@ At usage sites, either we use MicrosoftBuildMinimumVersion, or MicrosoftBuildVersion in source-only modes. Additionally, set the MinimumVSVersion for the installer UI that's required for targeting NetCurrent --> - 17.12.17 - 17.12.17-preview-24606-01 + 17.12.18 + 17.12.18-preview-24610-04 17.11.4 17.12 From a949d0d373e52e938b2c878d66ea728f8fe1256a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 10 Dec 2024 14:48:26 +0000 Subject: [PATCH 064/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241210.1 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24602.2 -> To Version 9.0.0-beta.24610.1 --- eng/Version.Details.xml | 28 ++++++++++++++-------------- eng/Versions.props | 12 ++++++------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 38c03c7d2f61..6ba79df58da5 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,34 +426,34 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink - ac9962f7ccb3bfc36147eb4deba0789e62b739e8 + 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink - ac9962f7ccb3bfc36147eb4deba0789e62b739e8 + 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink - ac9962f7ccb3bfc36147eb4deba0789e62b739e8 + 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink - ac9962f7ccb3bfc36147eb4deba0789e62b739e8 + 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink - ac9962f7ccb3bfc36147eb4deba0789e62b739e8 + 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink - ac9962f7ccb3bfc36147eb4deba0789e62b739e8 + 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink - ac9962f7ccb3bfc36147eb4deba0789e62b739e8 + 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab diff --git a/eng/Versions.props b/eng/Versions.props index 1e50abedcd3e..818c37cdb9c1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -291,12 +291,12 @@ - 9.0.0-beta.24609.2 - 9.0.0-beta.24609.2 - 9.0.0-beta.24609.2 - 9.0.0-beta.24609.2 - 9.0.0-beta.24609.2 - 9.0.0-beta.24609.2 + 9.0.0-beta.24610.1 + 9.0.0-beta.24610.1 + 9.0.0-beta.24610.1 + 9.0.0-beta.24610.1 + 9.0.0-beta.24610.1 + 9.0.0-beta.24610.1 From 07ee4c343c1e72d13335d394a9d0faddb8a7ad03 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 10 Dec 2024 18:11:13 +0000 Subject: [PATCH 065/171] Update dependencies from https://github.com/dotnet/razor build 20241209.3 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24609.3 --- eng/Version.Details.xml | 8 ++++---- eng/Versions.props | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cc33687893dd..ff0febea40ac 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,20 +321,20 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor 83ef836a2a667865e201f39f0022c16e0b8abee5 - + https://github.com/dotnet/razor 83ef836a2a667865e201f39f0022c16e0b8abee5 - + https://github.com/dotnet/razor 83ef836a2a667865e201f39f0022c16e0b8abee5 - + https://github.com/dotnet/razor 83ef836a2a667865e201f39f0022c16e0b8abee5 diff --git a/eng/Versions.props b/eng/Versions.props index 878cf8863167..096b07c1ab46 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24610.1 - 9.0.0-preview.24610.1 - 9.0.0-preview.24610.1 + 9.0.0-preview.24609.3 + 9.0.0-preview.24609.3 + 9.0.0-preview.24609.3 From 6d18bfb5768396d3373b3fa76eeb3fc4b341f490 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 11 Dec 2024 00:51:17 +0000 Subject: [PATCH 066/171] Update dependencies from https://github.com/dotnet/razor build 20241210.2 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24610.2 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ff0febea40ac..f54dc38c101d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 83ef836a2a667865e201f39f0022c16e0b8abee5 + fd993229c91d996508f36c6181c693f661fe14f6 - + https://github.com/dotnet/razor - 83ef836a2a667865e201f39f0022c16e0b8abee5 + fd993229c91d996508f36c6181c693f661fe14f6 - + https://github.com/dotnet/razor - 83ef836a2a667865e201f39f0022c16e0b8abee5 + fd993229c91d996508f36c6181c693f661fe14f6 - + https://github.com/dotnet/razor - 83ef836a2a667865e201f39f0022c16e0b8abee5 + fd993229c91d996508f36c6181c693f661fe14f6 diff --git a/eng/Versions.props b/eng/Versions.props index 096b07c1ab46..e884ad8fa587 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24609.3 - 9.0.0-preview.24609.3 - 9.0.0-preview.24609.3 + 9.0.0-preview.24610.2 + 9.0.0-preview.24610.2 + 9.0.0-preview.24610.2 From 1b6a7f53ea35c42f352cec79b2ad983f56b41fb2 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 11 Dec 2024 01:00:35 +0000 Subject: [PATCH 067/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241210.2 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24602.2 -> To Version 9.0.0-beta.24610.2 --- eng/Version.Details.xml | 14 +++++++------- eng/Versions.props | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6ba79df58da5..919d0f8ce9ab 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,32 +426,32 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab - + https://github.com/dotnet/sourcelink 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab diff --git a/eng/Versions.props b/eng/Versions.props index 818c37cdb9c1..15c6e4ed1235 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -291,12 +291,12 @@ - 9.0.0-beta.24610.1 - 9.0.0-beta.24610.1 - 9.0.0-beta.24610.1 - 9.0.0-beta.24610.1 - 9.0.0-beta.24610.1 - 9.0.0-beta.24610.1 + 9.0.0-beta.24610.2 + 9.0.0-beta.24610.2 + 9.0.0-beta.24610.2 + 9.0.0-beta.24610.2 + 9.0.0-beta.24610.2 + 9.0.0-beta.24610.2 From e2d58709caa403031ec6c071c2eafc2c17ae6b76 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Wed, 30 Oct 2024 11:56:17 -0700 Subject: [PATCH 068/171] [ADD] dotnet solution migrate (#44419) Co-authored-by: kasperk81 <83082615+kasperk81@users.noreply.github.com> Co-authored-by: Noah Gilson --- Directory.Packages.props | 19 +++--- .../dotnet-sln/LocalizableStrings.resx | 8 ++- .../commands/dotnet-sln/SlnCommandParser.cs | 25 ++++++++ .../dotnet-sln/migrate/SlnMigrateCommand.cs | 59 +++++++++++++++++++ .../migrate/SlnMigrateCommandParser.cs | 30 ++++++++++ .../dotnet-sln/xlf/LocalizableStrings.cs.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.de.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.es.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.fr.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.it.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.ja.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.ko.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.pl.xlf | 10 ++++ .../xlf/LocalizableStrings.pt-BR.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.ru.xlf | 10 ++++ .../dotnet-sln/xlf/LocalizableStrings.tr.xlf | 10 ++++ .../xlf/LocalizableStrings.zh-Hans.xlf | 10 ++++ .../xlf/LocalizableStrings.zh-Hant.xlf | 10 ++++ src/Cli/dotnet/dotnet.csproj | 4 ++ .../dotnet-sln.Tests/GivenDotnetSlnMigrate.cs | 37 ++++++++++++ 20 files changed, 302 insertions(+), 10 deletions(-) create mode 100644 src/Cli/dotnet/commands/dotnet-sln/migrate/SlnMigrateCommand.cs create mode 100644 src/Cli/dotnet/commands/dotnet-sln/migrate/SlnMigrateCommandParser.cs create mode 100644 test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index 1d941c1212fd..2bd6fc1c79d5 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,5 +1,5 @@ - + $(NoWarn);NU1507 @@ -12,7 +12,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -66,6 +66,7 @@ + @@ -94,11 +95,11 @@ - - - - - + + + + + @@ -118,7 +119,7 @@ - + + $(NoWarn);CS8002 @@ -97,6 +99,8 @@ + + diff --git a/test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs b/test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs new file mode 100644 index 000000000000..b2a2ecee7272 --- /dev/null +++ b/test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs @@ -0,0 +1,37 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Microsoft.DotNet.Cli.Sln.Internal; +using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Tools.Common; +using CommandLocalizableStrings = Microsoft.DotNet.Tools.Sln.LocalizableStrings; + +namespace Microsoft.DotNet.Cli.Sln.List.Tests +{ + public class GivenDotnetSlnMigrate : SdkTest + { + public GivenDotnetSlnMigrate(ITestOutputHelper log) : base(log) { } + + [Theory] + [InlineData("sln")] + [InlineData("solution")] + public void WhenSlnFileIsValidShouldGenerateValidSlnxFile(string solutionCommand) + { + var projectDirectory = _testAssetsManager + .CopyTestAsset("TestAppWithEmptySln") + .WithSource() + .Path; + var slnFileName = Path.Combine(projectDirectory, "App.sln"); + var slnMigrateCommand = new DotnetCommand(Log) + .WithWorkingDirectory(projectDirectory) + .Execute(solutionCommand, "migrate"); + slnMigrateCommand.Should().Pass(); + + var slnxFileName = Path.ChangeExtension(slnFileName, ".slnx"); + var slnxBuildCommand = new DotnetCommand(Log) + .WithWorkingDirectory(projectDirectory) + .Execute("build", slnxFileName); + slnxBuildCommand.Should().ExitWith(0); + } + } +} From 8bbd19bfc11fa5c386da56b0426b9120c8b9deb0 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Tue, 5 Nov 2024 13:04:39 -0600 Subject: [PATCH 069/171] sln-list: Support for slnx (#44537) --- .../dotnet-sln/LocalizableStrings.resx | 6 ++++ .../commands/dotnet-sln/SlnCommandParser.cs | 20 +++++++++-- .../commands/dotnet-sln/list/Program.cs | 35 +++++++++++++------ .../dotnet-sln/migrate/SlnMigrateCommand.cs | 14 ++++---- .../dotnet-sln/xlf/LocalizableStrings.cs.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.de.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.es.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.fr.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.it.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.ja.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.ko.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.pl.xlf | 10 ++++++ .../xlf/LocalizableStrings.pt-BR.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.ru.xlf | 10 ++++++ .../dotnet-sln/xlf/LocalizableStrings.tr.xlf | 10 ++++++ .../xlf/LocalizableStrings.zh-Hans.xlf | 10 ++++++ .../xlf/LocalizableStrings.zh-Hant.xlf | 10 ++++++ test/dotnet-sln.Tests/GivenDotnetSlnList.cs | 6 ++-- 18 files changed, 188 insertions(+), 23 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-sln/LocalizableStrings.resx b/src/Cli/dotnet/commands/dotnet-sln/LocalizableStrings.resx index 954f3b45f1e9..4748d3d4504b 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/LocalizableStrings.resx +++ b/src/Cli/dotnet/commands/dotnet-sln/LocalizableStrings.resx @@ -183,4 +183,10 @@ .slnx file {0} generated. + + Only .sln files can be migrated to .slnx format. + + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-sln/SlnCommandParser.cs b/src/Cli/dotnet/commands/dotnet-sln/SlnCommandParser.cs index 47169569fc96..b2a2f685b752 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/SlnCommandParser.cs +++ b/src/Cli/dotnet/commands/dotnet-sln/SlnCommandParser.cs @@ -4,6 +4,8 @@ using System.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools; +using Microsoft.VisualStudio.SolutionPersistence; +using Microsoft.VisualStudio.SolutionPersistence.Serializer; using NuGet.Packaging; using LocalizableStrings = Microsoft.DotNet.Tools.Sln.LocalizableStrings; @@ -50,11 +52,13 @@ internal static string GetSlnFileFullPath(string slnFileOrDirectory) { if (File.Exists(slnFileOrDirectory)) { - return slnFileOrDirectory; + return Path.GetFullPath(slnFileOrDirectory); } if (Directory.Exists(slnFileOrDirectory)) { - var files = Directory.GetFiles(slnFileOrDirectory, "*.sln", SearchOption.TopDirectoryOnly); + string[] files = [ + ..Directory.GetFiles(slnFileOrDirectory, "*.sln", SearchOption.TopDirectoryOnly), + ..Directory.GetFiles(slnFileOrDirectory, "*.slnx", SearchOption.TopDirectoryOnly)]; if (files.Length == 0) { throw new GracefulException(CommonLocalizableStrings.CouldNotFindSolutionIn, slnFileOrDirectory); @@ -63,9 +67,19 @@ internal static string GetSlnFileFullPath(string slnFileOrDirectory) { throw new GracefulException(CommonLocalizableStrings.MoreThanOneSolutionInDirectory, slnFileOrDirectory); } - return files.Single().ToString(); + return Path.GetFullPath(files.Single()); } throw new GracefulException(CommonLocalizableStrings.CouldNotFindSolutionOrDirectory, slnFileOrDirectory); } + + internal static ISolutionSerializer GetSolutionSerializer(string solutionFilePath) + { + ISolutionSerializer? serializer = SolutionSerializers.GetSerializerByMoniker(solutionFilePath); + if (serializer is null) + { + throw new GracefulException(LocalizableStrings.SerializerNotFound, solutionFilePath); + } + return serializer; + } } } diff --git a/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs b/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs index a46642c421b4..d2921f243767 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs +++ b/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs @@ -5,7 +5,9 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Sln.Internal; using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools.Common; +using Microsoft.VisualStudio.SolutionPersistence; +using Microsoft.VisualStudio.SolutionPersistence.Model; +using CommandLocalizableStrings = Microsoft.DotNet.Tools.CommonLocalizableStrings; namespace Microsoft.DotNet.Tools.Sln.List { @@ -23,25 +25,36 @@ public ListProjectsInSolutionCommand( public override int Execute() { - var slnFile = SlnFileFactory.CreateFromFileOrDirectory(_fileOrDirectory); + string solutionFileFullPath = SlnCommandParser.GetSlnFileFullPath(_fileOrDirectory); + try + { + ListAllProjectsAsync(solutionFileFullPath, CancellationToken.None).Wait(); + return 0; + } + catch (Exception ex) + { + throw new GracefulException(CommandLocalizableStrings.InvalidSolutionFormatString, solutionFileFullPath, ex.Message); + } + } + private async Task ListAllProjectsAsync(string solutionFileFullPath, CancellationToken cancellationToken) + { + ISolutionSerializer serializer = SlnCommandParser.GetSolutionSerializer(solutionFileFullPath); + SolutionModel solution = await serializer.OpenAsync(solutionFileFullPath, cancellationToken); string[] paths; - if (_displaySolutionFolders) { - paths = slnFile.Projects - .GetProjectsByType(ProjectTypeGuids.SolutionFolderGuid) - .Select(folder => folder.GetFullSolutionFolderPath()) + paths = solution.SolutionFolders + // VS-SolutionPersistence does not return a path object, so there might be issues with forward/backward slashes on different platforms + .Select(folder => Path.GetDirectoryName(folder.Path.TrimStart("/"))) .ToArray(); } else { - paths = slnFile.Projects - .GetProjectsNotOfType(ProjectTypeGuids.SolutionFolderGuid) + paths = solution.SolutionProjects .Select(project => project.FilePath) .ToArray(); } - if (paths.Length == 0) { Reporter.Output.WriteLine(CommonLocalizableStrings.NoProjectsFound); @@ -51,14 +64,14 @@ public override int Execute() Array.Sort(paths); string header = _displaySolutionFolders ? LocalizableStrings.SolutionFolderHeader : LocalizableStrings.ProjectsHeader; - Reporter.Output.WriteLine($"{header}"); + Reporter.Output.WriteLine(header); Reporter.Output.WriteLine(new string('-', header.Length)); foreach (string slnProject in paths) { Reporter.Output.WriteLine(slnProject); } } - return 0; + } } } diff --git a/src/Cli/dotnet/commands/dotnet-sln/migrate/SlnMigrateCommand.cs b/src/Cli/dotnet/commands/dotnet-sln/migrate/SlnMigrateCommand.cs index f7be83272e40..1ac8dde1468e 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/migrate/SlnMigrateCommand.cs +++ b/src/Cli/dotnet/commands/dotnet-sln/migrate/SlnMigrateCommand.cs @@ -14,6 +14,7 @@ using Microsoft.VisualStudio.SolutionPersistence.Model; using Microsoft.VisualStudio.SolutionPersistence.Serializer; using LocalizableStrings = Microsoft.DotNet.Tools.Sln.LocalizableStrings; +using Microsoft.DotNet.Tools.Common; namespace Microsoft.DotNet.Cli { @@ -26,13 +27,17 @@ public SlnMigrateCommand( IReporter reporter = null) : base(parseResult) { - _slnFileOrDirectory = Path.GetFullPath(parseResult.GetValue(SlnCommandParser.SlnArgument)); + _slnFileOrDirectory = parseResult.GetValue(SlnCommandParser.SlnArgument); _reporter = reporter ?? Reporter.Output; } public override int Execute() { string slnFileFullPath = SlnCommandParser.GetSlnFileFullPath(_slnFileOrDirectory); + if (slnFileFullPath.HasExtension(".slnx")) + { + throw new GracefulException(LocalizableStrings.CannotMigrateSlnx); + } string slnxFileFullPath = Path.ChangeExtension(slnFileFullPath, "slnx"); try { @@ -45,12 +50,7 @@ public override int Execute() private async Task ConvertToSlnxAsync(string filePath, string slnxFilePath, CancellationToken cancellationToken) { - // See if the file is a known solution file. - ISolutionSerializer? serializer = SolutionSerializers.GetSerializerByMoniker(filePath); - if (serializer is null) - { - throw new GracefulException("Could not find serializer for file {0}", filePath); - } + ISolutionSerializer serializer = SlnCommandParser.GetSolutionSerializer(filePath); SolutionModel solution = await serializer.OpenAsync(filePath, cancellationToken); await SolutionSerializers.SlnXml.SaveAsync(slnxFilePath, solution, cancellationToken); _reporter.WriteLine(LocalizableStrings.SlnxGenerated, slnxFilePath); diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf index 6c53575ea9eb..f5b32233e7d0 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf @@ -27,6 +27,11 @@ Přidá do souboru řešení jeden nebo více projektů. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Umístěte projekt do kořene řešení, není potřeba vytvářet složku řešení. @@ -62,6 +67,11 @@ Vypíše seznam všech projektů v řešení. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf index 4e3b2955d5b6..f8eb231f7950 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf @@ -27,6 +27,11 @@ Fügt einer Projektmappendatei ein oder mehrere Projekte hinzu. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Platzieren Sie das Projekt im Stamm der Projektmappe, statt einen Projektmappenordner zu erstellen. @@ -62,6 +67,11 @@ Listet alle Projekte in der Projektmappe auf. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf index aa87dd21de2b..6ed23a5e39fe 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf @@ -27,6 +27,11 @@ Agrega uno o varios proyectos a un archivo de solución. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Coloque el proyecto en la raíz de la solución, en lugar de crear una carpeta de soluciones. @@ -62,6 +67,11 @@ Enumere todos los proyectos de la solución. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf index 243195f00fff..b1d8c5880aff 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf @@ -27,6 +27,11 @@ Ajoutez un ou plusieurs projets à un fichier solution. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Place le projet à la racine de la solution, au lieu de créer un dossier solution. @@ -62,6 +67,11 @@ Répertoriez tous les projets de la solution. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf index d9684bca6f50..989a4f33844e 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf @@ -27,6 +27,11 @@ Consente di aggiungere uno o più progetti a un file di soluzione. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Inserisce il progetto nella radice della soluzione invece di creare una cartella soluzione. @@ -62,6 +67,11 @@ Elenca tutti i progetti presenti nella soluzione. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf index 15ab2149217c..2683028f11aa 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf @@ -27,6 +27,11 @@ 1 つ以上のプロジェクトをソリューション ファイルに追加します。 + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. ソリューション フォルダーを作成するのではなく、プロジェクトをソリューションのルートに配置します。 @@ -62,6 +67,11 @@ ソリューション内のすべてのプロジェクトを一覧表示します。 + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf index c1004aaae4a6..895400338f29 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf @@ -27,6 +27,11 @@ 솔루션 파일에 하나 이상의 프로젝트를 추가합니다. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. 솔루션 폴더를 만드는 대신, 솔루션의 루트에 프로젝트를 배치하세요. @@ -62,6 +67,11 @@ 솔루션의 프로젝트를 모두 나열합니다. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf index 8ccc8c2101b7..e384d5d00475 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf @@ -27,6 +27,11 @@ Dodaj co najmniej jeden projekt do pliku rozwiązania. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Umieść projekt w katalogu głównym rozwiązania zamiast tworzyć folder rozwiązania. @@ -62,6 +67,11 @@ Wyświetl listę wszystkich projektów w rozwiązaniu. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf index 033a36200e57..ba4d879b8340 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf @@ -27,6 +27,11 @@ Adicionar um ou mais projetos em um arquivo de solução. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Coloque o projeto na raiz da solução, em vez de criar uma pasta da solução. @@ -62,6 +67,11 @@ Listar todos os projetos na solução. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf index 793e580c833b..c5dfbd52a60c 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf @@ -27,6 +27,11 @@ Добавление проектов в файл решения. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Поместите проект в корень решения вместо создания папки решения. @@ -62,6 +67,11 @@ Перечисляет все проекты в решении. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf index 708dd2cf1377..fea7bcc4ea34 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf @@ -27,6 +27,11 @@ Bir çözüm dosyasına bir veya daha fazla proje ekler. + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. Bir çözüm klasörü oluşturmak yerine projeyi çözümün köküne yerleştirin. @@ -62,6 +67,11 @@ Çözümdeki tüm projeleri listeleyin. + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf index fd02b1f09400..82241d2d4a6a 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf @@ -27,6 +27,11 @@ 将一个或多个项目添加到解决方案文件。 + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. 将项目放在解决方案的根目录下,而不是创建解决方案文件夹。 @@ -62,6 +67,11 @@ 列出解决方案中的所有项目。 + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf index 634a6210b0e9..5b061ec4f5f2 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf @@ -27,6 +27,11 @@ 為解決方案檔新增一或多個專案。 + + Only .sln files can be migrated to .slnx format. + Only .sln files can be migrated to .slnx format. + + Place project in root of the solution, rather than creating a solution folder. 請將專案放置在解決方案的根目錄中,而非放置於建立解決方案的資料夾中。 @@ -62,6 +67,11 @@ 列出解決方案中的所有專案。 + + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + Could not read solution file {0}. Supported files are .sln and .slnx valid solutions. + + .slnx file {0} generated. .slnx file {0} generated. diff --git a/test/dotnet-sln.Tests/GivenDotnetSlnList.cs b/test/dotnet-sln.Tests/GivenDotnetSlnList.cs index 77670963b1ad..f8144602ad25 100644 --- a/test/dotnet-sln.Tests/GivenDotnetSlnList.cs +++ b/test/dotnet-sln.Tests/GivenDotnetSlnList.cs @@ -100,7 +100,8 @@ public void WhenInvalidSolutionIsPassedItPrintsErrorAndUsage(string solutionComm .WithWorkingDirectory(projectDirectory) .Execute(solutionCommand, "InvalidSolution.sln", "list"); cmd.Should().Fail(); - cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, "InvalidSolution.sln", LocalizableStrings.FileHeaderMissingError)); + cmd.StdErr.Should().Contain( + string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, Path.Combine(projectDirectory, "InvalidSolution.sln"), "").TrimEnd(".")); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); } @@ -119,7 +120,8 @@ public void WhenInvalidSolutionIsFoundListPrintsErrorAndUsage(string solutionCom .WithWorkingDirectory(projectDirectory) .Execute(solutionCommand, "list"); cmd.Should().Fail(); - cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, solutionFullPath, LocalizableStrings.FileHeaderMissingError)); + cmd.StdErr.Should().Contain( + string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, solutionFullPath, "").TrimEnd(".")); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); } From 25fd857f19cab0a7c38cce55e9cc8806cd65cc54 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Tue, 5 Nov 2024 18:19:09 -0600 Subject: [PATCH 070/171] sln-list: Fix char conversions (#44661) --- src/Cli/dotnet/commands/dotnet-sln/list/Program.cs | 2 +- test/dotnet-sln.Tests/GivenDotnetSlnList.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs b/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs index d2921f243767..99b948207011 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs +++ b/src/Cli/dotnet/commands/dotnet-sln/list/Program.cs @@ -46,7 +46,7 @@ private async Task ListAllProjectsAsync(string solutionFileFullPath, Cancellatio { paths = solution.SolutionFolders // VS-SolutionPersistence does not return a path object, so there might be issues with forward/backward slashes on different platforms - .Select(folder => Path.GetDirectoryName(folder.Path.TrimStart("/"))) + .Select(folder => Path.GetDirectoryName(folder.Path.TrimStart('/'))) .ToArray(); } else diff --git a/test/dotnet-sln.Tests/GivenDotnetSlnList.cs b/test/dotnet-sln.Tests/GivenDotnetSlnList.cs index f8144602ad25..f9487fc3155a 100644 --- a/test/dotnet-sln.Tests/GivenDotnetSlnList.cs +++ b/test/dotnet-sln.Tests/GivenDotnetSlnList.cs @@ -101,7 +101,7 @@ public void WhenInvalidSolutionIsPassedItPrintsErrorAndUsage(string solutionComm .Execute(solutionCommand, "InvalidSolution.sln", "list"); cmd.Should().Fail(); cmd.StdErr.Should().Contain( - string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, Path.Combine(projectDirectory, "InvalidSolution.sln"), "").TrimEnd(".")); + string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, Path.Combine(projectDirectory, "InvalidSolution.sln"), "").TrimEnd('.')); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); } @@ -121,7 +121,7 @@ public void WhenInvalidSolutionIsFoundListPrintsErrorAndUsage(string solutionCom .Execute(solutionCommand, "list"); cmd.Should().Fail(); cmd.StdErr.Should().Contain( - string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, solutionFullPath, "").TrimEnd(".")); + string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, solutionFullPath, "").TrimEnd('.')); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); } From e2846445c451b709f4f749e28a4467035289ac91 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Fri, 6 Dec 2024 10:58:14 -0600 Subject: [PATCH 071/171] sln-add: Support for slnx (#44570) --- .../dotnet/commands/dotnet-sln/add/Program.cs | 222 ++-- .../InvalidSolution/InvalidSolution.slnx | 2 + .../InvalidSolution/Sln/InvalidSolution.sln | 1 + .../InvalidSolution/Slnx/InvalidSolution.slnx | 2 + .../App.slnx | 7 + .../ExpectedSlnFileAfterAddingLibProj.sln | 47 + .../ExpectedSlnFileAfterAddingLibProj.slnx | 12 + ...tedSlnFileAfterAddingLibProjToEmptySln.sln | 33 + ...edSlnFileAfterAddingLibProjToEmptySln.slnx | 8 + .../ExpectedSlnFileAfterAddingNestedProj.sln | 52 + .../ExpectedSlnFileAfterAddingNestedProj.slnx | 14 + ...FileAfterAddingProjectWithInRootOption.sln | 47 + ...ileAfterAddingProjectWithInRootOption.slnx | 12 + ...rAddingProjectWithSolutionFolderOption.sln | 52 + ...AddingProjectWithSolutionFolderOption.slnx | 14 + .../TestProjects/TestAppWithEmptySln/App.slnx | 1 + .../TestAppWithMultipleSlnFiles/App.slnx | 11 + .../TestAppWithMultipleSlnFiles/App2.slnx | 11 + .../TestAppWithSlnAnd472CsprojFiles/App.slnx | 11 + .../App.slnx | 13 + .../TestAppWithSlnAndCsprojFiles/App.slnx | 11 + .../TestAppWithSlnAndCsprojInSubDir/App.slnx | 11 + .../App.slnx | 7 + .../App.slnx | 11 + .../App.slnx | 16 + .../App.slnx | 16 + .../TestAppWithSlnAndProjectConfigs/App.slnx | 10 + ...fterAddingProjectWithAdditionalConfigs.sln | 42 + ...terAddingProjectWithAdditionalConfigs.slnx | 15 + ...eAfterAddingProjectWithMatchingConfigs.sln | 42 + ...AfterAddingProjectWithMatchingConfigs.slnx | 15 + ...terAddingProjectWithoutMatchingConfigs.sln | 42 + ...erAddingProjectWithoutMatchingConfigs.slnx | 13 + .../TestAppWithSlnAndSolutionFolders/App.slnx | 13 + ...stAppsWithSlnAndMultitargetedProjects.slnx | 7 + .../GivenThatIWantToRestoreApp.cs | 2 +- test/dotnet-sln.Tests/GivenDotnetSlnAdd.cs | 1084 +++++++---------- test/dotnet-sln.Tests/GivenDotnetSlnList.cs | 64 +- .../dotnet-sln.Tests/GivenDotnetSlnMigrate.cs | 4 +- test/dotnet-sln.Tests/dotnet-sln.Tests.csproj | 4 + 40 files changed, 1214 insertions(+), 787 deletions(-) create mode 100644 test/TestAssets/TestProjects/InvalidSolution/InvalidSolution.slnx create mode 100644 test/TestAssets/TestProjects/InvalidSolution/Sln/InvalidSolution.sln create mode 100644 test/TestAssets/TestProjects/InvalidSolution/Slnx/InvalidSolution.slnx create mode 100644 test/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.slnx create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.sln create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.sln create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.sln create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.sln create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.sln create mode 100644 test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithEmptySln/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App2.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAnd472CsprojFiles/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirVS/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.sln create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.sln create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.sln create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx create mode 100644 test/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/App.slnx create mode 100644 test/TestAssets/TestProjects/TestAppsWithSlnAndMultitargetedProjects/TestAppsWithSlnAndMultitargetedProjects.slnx diff --git a/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs b/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs index ded4c5fc3968..de524b2893e0 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs +++ b/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs @@ -1,144 +1,180 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; using System.CommandLine; +using Microsoft.Build.Construction; +using Microsoft.Build.Exceptions; +using Microsoft.Build.Execution; using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.Sln.Internal; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools.Common; +using Microsoft.VisualStudio.SolutionPersistence; +using Microsoft.VisualStudio.SolutionPersistence.Model; +using Microsoft.VisualStudio.SolutionPersistence.Serializer.SlnV12; namespace Microsoft.DotNet.Tools.Sln.Add { internal class AddProjectToSolutionCommand : CommandBase { + private static string[] _defaultPlatforms = new[] { "Any CPU", "x64", "x86" }; + private static string[] _defaultBuildTypes = new[] { "Debug", "Release" }; private readonly string _fileOrDirectory; private readonly bool _inRoot; - private readonly IList _relativeRootSolutionFolders; - private readonly IReadOnlyCollection _arguments; + private readonly IReadOnlyCollection _projects; + private readonly string? _solutionFolderPath; + + private static string GetSolutionFolderPathWithForwardSlashes(string path) + { + // SolutionModel::AddFolder expects paths to have leading, trailing and inner forward slashes + // https://github.com/microsoft/vs-solutionpersistence/blob/87ee8ea069662d55c336a9bd68fe4851d0384fa5/src/Microsoft.VisualStudio.SolutionPersistence/Model/SolutionModel.cs#L171C1-L172C1 + return "/" + string.Join("/", PathUtility.GetPathWithDirectorySeparator(path).Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries)) + "/"; + } public AddProjectToSolutionCommand(ParseResult parseResult) : base(parseResult) { _fileOrDirectory = parseResult.GetValue(SlnCommandParser.SlnArgument); - - _arguments = parseResult.GetValue(SlnAddParser.ProjectPathArgument)?.ToArray() ?? (IReadOnlyCollection)Array.Empty(); - + _projects = (IReadOnlyCollection)(parseResult.GetValue(SlnAddParser.ProjectPathArgument) ?? []); _inRoot = parseResult.GetValue(SlnAddParser.InRootOption); - string relativeRoot = parseResult.GetValue(SlnAddParser.SolutionFolderOption); - - SlnArgumentValidator.ParseAndValidateArguments(_fileOrDirectory, _arguments, SlnArgumentValidator.CommandType.Add, _inRoot, relativeRoot); - - bool hasRelativeRoot = !string.IsNullOrEmpty(relativeRoot); - - if (hasRelativeRoot) - { - relativeRoot = PathUtility.GetPathWithDirectorySeparator(relativeRoot); - _relativeRootSolutionFolders = relativeRoot.Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries); - } - else - { - _relativeRootSolutionFolders = null; - } + _solutionFolderPath = parseResult.GetValue(SlnAddParser.SolutionFolderOption); + SlnArgumentValidator.ParseAndValidateArguments(_fileOrDirectory, _projects, SlnArgumentValidator.CommandType.Add, _inRoot, _solutionFolderPath); } public override int Execute() { - SlnFile slnFile = SlnFileFactory.CreateFromFileOrDirectory(_fileOrDirectory); - - var arguments = (_parseResult.GetValue>(SlnAddParser.ProjectPathArgument) ?? Array.Empty()).ToList().AsReadOnly(); - if (arguments.Count == 0) + if (_projects.Count == 0) { throw new GracefulException(CommonLocalizableStrings.SpecifyAtLeastOneProjectToAdd); } + string solutionFileFullPath = SlnCommandParser.GetSlnFileFullPath(_fileOrDirectory); - PathUtility.EnsureAllPathsExist(arguments, CommonLocalizableStrings.CouldNotFindProjectOrDirectory, true); - - var fullProjectPaths = _arguments.Select(p => - { - var fullPath = Path.GetFullPath(p); - return Directory.Exists(fullPath) ? - MsbuildProject.GetProjectFileFromDirectory(fullPath).FullName : - fullPath; - }).ToList(); - - var preAddProjectCount = slnFile.Projects.Count; - - foreach (var fullProjectPath in fullProjectPaths) + try { - // Identify the intended solution folders - var solutionFolders = DetermineSolutionFolder(slnFile, fullProjectPath); - - slnFile.AddProject(fullProjectPath, solutionFolders); + PathUtility.EnsureAllPathsExist(_projects, CommonLocalizableStrings.CouldNotFindProjectOrDirectory, true); + IEnumerable fullProjectPaths = _projects.Select(project => + { + var fullPath = Path.GetFullPath(project); + return Directory.Exists(fullPath) ? MsbuildProject.GetProjectFileFromDirectory(fullPath).FullName : fullPath; + }); + AddProjectsToSolutionAsync(solutionFileFullPath, fullProjectPaths, CancellationToken.None).GetAwaiter().GetResult(); + return 0; } - - if (slnFile.Projects.Count > preAddProjectCount) + catch (Exception ex) when (ex is not GracefulException) { - slnFile.Write(); + { + if (ex is SolutionException || ex.InnerException is SolutionException) + { + throw new GracefulException(CommonLocalizableStrings.InvalidSolutionFormatString, solutionFileFullPath, ex.Message); + } + throw new GracefulException(ex.Message, ex); + } } - - return 0; } - private static IList GetSolutionFoldersFromProjectPath(string projectFilePath) + private async Task AddProjectsToSolutionAsync(string solutionFileFullPath, IEnumerable projectPaths, CancellationToken cancellationToken) { - var solutionFolders = new List(); - - if (!IsPathInTreeRootedAtSolutionDirectory(projectFilePath)) - return solutionFolders; - - var currentDirString = $".{Path.DirectorySeparatorChar}"; - if (projectFilePath.StartsWith(currentDirString)) + ISolutionSerializer serializer = SlnCommandParser.GetSolutionSerializer(solutionFileFullPath); + SolutionModel solution = await serializer.OpenAsync(solutionFileFullPath, cancellationToken); + // set UTF8 BOM encoding for .sln + if (serializer is ISolutionSerializer v12Serializer) { - projectFilePath = projectFilePath.Substring(currentDirString.Length); + solution.SerializerExtension = v12Serializer.CreateModelExtension(new() + { + Encoding = new UTF8Encoding(encoderShouldEmitUTF8Identifier: true) + }); + } + // Set default configurations and platforms for sln file + foreach (var platform in _defaultPlatforms) + { + solution.AddPlatform(platform); + } + foreach (var buildType in _defaultBuildTypes) + { + solution.AddBuildType(buildType); } - var projectDirectoryPath = TrimProject(projectFilePath); - if (string.IsNullOrEmpty(projectDirectoryPath)) - return solutionFolders; - - var solutionFoldersPath = TrimProjectDirectory(projectDirectoryPath); - if (string.IsNullOrEmpty(solutionFoldersPath)) - return solutionFolders; - - solutionFolders.AddRange(solutionFoldersPath.Split(Path.DirectorySeparatorChar)); + SolutionFolderModel? solutionFolder = (!_inRoot && !string.IsNullOrEmpty(_solutionFolderPath)) + ? solution.AddFolder(GetSolutionFolderPathWithForwardSlashes(_solutionFolderPath)) + : null; - return solutionFolders; + foreach (var projectPath in projectPaths) + { + string relativePath = Path.GetRelativePath(Path.GetDirectoryName(solutionFileFullPath), projectPath); + // Add fallback solution folder + string relativeSolutionFolder = Path.GetDirectoryName(relativePath); + if (!_inRoot && solutionFolder is null && !string.IsNullOrEmpty(relativeSolutionFolder)) + { + if (relativeSolutionFolder.Split(Path.DirectorySeparatorChar).LastOrDefault() == Path.GetFileNameWithoutExtension(relativePath)) + { + relativeSolutionFolder = Path.Combine(relativeSolutionFolder.Split(Path.DirectorySeparatorChar).SkipLast(1).ToArray()); + } + if (!string.IsNullOrEmpty(relativeSolutionFolder)) + { + solutionFolder = solution.AddFolder(GetSolutionFolderPathWithForwardSlashes(relativeSolutionFolder)); + } + } + + try + { + AddProject(solution, relativePath, projectPath, solutionFolder); + } + catch (InvalidProjectFileException ex) + { + Reporter.Error.WriteLine(string.Format(CommonLocalizableStrings.InvalidProjectWithExceptionMessage, projectPath, ex.Message)); + } + catch (SolutionArgumentException ex) when (solution.FindProject(relativePath) != null || ex.Type == SolutionErrorType.DuplicateProjectName) + { + Reporter.Output.WriteLine(CommonLocalizableStrings.SolutionAlreadyContainsProject, solutionFileFullPath, relativePath); + } + } + await serializer.SaveAsync(solutionFileFullPath, solution, cancellationToken); } - private IList DetermineSolutionFolder(SlnFile slnFile, string fullProjectPath) + private void AddProject(SolutionModel solution, string solutionRelativeProjectPath, string fullPath, SolutionFolderModel? solutionFolder) { - if (_inRoot) + // Open project instance to see if it is a valid project + ProjectRootElement projectRootElement = ProjectRootElement.Open(fullPath); + SolutionProjectModel project; + try { - // The user requested all projects go to the root folder - return null; + project = solution.AddProject(solutionRelativeProjectPath, null, solutionFolder); } - - if (_relativeRootSolutionFolders != null) + catch (SolutionArgumentException ex) when (ex.ParamName == "projectTypeName") { - // The user has specified an explicit root - return _relativeRootSolutionFolders; + // If guid is not identified by vs-solutionpersistence, check in project element itself + var guid = projectRootElement.GetProjectTypeGuid(); + if (string.IsNullOrEmpty(guid)) + { + Reporter.Error.WriteLine(CommonLocalizableStrings.UnsupportedProjectType, fullPath); + return; + } + project = solution.AddProject(solutionRelativeProjectPath, guid, solutionFolder); + } + // Add settings based on existing project instance + ProjectInstance projectInstance = new ProjectInstance(projectRootElement); + string projectInstanceId = projectInstance.GetProjectId(); + if (!string.IsNullOrEmpty(projectInstanceId)) + { + project.Id = new Guid(projectInstanceId); } - // We determine the root for each individual project - var relativeProjectPath = Path.GetRelativePath( - PathUtility.EnsureTrailingSlash(slnFile.BaseDirectory), - fullProjectPath); - - return GetSolutionFoldersFromProjectPath(relativeProjectPath); - } - - private static bool IsPathInTreeRootedAtSolutionDirectory(string path) - { - return !path.StartsWith(".."); - } + var projectInstanceBuildTypes = projectInstance.GetConfigurations(); + var projectInstancePlatforms = projectInstance.GetPlatforms(); - private static string TrimProject(string path) - { - return Path.GetDirectoryName(path); - } + foreach (var solutionPlatform in solution.Platforms) + { + var projectPlatform = projectInstancePlatforms.FirstOrDefault( + platform => platform.Replace(" ", string.Empty) == solutionPlatform.Replace(" ", string.Empty), projectInstancePlatforms.FirstOrDefault()); + project.AddProjectConfigurationRule(new ConfigurationRule(BuildDimension.Platform, "*", solutionPlatform, projectPlatform)); + } - private static string TrimProjectDirectory(string path) - { - return Path.GetDirectoryName(path); + foreach (var solutionBuildType in solution.BuildTypes) + { + var projectBuildType = projectInstanceBuildTypes.FirstOrDefault( + buildType => buildType.Replace(" ", string.Empty) == solutionBuildType.Replace(" ", string.Empty), projectInstanceBuildTypes.FirstOrDefault()); + project.AddProjectConfigurationRule(new ConfigurationRule(BuildDimension.BuildType, solutionBuildType, "*", projectBuildType)); + } + Reporter.Output.WriteLine(CommonLocalizableStrings.ProjectAddedToTheSolution, solutionRelativeProjectPath); } } } diff --git a/test/TestAssets/TestProjects/InvalidSolution/InvalidSolution.slnx b/test/TestAssets/TestProjects/InvalidSolution/InvalidSolution.slnx new file mode 100644 index 000000000000..f19e25b82be9 --- /dev/null +++ b/test/TestAssets/TestProjects/InvalidSolution/InvalidSolution.slnx @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/test/TestAssets/TestProjects/InvalidSolution/Sln/InvalidSolution.sln b/test/TestAssets/TestProjects/InvalidSolution/Sln/InvalidSolution.sln new file mode 100644 index 000000000000..6527f5d32ab6 --- /dev/null +++ b/test/TestAssets/TestProjects/InvalidSolution/Sln/InvalidSolution.sln @@ -0,0 +1 @@ +This is a test of an invalid solution. diff --git a/test/TestAssets/TestProjects/InvalidSolution/Slnx/InvalidSolution.slnx b/test/TestAssets/TestProjects/InvalidSolution/Slnx/InvalidSolution.slnx new file mode 100644 index 000000000000..f19e25b82be9 --- /dev/null +++ b/test/TestAssets/TestProjects/InvalidSolution/Slnx/InvalidSolution.slnx @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/test/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.slnx b/test/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.slnx new file mode 100644 index 000000000000..70f4bc532c1a --- /dev/null +++ b/test/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.slnx @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.sln b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.sln new file mode 100644 index 000000000000..583ce967acdc --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.sln @@ -0,0 +1,47 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "App", "App\App.csproj", "{7072A694-548F-4CAE-A58F-12D257D5F486}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib", "Lib\Lib.csproj", "__LIB_PROJECT_GUID__" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 + __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx new file mode 100644 index 000000000000..7fcda19ce217 --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.sln b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.sln new file mode 100644 index 000000000000..bb11b322c35d --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.sln @@ -0,0 +1,33 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib", "Lib\Lib.csproj", "__LIB_PROJECT_GUID__" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx new file mode 100644 index 000000000000..0f8bf2b15b63 --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.sln b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.sln new file mode 100644 index 000000000000..2f0f2f88baed --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.sln @@ -0,0 +1,52 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "App", "App.csproj", "{7072A694-548F-4CAE-A58F-12D257D5F486}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "__SRC_FOLDER_GUID__" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib", "src\Lib\Lib.csproj", "__LIB_PROJECT_GUID__" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 + __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + __LIB_PROJECT_GUID__ = __SRC_FOLDER_GUID__ + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx new file mode 100644 index 000000000000..96ecc778b697 --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.sln b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.sln new file mode 100644 index 000000000000..ea60a2243d15 --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.sln @@ -0,0 +1,47 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "App", "App.csproj", "{7072A694-548F-4CAE-A58F-12D257D5F486}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib", "src\Lib\Lib.csproj", "__LIB_PROJECT_GUID__" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 + "__LIB_PROJECT_GUID__".Debug|Any CPU.ActiveCfg = Debug|Any CPU + "__LIB_PROJECT_GUID__".Debug|Any CPU.Build.0 = Debug|Any CPU + "__LIB_PROJECT_GUID__".Debug|x64.ActiveCfg = Debug|Any CPU + "__LIB_PROJECT_GUID__".Debug|x64.Build.0 = Debug|Any CPU + "__LIB_PROJECT_GUID__".Debug|x86.ActiveCfg = Debug|Any CPU + "__LIB_PROJECT_GUID__".Debug|x86.Build.0 = Debug|Any CPU + "__LIB_PROJECT_GUID__".Release|Any CPU.ActiveCfg = Release|Any CPU + "__LIB_PROJECT_GUID__".Release|Any CPU.Build.0 = Release|Any CPU + "__LIB_PROJECT_GUID__".Release|x64.ActiveCfg = Release|Any CPU + "__LIB_PROJECT_GUID__".Release|x64.Build.0 = Release|Any CPU + "__LIB_PROJECT_GUID__".Release|x86.ActiveCfg = Release|Any CPU + "__LIB_PROJECT_GUID__".Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx new file mode 100644 index 000000000000..5eb44301b7e2 --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.sln b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.sln new file mode 100644 index 000000000000..64c7db347050 --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.sln @@ -0,0 +1,52 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "App", "App.csproj", "{7072A694-548F-4CAE-A58F-12D257D5F486}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestFolder", "TestFolder", "__SOLUTION_FOLDER_GUID__" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lib", "src\Lib\Lib.csproj", "__LIB_PROJECT_GUID__" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 + {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 + __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + __LIB_PROJECT_GUID__ = __SOLUTION_FOLDER_GUID__ + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx new file mode 100644 index 000000000000..238f33b90636 --- /dev/null +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithEmptySln/App.slnx b/test/TestAssets/TestProjects/TestAppWithEmptySln/App.slnx new file mode 100644 index 000000000000..4e2253ddceed --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithEmptySln/App.slnx @@ -0,0 +1 @@ + diff --git a/test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App.slnx b/test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App.slnx new file mode 100644 index 000000000000..9d9f6a7f5faa --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App2.slnx b/test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App2.slnx new file mode 100644 index 000000000000..9d9f6a7f5faa --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App2.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAnd472CsprojFiles/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAnd472CsprojFiles/App.slnx new file mode 100644 index 000000000000..9d9f6a7f5faa --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAnd472CsprojFiles/App.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/App.slnx new file mode 100644 index 000000000000..3704c0910c8f --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/App.slnx @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App.slnx new file mode 100644 index 000000000000..9d9f6a7f5faa --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.slnx new file mode 100644 index 000000000000..1d64de45b461 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirVS/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirVS/App.slnx new file mode 100644 index 000000000000..70f4bc532c1a --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirVS/App.slnx @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App.slnx new file mode 100644 index 000000000000..9d9f6a7f5faa --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App.slnx @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App.slnx new file mode 100644 index 000000000000..d44674932ffd --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App.slnx @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App.slnx new file mode 100644 index 000000000000..effb93109e33 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App.slnx @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.slnx new file mode 100644 index 000000000000..17bc938af284 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.slnx @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.sln b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.sln new file mode 100644 index 000000000000..e4fe8f9a3765 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.sln @@ -0,0 +1,42 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithAdditionalConfigs", "ProjectWithAdditionalConfigs\ProjectWithAdditionalConfigs.csproj", "{A302325B-D680-4C0E-8680-7AE283981624}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Foo Bar|Any CPU = Foo Bar|Any CPU + Foo Bar|x64 = Foo Bar|x64 + Foo Bar|x86 = Foo Bar|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x64.ActiveCfg = Debug|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x64.Build.0 = Debug|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x86.ActiveCfg = Debug|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x86.Build.0 = Debug|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Release|Any CPU.Build.0 = Release|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x64.ActiveCfg = Release|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x64.Build.0 = Release|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x86.ActiveCfg = Release|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x86.Build.0 = Release|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|Any CPU.ActiveCfg = FooBar|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|Any CPU.Build.0 = FooBar|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x64.ActiveCfg = FooBar|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x64.Build.0 = FooBar|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x86.ActiveCfg = FooBar|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x86.Build.0 = FooBar|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx new file mode 100644 index 000000000000..740e1b4fed5a --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.sln b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.sln new file mode 100644 index 000000000000..4b5fbb90532f --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.sln @@ -0,0 +1,42 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithMatchingConfigs", "ProjectWithMatchingConfigs\ProjectWithMatchingConfigs.csproj", "{C9601CA2-DB64-4FB6-B463-368C7764BF0D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Foo Bar|Any CPU = Foo Bar|Any CPU + Foo Bar|x64 = Foo Bar|x64 + Foo Bar|x86 = Foo Bar|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x64.ActiveCfg = Debug|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x64.Build.0 = Debug|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x86.ActiveCfg = Debug|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x86.Build.0 = Debug|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|Any CPU.Build.0 = Release|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x64.ActiveCfg = Release|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x64.Build.0 = Release|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x86.ActiveCfg = Release|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x86.Build.0 = Release|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|Any CPU.ActiveCfg = FooBar|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|Any CPU.Build.0 = FooBar|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x64.ActiveCfg = FooBar|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x64.Build.0 = FooBar|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x86.ActiveCfg = FooBar|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x86.Build.0 = FooBar|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx new file mode 100644 index 000000000000..13d2aa95a9f9 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.sln b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.sln new file mode 100644 index 000000000000..e9cc5227b137 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.sln @@ -0,0 +1,42 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectWithoutMatchingConfigs", "ProjectWithoutMatchingConfigs\ProjectWithoutMatchingConfigs.csproj", "{C49B64DE-4401-4825-8A88-10DCB5950E57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Foo Bar|Any CPU = Foo Bar|Any CPU + Foo Bar|x64 = Foo Bar|x64 + Foo Bar|x86 = Foo Bar|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x64.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x64.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x86.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x86.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|Any CPU.Build.0 = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x64.ActiveCfg = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x64.Build.0 = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x86.ActiveCfg = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x86.Build.0 = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|Any CPU.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|Any CPU.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x64.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x64.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x86.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x86.Build.0 = Debug|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal \ No newline at end of file diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx new file mode 100644 index 000000000000..48f5fc01aaa2 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/App.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/App.slnx new file mode 100644 index 000000000000..4bda18e4f194 --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/App.slnx @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/test/TestAssets/TestProjects/TestAppsWithSlnAndMultitargetedProjects/TestAppsWithSlnAndMultitargetedProjects.slnx b/test/TestAssets/TestProjects/TestAppsWithSlnAndMultitargetedProjects/TestAppsWithSlnAndMultitargetedProjects.slnx new file mode 100644 index 000000000000..70f4bc532c1a --- /dev/null +++ b/test/TestAssets/TestProjects/TestAppsWithSlnAndMultitargetedProjects/TestAppsWithSlnAndMultitargetedProjects.slnx @@ -0,0 +1,7 @@ + + + + + + + diff --git a/test/dotnet-restore.Tests/GivenThatIWantToRestoreApp.cs b/test/dotnet-restore.Tests/GivenThatIWantToRestoreApp.cs index a2ade77e8345..ff195897c56d 100644 --- a/test/dotnet-restore.Tests/GivenThatIWantToRestoreApp.cs +++ b/test/dotnet-restore.Tests/GivenThatIWantToRestoreApp.cs @@ -27,7 +27,7 @@ public void ItRestoresAppToSpecificDirectory(bool useStaticGraphEvaluation) .WithSource() .Path; - string[] args = new[] { "--packages", fullPath }; + string[] args = new[] { "App.sln", "--packages", fullPath }; args = HandleStaticGraphEvaluation(useStaticGraphEvaluation, args); new DotnetRestoreCommand(Log) .WithWorkingDirectory(projectDirectory) diff --git a/test/dotnet-sln.Tests/GivenDotnetSlnAdd.cs b/test/dotnet-sln.Tests/GivenDotnetSlnAdd.cs index 8c13d746f746..42061903efaa 100644 --- a/test/dotnet-sln.Tests/GivenDotnetSlnAdd.cs +++ b/test/dotnet-sln.Tests/GivenDotnetSlnAdd.cs @@ -5,6 +5,10 @@ using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Common; +using Microsoft.VisualStudio.SolutionPersistence.Serializer; +using Microsoft.VisualStudio.SolutionPersistence; +using Microsoft.VisualStudio.SolutionPersistence.Model; +using Microsoft.VisualStudio.SolutionPersistence.Serializer.SlnV12; namespace Microsoft.DotNet.Cli.Sln.Add.Tests { @@ -29,384 +33,6 @@ public GivenDotnetSlnAdd(ITestOutputHelper log) : base(log) { } - private const string ExpectedSlnFileAfterAddingLibProj = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{9A19103F-16F7-4668-BE54-9A1E7A4F7556}"") = ""App"", ""App\App.csproj"", ""{7072A694-548F-4CAE-A58F-12D257D5F486}"" -EndProject -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""Lib"", ""Lib\Lib.csproj"", ""__LIB_PROJECT_GUID__"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 - __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal -"; - - private const string ExpectedSlnFileAfterAddingLibProjToEmptySln = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""Lib"", ""Lib\Lib.csproj"", ""__LIB_PROJECT_GUID__"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal -"; - - private const string ExpectedSlnFileAfterAddingNestedProj = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{9A19103F-16F7-4668-BE54-9A1E7A4F7556}"") = ""App"", ""App.csproj"", ""{7072A694-548F-4CAE-A58F-12D257D5F486}"" -EndProject -Project(""{2150E333-8FDC-42A3-9474-1A3956D46DE8}"") = ""src"", ""src"", ""__SRC_FOLDER_GUID__"" -EndProject -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""Lib"", ""src\Lib\Lib.csproj"", ""__LIB_PROJECT_GUID__"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 - __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - __LIB_PROJECT_GUID__ = __SRC_FOLDER_GUID__ - EndGlobalSection -EndGlobal -"; - - private const string ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""ProjectWithoutMatchingConfigs"", ""ProjectWithoutMatchingConfigs\ProjectWithoutMatchingConfigs.csproj"", ""{C49B64DE-4401-4825-8A88-10DCB5950E57}"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - Foo Bar|Any CPU = Foo Bar|Any CPU - Foo Bar|x64 = Foo Bar|x64 - Foo Bar|x86 = Foo Bar|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x64.ActiveCfg = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x64.Build.0 = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x86.ActiveCfg = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x86.Build.0 = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|Any CPU.Build.0 = Release|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x64.ActiveCfg = Release|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x64.Build.0 = Release|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x86.ActiveCfg = Release|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x86.Build.0 = Release|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|Any CPU.ActiveCfg = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|Any CPU.Build.0 = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x64.ActiveCfg = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x64.Build.0 = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x86.ActiveCfg = Debug|Any CPU - {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x86.Build.0 = Debug|Any CPU - EndGlobalSection -EndGlobal -"; - - private const string ExpectedSlnFileAfterAddingProjectWithMatchingConfigs = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""ProjectWithMatchingConfigs"", ""ProjectWithMatchingConfigs\ProjectWithMatchingConfigs.csproj"", ""{C9601CA2-DB64-4FB6-B463-368C7764BF0D}"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - Foo Bar|Any CPU = Foo Bar|Any CPU - Foo Bar|x64 = Foo Bar|x64 - Foo Bar|x86 = Foo Bar|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x64.ActiveCfg = Debug|x64 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x64.Build.0 = Debug|x64 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x86.ActiveCfg = Debug|x86 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x86.Build.0 = Debug|x86 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|Any CPU.Build.0 = Release|Any CPU - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x64.ActiveCfg = Release|x64 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x64.Build.0 = Release|x64 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x86.ActiveCfg = Release|x86 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x86.Build.0 = Release|x86 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|Any CPU.ActiveCfg = FooBar|Any CPU - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|Any CPU.Build.0 = FooBar|Any CPU - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x64.ActiveCfg = FooBar|x64 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x64.Build.0 = FooBar|x64 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x86.ActiveCfg = FooBar|x86 - {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x86.Build.0 = FooBar|x86 - EndGlobalSection -EndGlobal -"; - - private const string ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""ProjectWithAdditionalConfigs"", ""ProjectWithAdditionalConfigs\ProjectWithAdditionalConfigs.csproj"", ""{A302325B-D680-4C0E-8680-7AE283981624}"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - Foo Bar|Any CPU = Foo Bar|Any CPU - Foo Bar|x64 = Foo Bar|x64 - Foo Bar|x86 = Foo Bar|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A302325B-D680-4C0E-8680-7AE283981624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A302325B-D680-4C0E-8680-7AE283981624}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x64.ActiveCfg = Debug|x64 - {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x64.Build.0 = Debug|x64 - {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x86.ActiveCfg = Debug|x86 - {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x86.Build.0 = Debug|x86 - {A302325B-D680-4C0E-8680-7AE283981624}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A302325B-D680-4C0E-8680-7AE283981624}.Release|Any CPU.Build.0 = Release|Any CPU - {A302325B-D680-4C0E-8680-7AE283981624}.Release|x64.ActiveCfg = Release|x64 - {A302325B-D680-4C0E-8680-7AE283981624}.Release|x64.Build.0 = Release|x64 - {A302325B-D680-4C0E-8680-7AE283981624}.Release|x86.ActiveCfg = Release|x86 - {A302325B-D680-4C0E-8680-7AE283981624}.Release|x86.Build.0 = Release|x86 - {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|Any CPU.ActiveCfg = FooBar|Any CPU - {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|Any CPU.Build.0 = FooBar|Any CPU - {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x64.ActiveCfg = FooBar|x64 - {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x64.Build.0 = FooBar|x64 - {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x86.ActiveCfg = FooBar|x86 - {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x86.Build.0 = FooBar|x86 - EndGlobalSection -EndGlobal -"; - - private const string ExpectedSlnFileAfterAddingProjectWithInRootOption = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{9A19103F-16F7-4668-BE54-9A1E7A4F7556}"") = ""App"", ""App.csproj"", ""{7072A694-548F-4CAE-A58F-12D257D5F486}"" -EndProject -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""Lib"", ""src\Lib\Lib.csproj"", ""{84A45D44-B677-492D-A6DA-B3A71135AB8E}"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Debug|x64.ActiveCfg = Debug|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Debug|x64.Build.0 = Debug|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Debug|x86.ActiveCfg = Debug|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Debug|x86.Build.0 = Debug|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Release|Any CPU.Build.0 = Release|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Release|x64.ActiveCfg = Release|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Release|x64.Build.0 = Release|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Release|x86.ActiveCfg = Release|Any CPU - {84A45D44-B677-492D-A6DA-B3A71135AB8E}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal -"; - - private const string ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption = @" -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26006.2 -MinimumVisualStudioVersion = 10.0.40219.1 -Project(""{9A19103F-16F7-4668-BE54-9A1E7A4F7556}"") = ""App"", ""App.csproj"", ""{7072A694-548F-4CAE-A58F-12D257D5F486}"" -EndProject -Project(""{2150E333-8FDC-42A3-9474-1A3956D46DE8}"") = ""TestFolder"", ""TestFolder"", ""__SOLUTION_FOLDER_GUID__"" -EndProject -Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""Lib"", ""src\Lib\Lib.csproj"", ""__LIB_PROJECT_GUID__"" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.ActiveCfg = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x64.Build.0 = Debug|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.ActiveCfg = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Debug|x86.Build.0 = Debug|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|Any CPU.Build.0 = Release|Any CPU - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.ActiveCfg = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x64.Build.0 = Release|x64 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.ActiveCfg = Release|x86 - {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 - __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - __LIB_PROJECT_GUID__ = __SOLUTION_FOLDER_GUID__ - EndGlobalSection -EndGlobal -"; - [Theory] [InlineData("sln", "--help")] [InlineData("sln", "-h")] @@ -443,10 +69,10 @@ public void WhenNoCommandIsPassedItPrintsError(string solutionCommand, string co public void WhenTooManyArgumentsArePassedItPrintsError(string solutionCommand) { var cmd = new DotnetCommand(Log) - .Execute(solutionCommand, "one.sln", "two.sln", "three.sln", "add"); + .Execute(solutionCommand, "one.sln", "two.sln", "three.slnx", "add"); cmd.Should().Fail(); cmd.StdErr.Should().BeVisuallyEquivalentTo($@"{string.Format(CommandLineValidation.LocalizableStrings.UnrecognizedCommandOrArgument, "two.sln")} -{string.Format(CommandLineValidation.LocalizableStrings.UnrecognizedCommandOrArgument, "three.sln")}"); +{string.Format(CommandLineValidation.LocalizableStrings.UnrecognizedCommandOrArgument, "three.slnx")}"); } [Theory] @@ -470,57 +96,68 @@ public void WhenNonExistingSolutionIsPassedItPrintsErrorAndUsage(string solution } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenInvalidSolutionIsPassedItPrintsErrorAndUsage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenInvalidSolutionIsPassedItPrintsErrorAndUsage(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("InvalidSolution", identifier: $"{solutionCommand}") + .CopyTestAsset("InvalidSolution", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine("Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "InvalidSolution.sln", "add", projectToAdd); + .Execute(solutionCommand, $"InvalidSolution{solutionExtension}", "add", projectToAdd); cmd.Should().Fail(); - cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, "InvalidSolution.sln", LocalizableStrings.FileHeaderMissingError)); + cmd.StdErr.Should().Match(string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, Path.Combine(projectDirectory, $"InvalidSolution{solutionExtension}"), "*")); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenInvalidSolutionIsFoundAddPrintsErrorAndUsage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenInvalidSolutionIsFoundAddPrintsErrorAndUsage(string solutionCommand, string solutionExtension) { - var projectDirectory = _testAssetsManager - .CopyTestAsset("InvalidSolution", identifier: $"{solutionCommand}") + var projectDirectoryRoot = _testAssetsManager + .CopyTestAsset("InvalidSolution", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var solutionPath = Path.Combine(projectDirectory, "InvalidSolution.sln"); - var projectToAdd = Path.Combine("Lib", "Lib.csproj"); + var projectDirectory = solutionExtension == ".sln" + ? Path.Join(projectDirectoryRoot, "Sln") + : Path.Join(projectDirectoryRoot, "Slnx"); + + var solutionPath = Path.Combine(projectDirectory, $"InvalidSolution{solutionExtension}"); + var projectToAdd = Path.Combine("..", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) .Execute(solutionCommand, "add", projectToAdd); cmd.Should().Fail(); - cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, solutionPath, LocalizableStrings.FileHeaderMissingError)); + cmd.StdErr.Should().Match(string.Format(CommonLocalizableStrings.InvalidSolutionFormatString, solutionPath, "*")); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenNoProjectIsPassedItPrintsErrorAndUsage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenNoProjectIsPassedItPrintsErrorAndUsage(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add"); + .Execute(solutionCommand, $"App{solutionExtension}", "add"); cmd.Should().Fail(); cmd.StdErr.Should().Be(CommonLocalizableStrings.SpecifyAtLeastOneProjectToAdd); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); @@ -532,7 +169,7 @@ public void WhenNoProjectIsPassedItPrintsErrorAndUsage(string solutionCommand) public void WhenNoSolutionExistsInTheDirectoryAddPrintsErrorAndUsage(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"GivenDotnetSlnAdd-{solutionCommand}") .WithSource() .Path; @@ -551,7 +188,7 @@ public void WhenNoSolutionExistsInTheDirectoryAddPrintsErrorAndUsage(string solu public void WhenMoreThanOneSolutionExistsInTheDirectoryItPrintsErrorAndUsage(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithMultipleSlnFiles", identifier: "GivenDotnetSlnAdd") + .CopyTestAsset("TestAppWithMultipleSlnFiles", identifier: $"GivenDotnetSlnAdd-{solutionCommand}") .WithSource() .Path; @@ -565,41 +202,50 @@ public void WhenMoreThanOneSolutionExistsInTheDirectoryItPrintsErrorAndUsage(str } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenNestedProjectIsAddedSolutionFoldersAreCreated(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenNestedProjectIsAddedSolutionFoldersAreCreated(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir") + .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine("src", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); - var slnPath = Path.Combine(projectDirectory, "App.sln"); - var expectedSlnContents = GetExpectedSlnContents(slnPath, ExpectedSlnFileAfterAddingNestedProj); + var slnPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); + var expectedSlnContents = GetExpectedSlnContents( + slnPath, + $"ExpectedSlnFileAfterAddingNestedProj{solutionExtension}", + solutionExtension: solutionExtension); + File.ReadAllText(slnPath) .Should().BeVisuallyEquivalentTo(expectedSlnContents); cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute($"build", "App.sln"); + .Execute($"build", $"App{solutionExtension}"); cmd.Should().Pass(); } [Theory] - [InlineData("sln", true)] - [InlineData("sln", false)] - [InlineData("solution", true)] - [InlineData("solution", false)] - public void WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild(string solutionCommand, bool fooFirst) + [InlineData("sln", true, ".sln")] + [InlineData("sln", false, ".sln")] + [InlineData("solution", true, ".sln")] + [InlineData("solution", false, ".sln")] + [InlineData("sln", true, ".slnx")] + [InlineData("solution", false, ".slnx")] + public void WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild(string solutionCommand, bool fooFirst, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojInSubDirVS", identifier: $"{solutionCommand}{fooFirst}") + .CopyTestAsset("TestAppWithSlnAndCsprojInSubDirVS", identifier: $"GivenDotnetSlnAdd{solutionCommand}{fooFirst}{solutionExtension}") .WithSource() .Path; string projectToAdd; @@ -610,14 +256,14 @@ public void WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild(string soluti projectToAdd = "foo"; cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); } projectToAdd = Path.Combine("foo", "bar"); cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); if (!fooFirst) @@ -625,24 +271,24 @@ public void WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild(string soluti projectToAdd = "foo"; cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); } cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute($"build", "App.sln"); + .Execute($"build", $"App{solutionExtension}"); cmd.Should().Pass(); } - [Theory] + [Theory(Skip = "Having projects with the same name in different paths is allowed.")] [InlineData("sln")] [InlineData("solution")] public void WhenNestedDuplicateProjectIsAddedToASolutionFolder(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojInSubDirVSErrors", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojInSubDirVSErrors", identifier: $"GivenDotnetSlnAdd-{solutionCommand}") .WithSource() .Path; string projectToAdd; @@ -666,47 +312,54 @@ public void WhenNestedDuplicateProjectIsAddedToASolutionFolder(string solutionCo } [Theory] - [InlineData("sln", "TestAppWithSlnAndCsprojFiles")] - [InlineData("sln", "TestAppWithSlnAnd472CsprojFiles")] - [InlineData("solution", "TestAppWithSlnAndCsprojFiles")] - [InlineData("solution", "TestAppWithSlnAnd472CsprojFiles")] - public void WhenDirectoryContainingProjectIsGivenProjectIsAdded(string solutionCommand, string testAsset) + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("sln", "TestAppWithSlnAnd472CsprojFiles", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("solution", "TestAppWithSlnAnd472CsprojFiles", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".slnx")] + [InlineData("solution", "TestAppWithSlnAnd472CsprojFiles", ".slnx")] + public void WhenDirectoryContainingProjectIsGivenProjectIsAdded(string solutionCommand, string testAsset, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset(testAsset, identifier: $"{solutionCommand}{testAsset}") + .CopyTestAsset(testAsset, identifier: $"GivenDotnetSlnAdd-{solutionCommand}{testAsset}{solutionExtension}") .WithSource() .Path; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "add", "Lib"); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "Lib"); cmd.Should().Pass(); - var slnPath = Path.Combine(projectDirectory, "App.sln"); - var expectedSlnContents = GetExpectedSlnContents(slnPath, ExpectedSlnFileAfterAddingLibProj); + var slnPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); + + var expectedSlnContents = GetExpectedSlnContents( + slnPath, + $"ExpectedSlnFileAfterAddingLibProj{solutionExtension}", solutionExtension: solutionExtension); File.ReadAllText(slnPath) .Should().BeVisuallyEquivalentTo(expectedSlnContents); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var slnFullPath = Path.Combine(projectDirectory, "App.sln"); + var slnFullPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); var contentBefore = File.ReadAllText(slnFullPath); var directoryToAdd = "Empty"; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "add", directoryToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", directoryToAdd); cmd.Should().Fail(); - cmd.StdErr.Should().Be( + cmd.StdErr.Should().Contain( string.Format( CommonLocalizableStrings.CouldNotFindAnyProjectInDirectory, Path.Combine(projectDirectory, directoryToAdd))); @@ -716,24 +369,26 @@ public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation(string soluti } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var slnFullPath = Path.Combine(projectDirectory, "App.sln"); + var slnFullPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); var contentBefore = File.ReadAllText(slnFullPath); var directoryToAdd = "Multiple"; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "add", directoryToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", directoryToAdd); cmd.Should().Fail(); - cmd.StdErr.Should().Be( + cmd.StdErr.Should().Contain( string.Format( CommonLocalizableStrings.MoreThanOneProjectInDirectory, Path.Combine(projectDirectory, directoryToAdd))); @@ -743,137 +398,147 @@ public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation(string } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenProjectDirectoryIsAddedSolutionFoldersAreNotCreated(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public async Task WhenProjectDirectoryIsAddedSolutionFoldersAreNotCreated(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine("Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); - var slnFile = SlnFile.Read(Path.Combine(projectDirectory, "App.sln")); - var solutionFolderProjects = slnFile.Projects.Where( - p => p.TypeGuid == ProjectTypeGuids.SolutionFolderGuid); - solutionFolderProjects.Count().Should().Be(0); - slnFile.Sections.GetSection("NestedProjects").Should().BeNull(); + ISolutionSerializer serializer = SolutionSerializers.GetSerializerByMoniker(Path.Combine(projectDirectory, $"App{solutionExtension}")); + SolutionModel solution = await serializer.OpenAsync(Path.Combine(projectDirectory, $"App{solutionExtension}"), CancellationToken.None); + + solution.SolutionFolders.Count().Should().Be(0); + solution.SolutionProjects + .Where(p => p.Parent != null) + .Count() + .Should().Be(0); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenSharedProjectAddedShouldStillBuild(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenSharedProjectAddedShouldStillBuild(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine("Shared", "Shared.shproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); cmd.StdErr.Should().BeEmpty(); - cmd = new DotnetBuildCommand(Log) + cmd = new DotnetBuildCommand(Log, $"App{solutionExtension}") .WithWorkingDirectory(projectDirectory) .Execute(); cmd.Should().Pass(); } [Theory] - [InlineData("sln", ".")] - [InlineData("sln", "")] - [InlineData("solution", ".")] - [InlineData("solution", "")] - public void WhenSolutionFolderExistsItDoesNotGetAdded(string solutionCommand, string firstComponent) + [InlineData("sln", ".", ".sln")] + [InlineData("sln", "", ".sln")] + [InlineData("solution", ".", ".sln")] + [InlineData("solution", "", ".sln")] + [InlineData("sln", ".", ".slnx")] + [InlineData("solution", "", ".slnx")] + public async Task WhenSolutionFolderExistsItDoesNotGetAdded(string solutionCommand, string firstComponent, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndSolutionFolders", identifier: $"{solutionCommand}{firstComponent}") + .CopyTestAsset("TestAppWithSlnAndSolutionFolders", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{firstComponent}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine($"{firstComponent}", "src", "src", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); - var slnFile = SlnFile.Read(Path.Combine(projectDirectory, "App.sln")); - slnFile.Projects.Count().Should().Be(4); + ISolutionSerializer serializer = SolutionSerializers.GetSerializerByMoniker(Path.Combine(projectDirectory, $"App{solutionExtension}")); + SolutionModel solution = await serializer.OpenAsync(Path.Combine(projectDirectory, $"App{solutionExtension}"), CancellationToken.None); - var solutionFolderProjects = slnFile.Projects.Where( - p => p.TypeGuid == ProjectTypeGuids.SolutionFolderGuid); - solutionFolderProjects.Count().Should().Be(2); + solution.SolutionItems.Count().Should().Be(4); + solution.SolutionFolders.Count().Should().Be(2); - var solutionFolders = slnFile.Sections.GetSection("NestedProjects").Properties; - solutionFolders.Count.Should().Be(3); + solution.SolutionItems.Where(item => item.Parent != null).Count().Should().Be(3); - solutionFolders["{DDF3765C-59FB-4AA6-BE83-779ED13AA64A}"] - .Should().Be("{72BFCA87-B033-4721-8712-4D12166B4A39}"); + var newlyAddedSrcFolder = solution.SolutionFolders.Single(p => p.Parent != null); + newlyAddedSrcFolder.Parent.Id.Should().Be(solution.SolutionFolders.Single(p => p.Parent == null).Id); - var newlyAddedSrcFolder = solutionFolderProjects.Single(p => p.Id != "{72BFCA87-B033-4721-8712-4D12166B4A39}"); - solutionFolders[newlyAddedSrcFolder.Id] - .Should().Be("{72BFCA87-B033-4721-8712-4D12166B4A39}"); - - var libProject = slnFile.Projects.Single(p => p.Name == "Lib"); - solutionFolders[libProject.Id] - .Should().Be(newlyAddedSrcFolder.Id); + var libProject = solution.SolutionProjects.Single(p => p.ActualDisplayName.Contains("Lib")); + libProject.Parent.Id.Should().Be(newlyAddedSrcFolder.Id); } [Theory] - [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ExpectedSlnFileAfterAddingLibProj, "")] - [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles", ExpectedSlnFileAfterAddingLibProj, "{84A45D44-B677-492D-A6DA-B3A71135AB8E}")] - [InlineData("sln", "TestAppWithEmptySln", ExpectedSlnFileAfterAddingLibProjToEmptySln, "")] - [InlineData("solution", "TestAppWithSlnAndCsprojFiles", ExpectedSlnFileAfterAddingLibProj, "")] - [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", ExpectedSlnFileAfterAddingLibProj, "{84A45D44-B677-492D-A6DA-B3A71135AB8E}")] - [InlineData("solution", "TestAppWithEmptySln", ExpectedSlnFileAfterAddingLibProjToEmptySln, "")] + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", "ExpectedSlnFileAfterAddingLibProj", "", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles", "ExpectedSlnFileAfterAddingLibProj", "84a45d44-b677-492d-a6da-b3a71135ab8e", ".sln")] + [InlineData("sln", "TestAppWithEmptySln", "ExpectedSlnFileAfterAddingLibProjToEmptySln", "", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojFiles", "ExpectedSlnFileAfterAddingLibProj", "", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", "ExpectedSlnFileAfterAddingLibProj", "84a45d44-b677-492d-a6da-b3a71135ab8e", ".sln")] + [InlineData("solution", "TestAppWithEmptySln", "ExpectedSlnFileAfterAddingLibProjToEmptySln", "", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", "ExpectedSlnFileAfterAddingLibProj", "", ".slnx")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", "ExpectedSlnFileAfterAddingLibProj", "84a45d44-b677-492d-a6da-b3a71135ab8e", ".slnx")] + [InlineData("solution", "TestAppWithEmptySln", "ExpectedSlnFileAfterAddingLibProjToEmptySln", "", ".slnx")] public void WhenValidProjectIsPassedBuildConfigsAreAdded( string solutionCommand, string testAsset, string expectedSlnContentsTemplate, - string expectedProjectGuid) + string expectedProjectGuid, + string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset(testAsset, $"{solutionCommand}{testAsset}") + .CopyTestAsset(testAsset, $"GivenDotnetSlnAdd-{solutionCommand}{testAsset}") .WithSource() .Path; var projectToAdd = "Lib/Lib.csproj"; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); - var slnPath = Path.Combine(projectDirectory, "App.sln"); + var slnPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); var expectedSlnContents = GetExpectedSlnContents( slnPath, - expectedSlnContentsTemplate, - expectedProjectGuid); + $"{expectedSlnContentsTemplate}{solutionExtension}", + expectedProjectGuid, + solutionExtension: solutionExtension); File.ReadAllText(slnPath) .Should().BeVisuallyEquivalentTo(expectedSlnContents); } [Theory] - [InlineData("sln", "TestAppWithSlnAndCsprojFiles")] - [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles")] - [InlineData("sln", "TestAppWithEmptySln")] - [InlineData("solution", "TestAppWithSlnAndCsprojFiles")] - [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles")] - [InlineData("solution", "TestAppWithEmptySln")] - public void WhenValidProjectIsPassedItGetsAdded(string solutionCommand, string testAsset) + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles", ".sln")] + [InlineData("sln", "TestAppWithEmptySln", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", ".sln")] + [InlineData("solution", "TestAppWithEmptySln", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".slnx")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", ".slnx")] + [InlineData("solution", "TestAppWithEmptySln", ".slnx")] + public void WhenValidProjectIsPassedItGetsAdded(string solutionCommand, string testAsset, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset(testAsset, identifier: $"{solutionCommand}{testAsset}") + .CopyTestAsset(testAsset, identifier: $"GivenDotnetSlnAdd-{solutionCommand}{testAsset}{solutionExtension}") .WithSource() .Path; @@ -881,7 +546,7 @@ public void WhenValidProjectIsPassedItGetsAdded(string solutionCommand, string t var projectPath = Path.Combine("Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectAddedToTheSolution, projectPath)); cmd.StdErr.Should().BeEmpty(); @@ -893,7 +558,7 @@ public void WhenValidProjectIsPassedItGetsAdded(string solutionCommand, string t public void WhenProjectIsAddedSolutionHasUTF8BOM(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithEmptySln", $"{solutionCommand}") + .CopyTestAsset("TestAppWithEmptySln", $"GivenDotnetSlnAdd-{solutionCommand}") .WithSource() .Path; @@ -916,63 +581,72 @@ public void WhenProjectIsAddedSolutionHasUTF8BOM(string solutionCommand) } [Theory] - [InlineData("sln", "TestAppWithSlnAndCsprojFiles")] - [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles")] - [InlineData("sln", "TestAppWithEmptySln")] - [InlineData("solution", "TestAppWithSlnAndCsprojFiles")] - [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles")] - [InlineData("solution", "TestAppWithEmptySln")] - public void WhenInvalidProjectIsPassedItDoesNotGetAdded(string solutionCommand, string testAsset) + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles", ".sln")] + [InlineData("sln", "TestAppWithEmptySln", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", ".sln")] + [InlineData("solution", "TestAppWithEmptySln", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".slnx")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", ".slnx")] + [InlineData("solution", "TestAppWithEmptySln", ".slnx")] + public async Task WhenInvalidProjectIsPassedItDoesNotGetAdded(string solutionCommand, string testAsset, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset(testAsset, $"{solutionCommand}{testAsset}") + .CopyTestAsset(testAsset, $"GivenDotnetSlnAdd-{solutionCommand}{testAsset}{solutionExtension}") .WithSource() .Path; var projectToAdd = "Lib/Library.cs"; - var slnFile = SlnFile.Read(Path.Combine(projectDirectory, "App.sln")); - var expectedNumberOfProjects = slnFile.Projects.Count(); + + ISolutionSerializer serializer = SolutionSerializers.GetSerializerByMoniker(Path.Combine(projectDirectory, $"App{solutionExtension}")); + SolutionModel solution = await serializer.OpenAsync(Path.Combine(projectDirectory, $"App{solutionExtension}"), CancellationToken.None); + + var expectedNumberOfProjects = solution.SolutionProjects.Count(); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); cmd.StdOut.Should().BeEmpty(); cmd.StdErr.Should().Match(string.Format(CommonLocalizableStrings.InvalidProjectWithExceptionMessage, '*', '*')); - slnFile = SlnFile.Read(Path.Combine(projectDirectory, "App.sln")); - slnFile.Projects.Count().Should().Be(expectedNumberOfProjects); + solution = await serializer.OpenAsync(Path.Combine(projectDirectory, $"App{solutionExtension}"), CancellationToken.None); + solution.SolutionProjects.Count().Should().Be(expectedNumberOfProjects); } [Theory] - [InlineData("sln", "TestAppWithSlnAndCsprojFiles")] - [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles")] - [InlineData("sln", "TestAppWithEmptySln")] - [InlineData("solution", "TestAppWithSlnAndCsprojFiles")] - [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles")] - [InlineData("solution", "TestAppWithEmptySln")] - public void WhenValidProjectIsPassedTheSlnBuilds(string solutionCommand, string testAsset) + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojProjectGuidFiles", ".sln")] + [InlineData("sln", "TestAppWithEmptySln", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojFiles", ".sln")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", ".sln")] + [InlineData("solution", "TestAppWithEmptySln", ".sln")] + [InlineData("sln", "TestAppWithSlnAndCsprojFiles", ".slnx")] + [InlineData("solution", "TestAppWithSlnAndCsprojProjectGuidFiles", ".slnx")] + [InlineData("solution", "TestAppWithEmptySln", ".slnx")] + public void WhenValidProjectIsPassedTheSlnBuilds(string solutionCommand, string testAsset, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset(testAsset, identifier: $"{solutionCommand}{testAsset}") + .CopyTestAsset(testAsset, identifier: $"GivenDotnetSlnAdd-{solutionCommand}{testAsset}{solutionExtension}") .WithSource() .Path; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", "App/App.csproj", "Lib/Lib.csproj"); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "App/App.csproj", "Lib/Lib.csproj"); cmd.Should().Pass(); - var slnPath = Path.Combine(projectDirectory, "App.sln"); + var slnPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute($"restore", "App.sln") + .Execute($"restore", $"App{solutionExtension}") .Should().Pass(); new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute("build", "App.sln", "--configuration", "Release") + .Execute("build", $"App{solutionExtension}", "--configuration", "Release") .Should().Pass(); var reasonString = "should be built in release mode, otherwise it means build configurations are missing from the sln file"; @@ -989,44 +663,47 @@ public void WhenValidProjectIsPassedTheSlnBuilds(string solutionCommand, string } [Theory] - [InlineData("sln", "TestAppWithSlnAndExistingCsprojReferences")] - [InlineData("sln", "TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep")] - [InlineData("solution", "TestAppWithSlnAndExistingCsprojReferences")] - [InlineData("solution", "TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep")] - public void WhenSolutionAlreadyContainsProjectItDoesntDuplicate(string solutionCommand, string testAsset) + [InlineData("sln", "TestAppWithSlnAndExistingCsprojReferences", ".sln")] + [InlineData("sln", "TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep", ".sln")] + [InlineData("solution", "TestAppWithSlnAndExistingCsprojReferences", ".sln")] + [InlineData("solution", "TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep", ".sln")] + [InlineData("sln", "TestAppWithSlnAndExistingCsprojReferences", ".slnx")] + [InlineData("solution", "TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep", ".slnx")] + public void WhenSolutionAlreadyContainsProjectItDoesntDuplicate(string solutionCommand, string testAsset, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset(testAsset, identifier: $"{solutionCommand}{testAsset}") + .CopyTestAsset(testAsset, identifier: $"GivenDotnetSlnAdd-{solutionCommand}{testAsset}{solutionExtension}") .WithSource() .Path; - var solutionPath = Path.Combine(projectDirectory, "App.sln"); + var solutionPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); var projectToAdd = Path.Combine("Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.SolutionAlreadyContainsProject, solutionPath, projectToAdd)); - cmd.StdErr.Should().BeEmpty(); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenPassedMultipleProjectsAndOneOfthemDoesNotExistItCancelsWholeOperation(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenPassedMultipleProjectsAndOneOfthemDoesNotExistItCancelsWholeOperation(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var slnFullPath = Path.Combine(projectDirectory, "App.sln"); + var slnFullPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); var contentBefore = File.ReadAllText(slnFullPath); var projectToAdd = Path.Combine("Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd, "idonotexist.csproj"); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd, "idonotexist.csproj"); cmd.Should().Fail(); cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.CouldNotFindProjectOrDirectory, "idonotexist.csproj")); @@ -1040,7 +717,7 @@ public void WhenPassedMultipleProjectsAndOneOfthemDoesNotExistItCancelsWholeOper public void WhenPassedAnUnknownProjectTypeItFails(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("SlnFileWithNoProjectReferencesAndUnknownProject", identifier: $"{solutionCommand}") + .CopyTestAsset("SlnFileWithNoProjectReferencesAndUnknownProject", identifier: $"GivenDotnetSlnAdd-{solutionCommand}") .WithSource() .Path; @@ -1058,6 +735,7 @@ public void WhenPassedAnUnknownProjectTypeItFails(string solutionCommand) .Should().BeVisuallyEquivalentTo(contentBefore); } + // SLN ONLY [Theory] [InlineData("sln", "SlnFileWithNoProjectReferencesAndCSharpProject", "CSharpProject", "CSharpProject.csproj", ProjectTypeGuids.CSharpProjectTypeGuid)] [InlineData("sln", "SlnFileWithNoProjectReferencesAndFSharpProject", "FSharpProject", "FSharpProject.fsproj", ProjectTypeGuids.FSharpProjectTypeGuid)] @@ -1069,7 +747,7 @@ public void WhenPassedAnUnknownProjectTypeItFails(string solutionCommand) [InlineData("solution", "SlnFileWithNoProjectReferencesAndVBProject", "VBProject", "VBProject.vbproj", ProjectTypeGuids.VBProjectTypeGuid)] [InlineData("solution", "SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid", "UnknownProject", "UnknownProject.unknownproj", "{130159A9-F047-44B3-88CF-0CF7F02ED50F}")] [InlineData("solution", "SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids", "UnknownProject", "UnknownProject.unknownproj", "{130159A9-F047-44B3-88CF-0CF7F02ED50F}")] - public void WhenPassedAProjectItAddsCorrectProjectTypeGuid( + public async Task WhenPassedAProjectItAddsCorrectProjectTypeGuid( string solutionCommand, string testAsset, string projectDir, @@ -1077,7 +755,7 @@ public void WhenPassedAProjectItAddsCorrectProjectTypeGuid( string expectedTypeGuid) { var projectDirectory = _testAssetsManager - .CopyTestAsset(testAsset, identifier: $"{solutionCommand}{testAsset}") + .CopyTestAsset(testAsset, identifier: $"GivenDotnetSlnAdd-{solutionCommand}{testAsset}") .WithSource() .Path; @@ -1089,30 +767,32 @@ public void WhenPassedAProjectItAddsCorrectProjectTypeGuid( cmd.StdErr.Should().BeEmpty(); cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectAddedToTheSolution, projectToAdd)); - var slnFile = SlnFile.Read(Path.Combine(projectDirectory, "App.sln")); - var nonSolutionFolderProjects = slnFile.Projects.Where( - p => p.TypeGuid != ProjectTypeGuids.SolutionFolderGuid); + ISolutionSerializer serializer = SolutionSerializers.GetSerializerByMoniker(Path.Combine(projectDirectory, "App.sln")); + SolutionModel solution = await serializer.OpenAsync(Path.Combine(projectDirectory, "App.sln"), CancellationToken.None); + var nonSolutionFolderProjects = solution.SolutionProjects; nonSolutionFolderProjects.Count().Should().Be(1); - nonSolutionFolderProjects.Single().TypeGuid.Should().Be(expectedTypeGuid); + nonSolutionFolderProjects.Single().TypeId.Should().Be(new Guid(expectedTypeGuid)); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenPassedAProjectWithoutATypeGuidItErrors(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenPassedAProjectWithoutATypeGuidItErrors(string solutionCommand, string solutionExtension) { var solutionDirectory = _testAssetsManager - .CopyTestAsset("SlnFileWithNoProjectReferencesAndUnknownProjectType", identifier: $"{solutionCommand}") + .CopyTestAsset("SlnFileWithNoProjectReferencesAndUnknownProjectType", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var solutionPath = Path.Combine(solutionDirectory, "App.sln"); + var solutionPath = Path.Combine(solutionDirectory, $"App{solutionExtension}"); var contentBefore = File.ReadAllText(solutionPath); var projectToAdd = Path.Combine("UnknownProject", "UnknownProject.unknownproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(solutionDirectory) - .Execute(solutionCommand, "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); cmd.StdErr.Should().Be( string.Format( @@ -1126,97 +806,112 @@ public void WhenPassedAProjectWithoutATypeGuidItErrors(string solutionCommand) } [Theory] - [InlineData("sln")] - [InlineData("solution")] - private void WhenSlnContainsSolutionFolderWithDifferentCasingItDoesNotCreateDuplicate(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + private async Task WhenSlnContainsSolutionFolderWithDifferentCasingItDoesNotCreateDuplicate(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCaseSensitiveSolutionFolders", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCaseSensitiveSolutionFolders", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine("src", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", projectToAdd); cmd.Should().Pass(); - var slnFile = SlnFile.Read(Path.Combine(projectDirectory, "App.sln")); - var solutionFolderProjects = slnFile.Projects.Where( - p => p.TypeGuid == ProjectTypeGuids.SolutionFolderGuid); - solutionFolderProjects.Count().Should().Be(1); + ISolutionSerializer serializer = SolutionSerializers.GetSerializerByMoniker(Path.Combine(projectDirectory, $"App{solutionExtension}")); + SolutionModel solution = await serializer.OpenAsync(Path.Combine(projectDirectory, $"App{solutionExtension}"), CancellationToken.None); + solution.SolutionFolders.Count().Should().Be(1); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenProjectWithoutMatchingConfigurationsIsAddedSolutionMapsToFirstAvailable(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenProjectWithoutMatchingConfigurationsIsAddedSolutionMapsToFirstAvailable(string solutionCommand, string solutionExtension) { var slnDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndProjectConfigs", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndProjectConfigs", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var slnFullPath = Path.Combine(slnDirectory, "App.sln"); + var slnFullPath = Path.Combine(slnDirectory, $"App{solutionExtension}"); var result = new DotnetCommand(Log) .WithWorkingDirectory(slnDirectory) - .Execute(solutionCommand, "add", "ProjectWithoutMatchingConfigs"); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "ProjectWithoutMatchingConfigs"); result.Should().Pass(); + var expectedResult = File.ReadAllText(Path.Combine(slnDirectory, "Results", $"ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs{solutionExtension}")); + File.ReadAllText(slnFullPath) - .Should().BeVisuallyEquivalentTo(ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs); + .Should().BeVisuallyEquivalentTo(expectedResult); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenProjectWithMatchingConfigurationsIsAddedSolutionMapsAll(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenProjectWithMatchingConfigurationsIsAddedSolutionMapsAll(string solutionCommand, string solutionExtension) { var slnDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndProjectConfigs", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndProjectConfigs", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var slnFullPath = Path.Combine(slnDirectory, "App.sln"); + var slnFullPath = Path.Combine(slnDirectory, $"App{solutionExtension}"); var result = new DotnetCommand(Log) .WithWorkingDirectory(slnDirectory) - .Execute(solutionCommand, "add", "ProjectWithMatchingConfigs"); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "ProjectWithMatchingConfigs"); result.Should().Pass(); + var expectedResult = File.ReadAllText(Path.Combine(slnDirectory, "Results", $"ExpectedSlnFileAfterAddingProjectWithMatchingConfigs{solutionExtension}")); + File.ReadAllText(slnFullPath) - .Should().BeVisuallyEquivalentTo(ExpectedSlnFileAfterAddingProjectWithMatchingConfigs); + .Should().BeVisuallyEquivalentTo(expectedResult); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenProjectWithAdditionalConfigurationsIsAddedSolutionDoesNotMapThem(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenProjectWithAdditionalConfigurationsIsAddedSolutionDoesNotMapThem(string solutionCommand, string solutionExtension) { var slnDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndProjectConfigs", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndProjectConfigs", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var slnFullPath = Path.Combine(slnDirectory, "App.sln"); + var slnFullPath = Path.Combine(slnDirectory, $"App{solutionExtension}"); var result = new DotnetCommand(Log) .WithWorkingDirectory(slnDirectory) - .Execute(solutionCommand, "add", "ProjectWithAdditionalConfigs"); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "ProjectWithAdditionalConfigs"); result.Should().Pass(); + var expectedResult = File.ReadAllText(Path.Combine(slnDirectory, "Results", $"ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs{solutionExtension}")); + File.ReadAllText(slnFullPath) - .Should().BeVisuallyEquivalentTo(ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs); + .Should().BeVisuallyEquivalentTo(expectedResult); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void ItAddsACSharpProjectThatIsMultitargeted(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void ItAddsACSharpProjectThatIsMultitargeted(string solutionCommand, string solutionExtension) { var solutionDirectory = _testAssetsManager - .CopyTestAsset("TestAppsWithSlnAndMultitargetedProjects", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppsWithSlnAndMultitargetedProjects", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; @@ -1224,7 +919,7 @@ public void ItAddsACSharpProjectThatIsMultitargeted(string solutionCommand) new DotnetCommand(Log) .WithWorkingDirectory(solutionDirectory) - .Execute(solutionCommand, "add", projectToAdd) + .Execute(solutionCommand, $"TestAppsWithSlnAndMultitargetedProjects{solutionExtension}", "add", projectToAdd) .Should() .Pass() .And @@ -1232,12 +927,14 @@ public void ItAddsACSharpProjectThatIsMultitargeted(string solutionCommand) } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void ItAddsAVisualBasicProjectThatIsMultitargeted(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void ItAddsAVisualBasicProjectThatIsMultitargeted(string solutionCommand, string solutionExtension) { var solutionDirectory = _testAssetsManager - .CopyTestAsset("TestAppsWithSlnAndMultitargetedProjects", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppsWithSlnAndMultitargetedProjects", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; @@ -1245,7 +942,7 @@ public void ItAddsAVisualBasicProjectThatIsMultitargeted(string solutionCommand) new DotnetCommand(Log) .WithWorkingDirectory(solutionDirectory) - .Execute(solutionCommand, "add", projectToAdd) + .Execute(solutionCommand, $"TestAppsWithSlnAndMultitargetedProjects{solutionExtension}", "add", projectToAdd) .Should() .Pass() .And @@ -1253,12 +950,14 @@ public void ItAddsAVisualBasicProjectThatIsMultitargeted(string solutionCommand) } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void ItAddsAnFSharpProjectThatIsMultitargeted(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void ItAddsAnFSharpProjectThatIsMultitargeted(string solutionCommand, string solutionExtension) { var solutionDirectory = _testAssetsManager - .CopyTestAsset("TestAppsWithSlnAndMultitargetedProjects", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppsWithSlnAndMultitargetedProjects", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; @@ -1267,7 +966,7 @@ public void ItAddsAnFSharpProjectThatIsMultitargeted(string solutionCommand) new DotnetCommand(Log) .WithWorkingDirectory(solutionDirectory) - .Execute(solutionCommand, "add", projectToAdd) + .Execute(solutionCommand, $"TestAppsWithSlnAndMultitargetedProjects{solutionExtension}", "add", projectToAdd) .Should() .Pass() .And @@ -1275,66 +974,79 @@ public void ItAddsAnFSharpProjectThatIsMultitargeted(string solutionCommand) } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenNestedProjectIsAddedAndInRootOptionIsPassedNoSolutionFoldersAreCreated(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenNestedProjectIsAddedAndInRootOptionIsPassedNoSolutionFoldersAreCreated(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var projectToAdd = Path.Combine("src", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", "--in-root", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "--in-root", projectToAdd); cmd.Should().Pass(); - var slnPath = Path.Combine(projectDirectory, "App.sln"); - var expectedSlnContents = GetExpectedSlnContents(slnPath, ExpectedSlnFileAfterAddingProjectWithInRootOption); + var slnPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); + + var expectedSlnContents = GetExpectedSlnContents( + slnPath, + $"ExpectedSlnFileAfterAddingProjectWithInRootOption{solutionExtension}", + solutionExtension: solutionExtension); File.ReadAllText(slnPath) .Should().BeVisuallyEquivalentTo(expectedSlnContents); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenSolutionFolderIsPassedProjectsAreAddedThere(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenSolutionFolderIsPassedProjectsAreAddedThere(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine("src", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", "--solution-folder", "TestFolder", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "--solution-folder", "TestFolder", projectToAdd); cmd.Should().Pass(); - var slnPath = Path.Combine(projectDirectory, "App.sln"); - var expectedSlnContents = GetExpectedSlnContents(slnPath, ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption); + var slnPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); + + var expectedSlnContents = GetExpectedSlnContents( + slnPath, + $"ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption{solutionExtension}", + solutionExtension: solutionExtension); File.ReadAllText(slnPath) .Should().BeVisuallyEquivalentTo(expectedSlnContents); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenSolutionFolderAndInRootIsPassedItFails(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenSolutionFolderAndInRootIsPassedItFails(string solutionCommand, string solutionExtension) { var solutionDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"{solutionCommand}") + .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var solutionPath = Path.Combine(solutionDirectory, "App.sln"); + var solutionPath = Path.Combine(solutionDirectory, $"App{solutionExtension}"); var contentBefore = File.ReadAllText(solutionPath); var projectToAdd = Path.Combine("src", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(solutionDirectory) - .Execute(solutionCommand, "App.sln", "add", "--solution-folder", "blah", "--in-root", projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "--solution-folder", "blah", "--in-root", projectToAdd); cmd.Should().Fail(); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); cmd.StdErr.Should().Be(Tools.Sln.LocalizableStrings.SolutionFolderAndInRootMutuallyExclusive); @@ -1346,108 +1058,150 @@ public void WhenSolutionFolderAndInRootIsPassedItFails(string solutionCommand) } [Theory] - [InlineData("sln", "/TestFolder//", "ForwardSlash")] - [InlineData("sln", "\\TestFolder\\\\", "BackwardSlash")] - [InlineData("solution", "/TestFolder//", "ForwardSlash")] - [InlineData("solution", "\\TestFolder\\\\", "BackwardSlash")] - public void WhenSolutionFolderIsPassedWithDirectorySeparatorFolderStructureIsCorrect(string solutionCommand, string solutionFolder, string testIdentifier) + [InlineData("sln", "/TestFolder//", "ForwardSlash", ".sln")] + [InlineData("sln", "\\TestFolder\\\\", "BackwardSlash", ".sln")] + [InlineData("solution", "/TestFolder//", "ForwardSlash", ".sln")] + [InlineData("solution", "\\TestFolder\\\\", "BackwardSlash", ".sln")] + + [InlineData("sln", "/TestFolder//", "ForwardSlash", ".slnx")] + [InlineData("solution", "\\TestFolder\\\\", "BackwardSlash", ".slnx")] + public void WhenSolutionFolderIsPassedWithDirectorySeparatorFolderStructureIsCorrect(string solutionCommand, string solutionFolder, string testIdentifier, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"{solutionCommand}{testIdentifier}") + .CopyTestAsset("TestAppWithSlnAndCsprojInSubDir", identifier: $"GivenDotnetSlnAdd-{solutionCommand}{testIdentifier}{solutionExtension}") .WithSource() .Path; var projectToAdd = Path.Combine("src", "Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "App.sln", "add", "--solution-folder", solutionFolder, projectToAdd); + .Execute(solutionCommand, $"App{solutionExtension}", "add", "--solution-folder", solutionFolder, projectToAdd); cmd.Should().Pass(); - var slnPath = Path.Combine(projectDirectory, "App.sln"); - var expectedSlnContents = GetExpectedSlnContents(slnPath, ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption); + var slnPath = Path.Combine(projectDirectory, $"App{solutionExtension}"); + + var expectedSlnContents = GetExpectedSlnContents( + slnPath, + $"ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption{solutionExtension}", + solutionExtension: solutionExtension); File.ReadAllText(slnPath) .Should().BeVisuallyEquivalentTo(expectedSlnContents); } private string GetExpectedSlnContents( string slnPath, - string slnTemplate, - string expectedLibProjectGuid = null) + string slnTemplateName, + string expectedLibProjectGuid = null, + string solutionExtension = ".sln") { - var slnFile = SlnFile.Read(slnPath); + var slnTemplate = GetSolutionFileTemplateContents(slnTemplateName); + ISolutionSerializer serializer = SolutionSerializers.GetSerializerByMoniker(slnPath); + SolutionModel solution = serializer.OpenAsync(slnPath, CancellationToken.None).Result; if (string.IsNullOrEmpty(expectedLibProjectGuid)) { - var matchingProjects = slnFile.Projects - .Where((p) => p.FilePath.EndsWith("Lib.csproj")) + var matchingProjects = solution.SolutionProjects + .Where(p => p.FilePath.EndsWith("Lib.csproj")) .ToList(); matchingProjects.Count.Should().Be(1); var slnProject = matchingProjects[0]; - expectedLibProjectGuid = slnProject.Id; + expectedLibProjectGuid = slnProject.Id.ToString(); } - var slnContents = slnTemplate.Replace("__LIB_PROJECT_GUID__", expectedLibProjectGuid); - var matchingSrcFolder = slnFile.Projects - .Where((p) => p.FilePath == "src") - .ToList(); + var slnContents = slnTemplate.Replace( + "__LIB_PROJECT_GUID__", + solutionExtension == ".sln" + ? $"{{{expectedLibProjectGuid.ToUpper()}}}" + : expectedLibProjectGuid); + + var matchingSrcFolder = solution.SolutionFolders + .Where(p => p.Path.Contains("src")) + .ToList(); if (matchingSrcFolder.Count == 1) { - slnContents = slnContents.Replace("__SRC_FOLDER_GUID__", matchingSrcFolder[0].Id); + slnContents = slnContents.Replace( + "__SRC_FOLDER_GUID__", + solutionExtension == ".sln" + ? $"{{{matchingSrcFolder[0].Id.ToString().ToUpper()}}}" + : matchingSrcFolder[0].Id.ToString()); } - var matchingSolutionFolder = slnFile.Projects - .Where((p) => p.FilePath == "TestFolder") - .ToList(); + var matchingSolutionFolder = solution.SolutionFolders + .Where(p => p.Path.Contains("TestFolder")) + .ToList(); if (matchingSolutionFolder.Count == 1) { - slnContents = slnContents.Replace("__SOLUTION_FOLDER_GUID__", matchingSolutionFolder[0].Id); + slnContents = slnContents.Replace( + "_SOLUTION_FOLDER_GUID__", + solutionExtension == ".sln" + ? $"{{{matchingSolutionFolder[0].Id.ToString().ToUpper()}}}" + : matchingSolutionFolder[0].Id.ToString()); } return slnContents; } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenSolutionIsPassedAsProjectItPrintsSuggestionAndUsage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + public void WhenSolutionIsPassedAsProjectItPrintsSuggestionAndUsage(string solutionCommand, string solutionExtension) { - VerifySuggestionAndUsage(solutionCommand, ""); + VerifySuggestionAndUsage(solutionCommand, "", solutionExtension); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenSolutionIsPassedAsProjectWithInRootItPrintsSuggestionAndUsage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + public void WhenSolutionIsPassedAsProjectWithInRootItPrintsSuggestionAndUsage(string solutionCommand, string solutionExtension) { - VerifySuggestionAndUsage(solutionCommand, "--in-root"); + VerifySuggestionAndUsage(solutionCommand, "--in-root", solutionExtension); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenSolutionIsPassedAsProjectWithSolutionFolderItPrintsSuggestionAndUsage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + public void WhenSolutionIsPassedAsProjectWithSolutionFolderItPrintsSuggestionAndUsage(string solutionCommand, string solutionExtension) { - VerifySuggestionAndUsage(solutionCommand, "--solution-folder"); + VerifySuggestionAndUsage(solutionCommand, "--solution-folder", solutionExtension); } - private void VerifySuggestionAndUsage(string solutionCommand, string arguments) + private void VerifySuggestionAndUsage(string solutionCommand, string arguments, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}{arguments}") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"{solutionCommand}{arguments}{solutionExtension}") .WithSource() .Path; + // TODO: Move to different location + if (solutionExtension == ".sln") + { + File.Delete(Path.Join(projectDirectory, "App.slnx")); + } + else if (solutionExtension == ".slnx") + { + File.Delete(Path.Join(projectDirectory, "App.sln")); + } + var projectArg = Path.Combine("Lib", "Lib.csproj"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "add", arguments, "Lib", "App.sln", projectArg); + .Execute(solutionCommand, "add", arguments, "Lib", $"App{solutionExtension}", projectArg); cmd.Should().Fail(); cmd.StdErr.Should().BeVisuallyEquivalentTo( - string.Format(CommonLocalizableStrings.SolutionArgumentMisplaced, "App.sln") + Environment.NewLine + string.Format(CommonLocalizableStrings.SolutionArgumentMisplaced, $"App{solutionExtension}") + Environment.NewLine + CommonLocalizableStrings.DidYouMean + Environment.NewLine - + $" dotnet solution App.sln add {arguments} Lib {projectArg}" + + $" dotnet solution App{solutionExtension} add {arguments} Lib {projectArg}" ); cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(""); } + + private string GetSolutionFileTemplateContents(string templateFileName) + { + var templateContentDirectory = _testAssetsManager + .CopyTestAsset("SolutionFilesTemplates", identifier: "SolutionFilesTemplates") + .WithSource() + .Path; + return File.ReadAllText(Path.Join(templateContentDirectory, templateFileName)); + } } } diff --git a/test/dotnet-sln.Tests/GivenDotnetSlnList.cs b/test/dotnet-sln.Tests/GivenDotnetSlnList.cs index f9487fc3155a..682a1e45c495 100644 --- a/test/dotnet-sln.Tests/GivenDotnetSlnList.cs +++ b/test/dotnet-sln.Tests/GivenDotnetSlnList.cs @@ -92,7 +92,7 @@ public void WhenNonExistingSolutionIsPassedItPrintsErrorAndUsage(string solution public void WhenInvalidSolutionIsPassedItPrintsErrorAndUsage(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("InvalidSolution", identifier: "GivenDotnetSlnList") + .CopyTestAsset("InvalidSolution", identifier: $"GivenDotnetSlnList-InvalidSolutionPassed-{solutionCommand}") .WithSource() .Path; @@ -106,16 +106,22 @@ public void WhenInvalidSolutionIsPassedItPrintsErrorAndUsage(string solutionComm } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenInvalidSolutionIsFoundListPrintsErrorAndUsage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenInvalidSolutionIsFoundListPrintsErrorAndUsage(string solutionCommand, string solutionExtension) { - var projectDirectory = _testAssetsManager - .CopyTestAsset("InvalidSolution") + var projectRootDirectory = _testAssetsManager + .CopyTestAsset("InvalidSolution", identifier: $"GivenDotnetSlnList-InvalidSolutionFound-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var solutionFullPath = Path.Combine(projectDirectory, "InvalidSolution.sln"); + var projectDirectory = solutionExtension == ".sln" + ? Path.Join(projectRootDirectory, "Sln") + : Path.Join(projectRootDirectory, "Slnx"); + + var solutionFullPath = Path.Combine(projectDirectory, $"InvalidSolution{solutionExtension}"); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) .Execute(solutionCommand, "list"); @@ -131,7 +137,7 @@ public void WhenInvalidSolutionIsFoundListPrintsErrorAndUsage(string solutionCom public void WhenNoSolutionExistsInTheDirectoryListPrintsErrorAndUsage(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndCsprojFiles") + .CopyTestAsset("TestAppWithSlnAndCsprojFiles", identifier: $"GivenDotnetSlnList-{solutionCommand}") .WithSource() .Path; @@ -150,7 +156,7 @@ public void WhenNoSolutionExistsInTheDirectoryListPrintsErrorAndUsage(string sol public void WhenMoreThanOneSolutionExistsInTheDirectoryItPrintsErrorAndUsage(string solutionCommand) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithMultipleSlnFiles", identifier: "GivenDotnetSlnList") + .CopyTestAsset("TestAppWithMultipleSlnFiles", identifier: $"GivenDotnetSlnList-{solutionCommand}") .WithSource() .Path; @@ -163,26 +169,30 @@ public void WhenMoreThanOneSolutionExistsInTheDirectoryItPrintsErrorAndUsage(str } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenNoProjectsArePresentInTheSolutionItPrintsANoProjectMessage(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenNoProjectsArePresentInTheSolutionItPrintsANoProjectMessage(string solutionCommand, string solutionExtension) { var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithEmptySln") + .CopyTestAsset("TestAppWithEmptySln", identifier: $"GivenDotnetSlnList-{solutionCommand}{solutionExtension}") .WithSource() .Path; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "list"); + .Execute(solutionCommand, $"App{solutionExtension}", "list"); cmd.Should().Pass(); cmd.StdOut.Should().Be(CommonLocalizableStrings.NoProjectsFound); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenProjectsPresentInTheSolutionItListsThem(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenProjectsPresentInTheSolutionItListsThem(string solutionCommand, string solutionExtension) { var expectedOutput = $@"{CommandLocalizableStrings.ProjectsHeader} {new string('-', CommandLocalizableStrings.ProjectsHeader.Length)} @@ -190,21 +200,23 @@ public void WhenProjectsPresentInTheSolutionItListsThem(string solutionCommand) {Path.Combine("Lib", "Lib.csproj")}"; var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndExistingCsprojReferences") + .CopyTestAsset("TestAppWithSlnAndExistingCsprojReferences", identifier: $"GivenDotnetSlnList-{solutionCommand}{solutionExtension}") .WithSource() .Path; var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "list"); + .Execute(solutionCommand, $"App{solutionExtension}", "list"); cmd.Should().Pass(); cmd.StdOut.Should().BeVisuallyEquivalentTo(expectedOutput); } [Theory] - [InlineData("sln")] - [InlineData("solution")] - public void WhenProjectsPresentInTheReadonlySolutionItListsThem(string solutionCommand) + [InlineData("sln", ".sln")] + [InlineData("solution", ".sln")] + [InlineData("sln", ".slnx")] + [InlineData("solution", ".slnx")] + public void WhenProjectsPresentInTheReadonlySolutionItListsThem(string solutionCommand, string solutionExtension) { var expectedOutput = $@"{CommandLocalizableStrings.ProjectsHeader} {new string('-', CommandLocalizableStrings.ProjectsHeader.Length)} @@ -212,17 +224,17 @@ public void WhenProjectsPresentInTheReadonlySolutionItListsThem(string solutionC {Path.Combine("Lib", "Lib.csproj")}"; var projectDirectory = _testAssetsManager - .CopyTestAsset("TestAppWithSlnAndExistingCsprojReferences") + .CopyTestAsset("TestAppWithSlnAndExistingCsprojReferences", identifier: $"GivenDotnetSlnList-Readonly-{solutionCommand}{solutionExtension}") .WithSource() .Path; - var slnFileName = Path.Combine(projectDirectory, "App.sln"); + var slnFileName = Path.Combine(projectDirectory, $"App{solutionExtension}"); var attributes = File.GetAttributes(slnFileName); File.SetAttributes(slnFileName, attributes | FileAttributes.ReadOnly); var cmd = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "list"); + .Execute(solutionCommand, $"App{solutionExtension}", "list"); cmd.Should().Pass(); cmd.StdOut.Should().BeVisuallyEquivalentTo(expectedOutput); } @@ -237,7 +249,7 @@ public void WhenProjectsInSolutionFoldersPresentInTheSolutionItListsSolutionFold $"{Path.Combine("NestedSolution", "NestedFolder", "NestedFolder")}" }; var projectDirectory = _testAssetsManager - .CopyTestAsset("SlnFileWithSolutionItemsInNestedFolders") + .CopyTestAsset("SlnFileWithSolutionItemsInNestedFolders", identifier: $"GivenDotnetSlnList-{solutionCommand}") .WithSource() .Path; diff --git a/test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs b/test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs index b2a2ecee7272..7af7267a2997 100644 --- a/test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs +++ b/test/dotnet-sln.Tests/GivenDotnetSlnMigrate.cs @@ -6,7 +6,7 @@ using Microsoft.DotNet.Tools.Common; using CommandLocalizableStrings = Microsoft.DotNet.Tools.Sln.LocalizableStrings; -namespace Microsoft.DotNet.Cli.Sln.List.Tests +namespace Microsoft.DotNet.Cli.Sln.Migrate.Tests { public class GivenDotnetSlnMigrate : SdkTest { @@ -24,7 +24,7 @@ public void WhenSlnFileIsValidShouldGenerateValidSlnxFile(string solutionCommand var slnFileName = Path.Combine(projectDirectory, "App.sln"); var slnMigrateCommand = new DotnetCommand(Log) .WithWorkingDirectory(projectDirectory) - .Execute(solutionCommand, "migrate"); + .Execute(solutionCommand, "App.sln", "migrate"); slnMigrateCommand.Should().Pass(); var slnxFileName = Path.ChangeExtension(slnFileName, ".slnx"); diff --git a/test/dotnet-sln.Tests/dotnet-sln.Tests.csproj b/test/dotnet-sln.Tests/dotnet-sln.Tests.csproj index 2dce887f4cfb..ad45aa7b7e6c 100644 --- a/test/dotnet-sln.Tests/dotnet-sln.Tests.csproj +++ b/test/dotnet-sln.Tests/dotnet-sln.Tests.csproj @@ -24,5 +24,9 @@ + + + + From c18a29d00dd9579e929934d8cc251d1f3b7b6d40 Mon Sep 17 00:00:00 2001 From: Marc Paine Date: Tue, 10 Dec 2024 13:51:17 -0800 Subject: [PATCH 072/171] sln-add: Only add guid on slnv12 files (#45366) --- src/Cli/dotnet/commands/dotnet-sln/add/Program.cs | 6 +++--- .../ExpectedSlnFileAfterAddingLibProj.slnx | 2 +- .../ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx | 2 +- .../ExpectedSlnFileAfterAddingNestedProj.slnx | 2 +- .../ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx | 2 +- ...edSlnFileAfterAddingProjectWithSolutionFolderOption.slnx | 2 +- ...ectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx | 2 +- ...xpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx | 2 +- ...ctedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs b/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs index de524b2893e0..e7c7d39e1291 100644 --- a/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs +++ b/src/Cli/dotnet/commands/dotnet-sln/add/Program.cs @@ -116,7 +116,7 @@ private async Task AddProjectsToSolutionAsync(string solutionFileFullPath, IEnum try { - AddProject(solution, relativePath, projectPath, solutionFolder); + AddProject(solution, relativePath, projectPath, solutionFolder, serializer); } catch (InvalidProjectFileException ex) { @@ -130,7 +130,7 @@ private async Task AddProjectsToSolutionAsync(string solutionFileFullPath, IEnum await serializer.SaveAsync(solutionFileFullPath, solution, cancellationToken); } - private void AddProject(SolutionModel solution, string solutionRelativeProjectPath, string fullPath, SolutionFolderModel? solutionFolder) + private void AddProject(SolutionModel solution, string solutionRelativeProjectPath, string fullPath, SolutionFolderModel? solutionFolder, ISolutionSerializer serializer = null) { // Open project instance to see if it is a valid project ProjectRootElement projectRootElement = ProjectRootElement.Open(fullPath); @@ -153,7 +153,7 @@ private void AddProject(SolutionModel solution, string solutionRelativeProjectPa // Add settings based on existing project instance ProjectInstance projectInstance = new ProjectInstance(projectRootElement); string projectInstanceId = projectInstance.GetProjectId(); - if (!string.IsNullOrEmpty(projectInstanceId)) + if (!string.IsNullOrEmpty(projectInstanceId) && serializer is ISolutionSerializer) { project.Id = new Guid(projectInstanceId); } diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx index 7fcda19ce217..b8e10870f971 100644 --- a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProj.slnx @@ -8,5 +8,5 @@ - + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx index 0f8bf2b15b63..e3caa7e0055a 100644 --- a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingLibProjToEmptySln.slnx @@ -4,5 +4,5 @@ - + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx index 96ecc778b697..d79132291fc5 100644 --- a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingNestedProj.slnx @@ -5,7 +5,7 @@ - + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx index 5eb44301b7e2..4b18efe59dab 100644 --- a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithInRootOption.slnx @@ -8,5 +8,5 @@ - + diff --git a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx index 238f33b90636..72b17f549402 100644 --- a/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx +++ b/test/TestAssets/TestProjects/SolutionFilesTemplates/ExpectedSlnFileAfterAddingProjectWithSolutionFolderOption.slnx @@ -5,7 +5,7 @@ - + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx index 740e1b4fed5a..339ed04dc998 100644 --- a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs.slnx @@ -7,7 +7,7 @@ - + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx index 13d2aa95a9f9..22585769d919 100644 --- a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithMatchingConfigs.slnx @@ -7,7 +7,7 @@ - + diff --git a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx index 48f5fc01aaa2..0a705d1431fb 100644 --- a/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx +++ b/test/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/Results/ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs.slnx @@ -7,7 +7,7 @@ - + From 979d33fc27cb7f387def1745f8e7a917d6319ce9 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Tue, 10 Dec 2024 16:05:25 -0800 Subject: [PATCH 073/171] vs-solutionpersistence: Bump version to 1.0.26 --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 2bd6fc1c79d5..dc9e43222cf0 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -66,7 +66,7 @@ - + From 58ab5d93c9ad245aa4a128d7faed9ad921400a3c Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 11 Dec 2024 20:49:38 +0000 Subject: [PATCH 074/171] Update dependencies from https://github.com/dotnet/razor build 20241211.2 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24611.2 --- NuGet.config | 5 ----- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/NuGet.config b/NuGet.config index bac9dc7da6aa..be98952e6a7f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -16,11 +16,6 @@ - - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f54dc38c101d..6b7ae76e4057 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - fd993229c91d996508f36c6181c693f661fe14f6 + ed0bec16620f3a3c17436f7fb2c572e02353c082 - + https://github.com/dotnet/razor - fd993229c91d996508f36c6181c693f661fe14f6 + ed0bec16620f3a3c17436f7fb2c572e02353c082 - + https://github.com/dotnet/razor - fd993229c91d996508f36c6181c693f661fe14f6 + ed0bec16620f3a3c17436f7fb2c572e02353c082 - + https://github.com/dotnet/razor - fd993229c91d996508f36c6181c693f661fe14f6 + ed0bec16620f3a3c17436f7fb2c572e02353c082 diff --git a/eng/Versions.props b/eng/Versions.props index e884ad8fa587..e255f5e4219f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24610.2 - 9.0.0-preview.24610.2 - 9.0.0-preview.24610.2 + 9.0.0-preview.24611.2 + 9.0.0-preview.24611.2 + 9.0.0-preview.24611.2 From 3f355a0995457411ccb8df16b88f0331d4c71f2e Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 12 Dec 2024 01:01:23 +0000 Subject: [PATCH 075/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241211.2 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24602.2 -> To Version 9.0.0-beta.24611.2 --- NuGet.config | 5 ----- eng/Version.Details.xml | 28 ++++++++++++++-------------- eng/Versions.props | 12 ++++++------ 3 files changed, 20 insertions(+), 25 deletions(-) diff --git a/NuGet.config b/NuGet.config index bac9dc7da6aa..be98952e6a7f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -16,11 +16,6 @@ - - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 919d0f8ce9ab..b0bb4aeabcdb 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,34 +426,34 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink - 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab + 7134623ce41d6320339150849cdd838c8f6d2853 - + https://github.com/dotnet/sourcelink - 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab + 7134623ce41d6320339150849cdd838c8f6d2853 - + https://github.com/dotnet/sourcelink - 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab + 7134623ce41d6320339150849cdd838c8f6d2853 - + https://github.com/dotnet/sourcelink - 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab + 7134623ce41d6320339150849cdd838c8f6d2853 - + https://github.com/dotnet/sourcelink - 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab + 7134623ce41d6320339150849cdd838c8f6d2853 - + https://github.com/dotnet/sourcelink - 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab + 7134623ce41d6320339150849cdd838c8f6d2853 - + https://github.com/dotnet/sourcelink - 92f612beb512a9fa6d2e8b0acb28e497bd5f0dab + 7134623ce41d6320339150849cdd838c8f6d2853 diff --git a/eng/Versions.props b/eng/Versions.props index 15c6e4ed1235..8986746aaaad 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -291,12 +291,12 @@ - 9.0.0-beta.24610.2 - 9.0.0-beta.24610.2 - 9.0.0-beta.24610.2 - 9.0.0-beta.24610.2 - 9.0.0-beta.24610.2 - 9.0.0-beta.24610.2 + 9.0.0-beta.24611.2 + 9.0.0-beta.24611.2 + 9.0.0-beta.24611.2 + 9.0.0-beta.24611.2 + 9.0.0-beta.24611.2 + 9.0.0-beta.24611.2 From bb10fd97e9b58214243f78efca6053aa31dcca36 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 12 Dec 2024 01:27:35 +0000 Subject: [PATCH 076/171] Update dependencies from https://github.com/dotnet/razor build 20241211.3 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24601.1 -> To Version 9.0.0-preview.24611.3 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6b7ae76e4057..307ed608f7c9 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - ed0bec16620f3a3c17436f7fb2c572e02353c082 + 96eab234794a0f31107a39f3291792ff011ae6da - + https://github.com/dotnet/razor - ed0bec16620f3a3c17436f7fb2c572e02353c082 + 96eab234794a0f31107a39f3291792ff011ae6da - + https://github.com/dotnet/razor - ed0bec16620f3a3c17436f7fb2c572e02353c082 + 96eab234794a0f31107a39f3291792ff011ae6da - + https://github.com/dotnet/razor - ed0bec16620f3a3c17436f7fb2c572e02353c082 + 96eab234794a0f31107a39f3291792ff011ae6da diff --git a/eng/Versions.props b/eng/Versions.props index e255f5e4219f..87e5c6319224 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -250,9 +250,9 @@ - 9.0.0-preview.24611.2 - 9.0.0-preview.24611.2 - 9.0.0-preview.24611.2 + 9.0.0-preview.24611.3 + 9.0.0-preview.24611.3 + 9.0.0-preview.24611.3 From 933a7135a61ace125d2b26804d072ad3be599629 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 12 Dec 2024 12:25:52 +0000 Subject: [PATCH 077/171] Update dependencies from https://github.com/nuget/nuget.client build 6.13.0.95 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 From Version 6.13.0-preview.1.84 -> To Version 6.13.0-rc.95 --- NuGet.config | 4 --- eng/Version.Details.xml | 68 ++++++++++++++++++++--------------------- eng/Versions.props | 24 +++++++-------- 3 files changed, 46 insertions(+), 50 deletions(-) diff --git a/NuGet.config b/NuGet.config index da8ebc6e33c1..be98952e6a7f 100644 --- a/NuGet.config +++ b/NuGet.config @@ -16,10 +16,6 @@ - - - - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ff674705d42c..924b9ba9488b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -139,74 +139,74 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb - + https://github.com/nuget/nuget.client - acc521c647aa484fc2202024f624c7a56bf9fe0f + f6f635eebfdddd88b8856f830e0f0ffa168540eb https://github.com/microsoft/vstest diff --git a/eng/Versions.props b/eng/Versions.props index 4dcfe135cc9b..342b14d47d4c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -151,18 +151,18 @@ - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 - 6.13.0-rc.93 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 + 6.13.0-rc.95 From ff11407393d7de84a6fb4d2fc620d8d9b871ac7f Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Thu, 12 Dec 2024 08:26:37 -0800 Subject: [PATCH 078/171] Update Version.Details.xml --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 27ce8dac7803..e27c847bc2de 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -411,9 +411,9 @@ - + https://github.com/dotnet/source-build-externals - b11ed370b79aa475535a5803856b7c7d0977235e + 1ffe36b3379a0b7ced63d134e5daf30948c03306 From 38d1af1d784cea1258e06e1ad822382e5823bb02 Mon Sep 17 00:00:00 2001 From: Eduardo Villalpando Mello Date: Tue, 26 Nov 2024 13:53:28 -0600 Subject: [PATCH 079/171] randomize GetTestDestinationDirectoryPath (#45130) --- .../TestAssetsManager.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/test/Microsoft.NET.TestFramework/TestAssetsManager.cs b/test/Microsoft.NET.TestFramework/TestAssetsManager.cs index 17a4fa411dab..a0b44dd6a35b 100644 --- a/test/Microsoft.NET.TestFramework/TestAssetsManager.cs +++ b/test/Microsoft.NET.TestFramework/TestAssetsManager.cs @@ -203,12 +203,16 @@ public static string GetTestDestinationDirectoryPath( #if CI_BUILD if (!allowCopyIfPresent && Directory.Exists(directoryPath)) { - //Arcade test retry reuses the machine so the directory might already be present in CI - directoryPath = Directory.Exists(directoryPath+"_1") ? directoryPath+"_2" : directoryPath+"_1"; - if (Directory.Exists(directoryPath)) + // Arcade test retry reuses the machine so the directory might already be present in CI + int suffix = 1; + string newDirectoryPath; + do { - throw new Exception($"Test dir {directoryPath} already exists"); - } + newDirectoryPath = $"{directoryPath}_{suffix}"; + suffix++; + } while (Directory.Exists(newDirectoryPath)); + + directoryPath = newDirectoryPath; } #endif From 83b133a855c1e556423b001c6a604175993b091d Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 12 Dec 2024 19:01:15 +0000 Subject: [PATCH 080/171] Update dependencies from https://github.com/dotnet/razor build 20241211.5 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24611.3 -> To Version 9.0.0-preview.24611.5 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6c845c587274..7ce82bb9decd 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - 96eab234794a0f31107a39f3291792ff011ae6da + e7e7fc00faad724dea40358973a6929a8db4c965 - + https://github.com/dotnet/razor - 96eab234794a0f31107a39f3291792ff011ae6da + e7e7fc00faad724dea40358973a6929a8db4c965 - + https://github.com/dotnet/razor - 96eab234794a0f31107a39f3291792ff011ae6da + e7e7fc00faad724dea40358973a6929a8db4c965 - + https://github.com/dotnet/razor - 96eab234794a0f31107a39f3291792ff011ae6da + e7e7fc00faad724dea40358973a6929a8db4c965 diff --git a/eng/Versions.props b/eng/Versions.props index 32fa43c4381d..bbdbac012ce4 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -229,9 +229,9 @@ - 9.0.0-preview.24611.3 - 9.0.0-preview.24611.3 - 9.0.0-preview.24611.3 + 9.0.0-preview.24611.5 + 9.0.0-preview.24611.5 + 9.0.0-preview.24611.5 From 45f78235c3ca088aad2e35dd535e6c459f824c27 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 12 Dec 2024 19:23:54 +0000 Subject: [PATCH 081/171] Update dependencies from https://github.com/dotnet/fsharp build 20241212.2 Microsoft.SourceBuild.Intermediate.fsharp , Microsoft.FSharp.Compiler From Version 9.0.200-beta.24578.1 -> To Version 9.0.200-beta.24612.2 --- 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 1090cbffad59..8a6564364687 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -83,14 +83,14 @@ 8f6b8ad0ace90c777c66711c907227fcfb6f2efe - + https://github.com/dotnet/fsharp - 446f247bdcbaef261682aa3f9686b886bc406712 + 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/fsharp - 446f247bdcbaef261682aa3f9686b886bc406712 + 6a93b9976d7f98673428ab5a4e2af96e02118d33 diff --git a/eng/Versions.props b/eng/Versions.props index 480c5c4aa5f9..461bcd0d8eca 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ - 13.9.200-beta.24609.2 + 13.9.200-beta.24612.2 From 33e3949122543e8a59e9780898074ee0056fea6f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Thu, 12 Dec 2024 22:02:21 +0000 Subject: [PATCH 082/171] Update dependencies from https://github.com/dotnet/razor build 20241212.1 Microsoft.SourceBuild.Intermediate.razor , Microsoft.AspNetCore.Mvc.Razor.Extensions.Tooling.Internal , Microsoft.CodeAnalysis.Razor.Tooling.Internal , Microsoft.NET.Sdk.Razor.SourceGenerators.Transport From Version 9.0.0-preview.24611.3 -> To Version 9.0.0-preview.24612.1 --- eng/Version.Details.xml | 16 ++++++++-------- eng/Versions.props | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 7ce82bb9decd..9808a56aa102 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -321,22 +321,22 @@ af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/dotnet/razor - e7e7fc00faad724dea40358973a6929a8db4c965 + 60d689b3add229efff4c6ab7611dbc615961fa2c - + https://github.com/dotnet/razor - e7e7fc00faad724dea40358973a6929a8db4c965 + 60d689b3add229efff4c6ab7611dbc615961fa2c - + https://github.com/dotnet/razor - e7e7fc00faad724dea40358973a6929a8db4c965 + 60d689b3add229efff4c6ab7611dbc615961fa2c - + https://github.com/dotnet/razor - e7e7fc00faad724dea40358973a6929a8db4c965 + 60d689b3add229efff4c6ab7611dbc615961fa2c diff --git a/eng/Versions.props b/eng/Versions.props index bbdbac012ce4..6e3fed7cbc9a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -229,9 +229,9 @@ - 9.0.0-preview.24611.5 - 9.0.0-preview.24611.5 - 9.0.0-preview.24611.5 + 9.0.0-preview.24612.1 + 9.0.0-preview.24612.1 + 9.0.0-preview.24612.1 From 351460202b877e6ce6dd18e332d0f9d02f866599 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Thu, 12 Dec 2024 15:23:12 -0800 Subject: [PATCH 083/171] Use legacy WASM APIs when newer ones are not available (#45317) --- .../WebSocketScriptInjection.js | 61 ++++++++++++------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js b/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js index befd2f818976..66bdb80f2828 100644 --- a/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js +++ b/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js @@ -145,18 +145,12 @@ setTimeout(async function () { } let applyError = undefined; - if (window.Blazor?._internal?.applyHotReload) { - // Only apply hot reload deltas if Blazor has been initialized. - // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step - // to be a failure. These deltas will get applied later, when Blazor completes initialization. - deltas.forEach(d => { - try { - window.Blazor._internal.applyHotReload(d.moduleId, d.metadataDelta, d.ilDelta, d.pdbDelta, d.updatedTypes) - } catch (error) { - console.warn(error); - applyError = error; - } - }); + + try { + applyDeltas_legacy(deltas) + } catch (error) { + console.warn(error); + applyError = error; } try { @@ -174,6 +168,24 @@ setTimeout(async function () { } } + function applyDeltas_legacy(deltas) { + let apply = window.Blazor?._internal?.applyHotReload + + // Only apply hot reload deltas if Blazor has been initialized. + // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step + // to be a failure. These deltas will get applied later, when Blazor completes initialization. + if (apply) { + deltas.forEach(d => { + if (apply.length == 5) { + // WASM 8.0 + apply(d.moduleId, d.metadataDelta, d.ilDelta, d.pdbDelta, d.updatedTypes) + } else { + // WASM 9.0 + apply(d.moduleId, d.metadataDelta, d.ilDelta, d.pdbDelta) + } + }); + } + } function sendDeltaApplied() { connection.send(new Uint8Array([1]).buffer); } @@ -198,11 +210,13 @@ setTimeout(async function () { let applyError = undefined; let log = []; - if (window.Blazor?._internal?.applyHotReloadDeltas) { - // Only apply hot reload deltas if Blazor has been initialized. - // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step - // to be a failure. These deltas will get applied later, when Blazor completes initialization. - try { + try { + let applyDeltas = window.Blazor?._internal?.applyHotReloadDeltas + if (applyDeltas) { + // Only apply hot reload deltas if Blazor has been initialized. + // It's possible for Blazor to start after the initial page load, so we don't consider skipping this step + // to be a failure. These deltas will get applied later, when Blazor completes initialization. + let wasmDeltas = deltas.map(delta => { return { "moduleId": delta.moduleId, @@ -213,12 +227,15 @@ setTimeout(async function () { }; }); - log = window.Blazor._internal.applyHotReloadDeltas(wasmDeltas, responseLoggingLevel); - } catch (error) { - console.warn(error); - applyError = error; - log.push({ "message": getMessageAndStack(error), "severity": AgentMessageSeverity_Error }); + log = applyDeltas(wasmDeltas, responseLoggingLevel); + } else { + // Try invoke older WASM API: + applyDeltas_legacy(deltas) } + } catch (error) { + console.warn(error); + applyError = error; + log.push({ "message": getMessageAndStack(error), "severity": AgentMessageSeverity_Error }); } try { From 76a32f389ffdd370a2ff78d20567003b2cebcda5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Matou=C5=A1ek?= Date: Thu, 12 Dec 2024 15:23:42 -0800 Subject: [PATCH 084/171] Fixes middleware invocation arguments use by legacy apply update code path (#45298) Co-authored-by: Steve Sanderson --- src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js b/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js index 66bdb80f2828..aa8f1fd60f98 100644 --- a/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js +++ b/src/BuiltInTools/BrowserRefresh/WebSocketScriptInjection.js @@ -153,8 +153,12 @@ setTimeout(async function () { applyError = error; } + const body = JSON.stringify({ + id: deltas[0].sequenceId, + deltas: deltas + }); try { - await fetch('/_framework/blazor-hotreload', { method: 'post', headers: { 'content-type': 'application/json' }, body: JSON.stringify(deltas) }); + await fetch('/_framework/blazor-hotreload', { method: 'post', headers: { 'content-type': 'application/json' }, body: body }); } catch (error) { console.warn(error); applyError = error; From 27c7b9b1aa63d76f964585eb9aa20f0555b5f0e2 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 13 Dec 2024 15:27:08 +0000 Subject: [PATCH 085/171] Update dependencies from https://github.com/dotnet/fsharp build 20241213.2 Microsoft.SourceBuild.Intermediate.fsharp , Microsoft.FSharp.Compiler From Version 9.0.200-beta.24612.2 -> To Version 9.0.200-beta.24613.2 --- 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 9f4f42d6a4ce..fd6bae3f5727 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -83,14 +83,14 @@ 8f6b8ad0ace90c777c66711c907227fcfb6f2efe - + https://github.com/dotnet/fsharp - 6a93b9976d7f98673428ab5a4e2af96e02118d33 + a052d35ffeccd4743a3b3fd9cdaa8d0a907f3de3 - + https://github.com/dotnet/fsharp - 6a93b9976d7f98673428ab5a4e2af96e02118d33 + a052d35ffeccd4743a3b3fd9cdaa8d0a907f3de3 diff --git a/eng/Versions.props b/eng/Versions.props index 41fd361f600e..7def57e55c4d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ - 13.9.200-beta.24612.2 + 13.9.200-beta.24613.2 From c8166cffe24b198146968fbb9f5cd44d81599833 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 10:22:45 -0800 Subject: [PATCH 086/171] [release/9.0.2xx] Update dependencies from dotnet/roslyn (#45293) Co-authored-by: dotnet-maestro[bot] Co-authored-by: Jason Zhai --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9f4f42d6a4ce..323600781efe 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 - + https://github.com/dotnet/roslyn - d94a5505a6515a2d5350c7055853fc431e6dcfa4 + da337da6abe16828379b9a74d62bd545ec639024 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 41fd361f600e..041c4811f5f8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24603.5 - 4.13.0-3.24603.5 - 4.13.0-3.24603.5 - 4.13.0-3.24603.5 - 4.13.0-3.24603.5 - 4.13.0-3.24603.5 - 4.13.0-3.24603.5 - 4.13.0-3.24603.5 + 4.13.0-3.24613.3 + 4.13.0-3.24613.3 + 4.13.0-3.24613.3 + 4.13.0-3.24613.3 + 4.13.0-3.24613.3 + 4.13.0-3.24613.3 + 4.13.0-3.24613.3 + 4.13.0-3.24613.3 From b38389ad34409c5259c41ef990994f35b22363ec Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 13 Dec 2024 20:58:05 +0000 Subject: [PATCH 087/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.5 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.5 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 323600781efe..5a5c17f362c2 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa - + https://github.com/dotnet/roslyn - da337da6abe16828379b9a74d62bd545ec639024 + 198c7af9fef43260e1c33689f507486f624e65aa https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 041c4811f5f8..4223c8f1cda5 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.3 - 4.13.0-3.24613.3 - 4.13.0-3.24613.3 - 4.13.0-3.24613.3 - 4.13.0-3.24613.3 - 4.13.0-3.24613.3 - 4.13.0-3.24613.3 - 4.13.0-3.24613.3 + 4.13.0-3.24613.5 + 4.13.0-3.24613.5 + 4.13.0-3.24613.5 + 4.13.0-3.24613.5 + 4.13.0-3.24613.5 + 4.13.0-3.24613.5 + 4.13.0-3.24613.5 + 4.13.0-3.24613.5 From 303c1d71a10070db48153468a854486529d75bc6 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 13 Dec 2024 21:05:18 +0000 Subject: [PATCH 088/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.4 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.4 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 5a5c17f362c2..1616f4d84443 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 - + https://github.com/dotnet/roslyn - 198c7af9fef43260e1c33689f507486f624e65aa + 269226a49ee7a62451377c37856d484991663e72 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 4223c8f1cda5..48808cba39bc 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.5 - 4.13.0-3.24613.5 - 4.13.0-3.24613.5 - 4.13.0-3.24613.5 - 4.13.0-3.24613.5 - 4.13.0-3.24613.5 - 4.13.0-3.24613.5 - 4.13.0-3.24613.5 + 4.13.0-3.24613.4 + 4.13.0-3.24613.4 + 4.13.0-3.24613.4 + 4.13.0-3.24613.4 + 4.13.0-3.24613.4 + 4.13.0-3.24613.4 + 4.13.0-3.24613.4 + 4.13.0-3.24613.4 From 633b882304c61bfeb9caafe2e9a4724940f5d04e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 13 Dec 2024 13:08:57 -0800 Subject: [PATCH 089/171] [release/9.0.2xx] Copy dump file to the Helix upload location (#45385) Co-authored-by: Marc Paine Co-authored-by: Marc Paine <12663534+marcpopMSFT@users.noreply.github.com> --- .../SDKCustomCreateXUnitWorkItemsWithTestExclusion.cs | 2 +- test/UnitTests.proj | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/test/HelixTasks/SDKCustomCreateXUnitWorkItemsWithTestExclusion.cs b/test/HelixTasks/SDKCustomCreateXUnitWorkItemsWithTestExclusion.cs index 24b8237217b1..a84b6b1fef50 100644 --- a/test/HelixTasks/SDKCustomCreateXUnitWorkItemsWithTestExclusion.cs +++ b/test/HelixTasks/SDKCustomCreateXUnitWorkItemsWithTestExclusion.cs @@ -152,7 +152,7 @@ private async Task> PrepareWorkItem(ITaskItem xunitProject) var testFilter = string.IsNullOrEmpty(assemblyPartitionInfo.ClassListArgumentString) ? "" : $"--filter \"{assemblyPartitionInfo.ClassListArgumentString}\""; command = $"{driver} test {assemblyName} -e HELIX_WORK_ITEM_TIMEOUT={timeout} {testExecutionDirectory} {msbuildAdditionalSdkResolverFolder} " + - $"{(XUnitArguments != null ? " " + XUnitArguments : "")} --results-directory .{Path.DirectorySeparatorChar} --logger trx --logger \"console;verbosity=detailed\" --blame-hang --blame-hang-timeout 30m {testFilter} -- {arguments}"; + $"{(XUnitArguments != null ? " " + XUnitArguments : "")} --results-directory .{Path.DirectorySeparatorChar} --logger trx --logger \"console;verbosity=detailed\" --blame-hang --blame-hang-timeout 15m {testFilter} -- {arguments}"; Log.LogMessage($"Creating work item with properties Identity: {assemblyName}, PayloadDirectory: {publishDirectory}, Command: {command}"); diff --git a/test/UnitTests.proj b/test/UnitTests.proj index ed4253c67c18..c6b66c29dd26 100644 --- a/test/UnitTests.proj +++ b/test/UnitTests.proj @@ -121,6 +121,7 @@ call %HELIX_CORRELATION_PAYLOAD%\t\RunTestsOnHelix.cmd $(TestFullMSBuild);$(HelixPreCommands) . $HELIX_CORRELATION_PAYLOAD/t/RunTestsOnHelix.sh;$(HelixPreCommands) PowerShell -ExecutionPolicy ByPass "dotnet nuget locals all -l | ForEach-Object { $_.Split(' ')[1]} | Where-Object{$_ -like '*cache'} | Get-ChildItem -Recurse -File -Filter '*.dat' | Measure";$(HelixPostCommands) + PowerShell -ExecutionPolicy ByPass "Get-ChildItem -Recurse -File -Filter '*hangdump.dmp' | Copy-Item -Destination $env:HELIX_WORKITEM_UPLOAD_ROOT";$(HelixPostCommands) $(RepoRoot)artifacts\bin\redist\$(Configuration)\dotnet $(Version) $(RepoRoot)artifacts\bin\Microsoft.DotNet.MSBuildSdkResolver From 434ed304a720c260ee8ebe86d78a265e33de3c25 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 6 Dec 2024 18:53:51 +0100 Subject: [PATCH 090/171] add DOTNET_HOST_PATH to MSBuildSdkResolver --- .../MSBuildSdkResolver.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index a4a7b555b3bf..e8b67629be03 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -189,6 +189,13 @@ private sealed class CachedState minimumVSDefinedSDKVersion); } + string dotnetExe = Path.Combine(dotnetRoot, "dotnet.exe"); + if (File.Exists(dotnetExe)) + { + propertiesToAdd ??= new Dictionary(); + propertiesToAdd.Add("DOTNET_HOST_PATH", dotnetExe); + } + if (resolverResult.FailedToResolveSDKSpecifiedInGlobalJson) { logger?.LogMessage($"Could not resolve SDK specified in '{resolverResult.GlobalJsonPath}'. Ignoring global.json for this resolution."); @@ -207,10 +214,7 @@ private sealed class CachedState warnings.Add(Strings.GlobalJsonResolutionFailed); } - if (propertiesToAdd == null) - { - propertiesToAdd = new Dictionary(); - } + propertiesToAdd ??= new Dictionary(); propertiesToAdd.Add("SdkResolverHonoredGlobalJson", "false"); propertiesToAdd.Add("SdkResolverGlobalJsonPath", resolverResult.GlobalJsonPath); From 8e460fcc8408bcbaf14571e5e807aabafadf50c2 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 13:32:08 +0100 Subject: [PATCH 091/171] fix tests --- .../GivenAnMSBuildSdkResolver.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index 7c29127040f7..de383a627c50 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -200,7 +200,8 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuild(bool disallo result.Success.Should().BeTrue($"No error expected. Error encountered: {string.Join(Environment.NewLine, result.Errors ?? new string[] { })}. Mocked Process Path: {environment.ProcessPath}. Mocked Path: {environment.PathEnvironmentVariable}"); result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); - result.PropertiesToAdd.Should().BeNull(); + result.PropertiesToAdd.Should().NotBeNull(); + result.PropertiesToAdd.Should().ContainKey("DOTNET_HOST_PATH"); result.Version.Should().Be(disallowPreviews ? "98.98.98" : "99.99.99-preview"); result.Warnings.Should().BeNullOrEmpty(); result.Errors.Should().BeNullOrEmpty(); @@ -274,7 +275,8 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuildWhenVersionIn result.Success.Should().BeTrue($"No error expected. Error encountered: {string.Join(Environment.NewLine, result.Errors ?? new string[] { })}. Mocked Process Path: {environment.ProcessPath}. Mocked Path: {environment.PathEnvironmentVariable}"); result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); - result.PropertiesToAdd.Count.Should().Be(2); + result.PropertiesToAdd.Count.Should().Be(3); + result.PropertiesToAdd.Should().ContainKey("DOTNET_HOST_PATH"); result.PropertiesToAdd.ContainsKey("SdkResolverHonoredGlobalJson"); result.PropertiesToAdd.ContainsKey("SdkResolverGlobalJsonPath"); result.PropertiesToAdd["SdkResolverHonoredGlobalJson"].Should().Be("false"); From 0918901aecd354b3a0f46bbe907158222f5d59a6 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 13:41:49 +0100 Subject: [PATCH 092/171] assert count in test --- .../GivenAnMSBuildSdkResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index de383a627c50..a44a961eb143 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -200,7 +200,7 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuild(bool disallo result.Success.Should().BeTrue($"No error expected. Error encountered: {string.Join(Environment.NewLine, result.Errors ?? new string[] { })}. Mocked Process Path: {environment.ProcessPath}. Mocked Path: {environment.PathEnvironmentVariable}"); result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); - result.PropertiesToAdd.Should().NotBeNull(); + result.PropertiesToAdd.Count.Should().Be(1); result.PropertiesToAdd.Should().ContainKey("DOTNET_HOST_PATH"); result.Version.Should().Be(disallowPreviews ? "98.98.98" : "99.99.99-preview"); result.Warnings.Should().BeNullOrEmpty(); From 286b9456168fb6356ed737b0f3eab9db0a748568 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 18:41:28 +0100 Subject: [PATCH 093/171] use consts to get "dotnet.exe" --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index e8b67629be03..ffc72dcaade3 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -189,7 +189,7 @@ private sealed class CachedState minimumVSDefinedSDKVersion); } - string dotnetExe = Path.Combine(dotnetRoot, "dotnet.exe"); + string dotnetExe = Path.Combine(dotnetRoot, Constants.DotNet + Constants.ExeSuffix); if (File.Exists(dotnetExe)) { propertiesToAdd ??= new Dictionary(); From eb03ff760ade0caca8fb46d899dd6dee7821ad97 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 19:33:07 +0100 Subject: [PATCH 094/171] fix tests --- .../MSBuildSdkResolver.cs | 37 +++++++++++++++++++ .../GivenAnMSBuildSdkResolver.cs | 12 ++++-- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index ffc72dcaade3..01cbf45d4336 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -1,7 +1,10 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System.Collections.Generic; using System.Reflection; +using System.Text.Json; +using System.Text.Json.Nodes; using Microsoft.Build.Framework; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Configurer; @@ -196,6 +199,15 @@ private sealed class CachedState propertiesToAdd.Add("DOTNET_HOST_PATH", dotnetExe); } + string? runtimeVersion = dotnetRoot != null ? + GetMSbuildRuntimeVersion(resolverResult.ResolvedSdkDirectory, dotnetRoot) : + null; + if (runtimeVersion != null) + { + propertiesToAdd ??= new Dictionary(); + propertiesToAdd.Add("MSBUILD_NET_TASKHOST_RUNTIME_VERSION", runtimeVersion); + } + if (resolverResult.FailedToResolveSDKSpecifiedInGlobalJson) { logger?.LogMessage($"Could not resolve SDK specified in '{resolverResult.GlobalJsonPath}'. Ignoring global.json for this resolution."); @@ -258,6 +270,31 @@ private sealed class CachedState return factory.IndicateSuccess(msbuildSdkDir, netcoreSdkVersion, propertiesToAdd, itemsToAdd, warnings); } + private static string? GetMSbuildRuntimeVersion(string sdkDirectory, string dotnetRoot) + { + // 1. Get the runtime version from the MSBuild.runtimeconfig.json file + string runtimeConfigPath = Path.Combine(sdkDirectory, "MSBuild.runtimeconfig.json"); + if (File.Exists(runtimeConfigPath)) + { + var runtimeConfigJson = JsonNode.Parse(File.ReadAllText(runtimeConfigPath)) as JsonObject; + var runtimeOptionsFramework = runtimeConfigJson?["runtimeOptions"]?["framework"]; + string? runtimeName = runtimeOptionsFramework?["name"]?.ToString(); + string? runtimeVersion = runtimeOptionsFramework?["version"]?.ToString(); + + // 2. Check that the runtime version is installed (in shared folder) + if (runtimeName != null && runtimeVersion != null) + { + string runtimePath = Path.Combine(dotnetRoot, "shared", runtimeName, runtimeVersion); + if (Directory.Exists(runtimePath)) + { + return runtimeVersion; + } + } + } + + return null; + } + private static SdkResult Failure(SdkResultFactory factory, ResolverLogger? logger, SdkLogger sdkLogger, string format, params object?[] args) { string error = string.Format(format, args); diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index a44a961eb143..c5e629791640 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -13,6 +13,8 @@ namespace Microsoft.DotNet.Cli.Utils.Tests { public class GivenAnMSBuildSdkResolver : SdkTest { + private const string _dotnetHost = "DOTNET_HOST_PATH"; + private const string _msbuildNetTaskHostRuntimeVersion = "MSBUILD_NET_TASKHOST_RUNTIME_VERSION"; public GivenAnMSBuildSdkResolver(ITestOutputHelper logger) : base(logger) { @@ -200,8 +202,9 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuild(bool disallo result.Success.Should().BeTrue($"No error expected. Error encountered: {string.Join(Environment.NewLine, result.Errors ?? new string[] { })}. Mocked Process Path: {environment.ProcessPath}. Mocked Path: {environment.PathEnvironmentVariable}"); result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); - result.PropertiesToAdd.Count.Should().Be(1); - result.PropertiesToAdd.Should().ContainKey("DOTNET_HOST_PATH"); + result.PropertiesToAdd.Count.Should().Be(2); + result.PropertiesToAdd.Should().ContainKey(_dotnetHost); + result.PropertiesToAdd.Should().ContainKey(_msbuildNetTaskHostRuntimeVersion); result.Version.Should().Be(disallowPreviews ? "98.98.98" : "99.99.99-preview"); result.Warnings.Should().BeNullOrEmpty(); result.Errors.Should().BeNullOrEmpty(); @@ -275,8 +278,9 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuildWhenVersionIn result.Success.Should().BeTrue($"No error expected. Error encountered: {string.Join(Environment.NewLine, result.Errors ?? new string[] { })}. Mocked Process Path: {environment.ProcessPath}. Mocked Path: {environment.PathEnvironmentVariable}"); result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); - result.PropertiesToAdd.Count.Should().Be(3); - result.PropertiesToAdd.Should().ContainKey("DOTNET_HOST_PATH"); + result.PropertiesToAdd.Count.Should().Be(4); + result.PropertiesToAdd.Should().ContainKey(_dotnetHost); + result.PropertiesToAdd.Should().ContainKey(_msbuildNetTaskHostRuntimeVersion); result.PropertiesToAdd.ContainsKey("SdkResolverHonoredGlobalJson"); result.PropertiesToAdd.ContainsKey("SdkResolverGlobalJsonPath"); result.PropertiesToAdd["SdkResolverHonoredGlobalJson"].Should().Be("false"); From 1eaf3396c60501a67e25d3074f830b8f0058be1b Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 19:54:48 +0100 Subject: [PATCH 095/171] remove unnecessary usings --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 01cbf45d4336..aff7559d7d94 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -1,9 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System.Collections.Generic; using System.Reflection; -using System.Text.Json; using System.Text.Json.Nodes; using Microsoft.Build.Framework; using Microsoft.DotNet.Cli; From 2f812fcfda18991089411c66207556bd3074db95 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 22:58:41 +0100 Subject: [PATCH 096/171] fix the test --- .../GivenAnMSBuildSdkResolver.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index c5e629791640..b5a8ac0050a4 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -281,8 +281,8 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuildWhenVersionIn result.PropertiesToAdd.Count.Should().Be(4); result.PropertiesToAdd.Should().ContainKey(_dotnetHost); result.PropertiesToAdd.Should().ContainKey(_msbuildNetTaskHostRuntimeVersion); - result.PropertiesToAdd.ContainsKey("SdkResolverHonoredGlobalJson"); - result.PropertiesToAdd.ContainsKey("SdkResolverGlobalJsonPath"); + result.PropertiesToAdd.Should().ContainKey("SdkResolverHonoredGlobalJson"); + result.PropertiesToAdd.Should().ContainKey("SdkResolverGlobalJsonPath"); result.PropertiesToAdd["SdkResolverHonoredGlobalJson"].Should().Be("false"); result.Version.Should().Be(disallowPreviews ? "98.98.98" : "99.99.99-preview"); result.Warnings.Should().BeEquivalentTo(new[] { "Unable to locate the .NET SDK version '1.2.3' as specified by global.json, please check that the specified version is installed." }); From 7853ee3d9f896a6243c09d8c367fa5db16dea83b Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 23:50:30 +0100 Subject: [PATCH 097/171] mock getting runtime version for tests --- .../MSBuildSdkResolver.cs | 9 ++++++--- .../GivenAnMSBuildSdkResolver.cs | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index aff7559d7d94..f1e9c028e008 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -28,6 +28,7 @@ public sealed class DotNetMSBuildSdkResolver : SdkResolver private readonly Func _getEnvironmentVariable; private readonly Func? _getCurrentProcessPath; + private readonly Func _getMsbuildRuntime; private readonly NETCoreSdkResolver _netCoreSdkResolver; private static CachingWorkloadResolver _staticWorkloadResolver = new(); @@ -35,12 +36,12 @@ public sealed class DotNetMSBuildSdkResolver : SdkResolver private bool _shouldLog = false; public DotNetMSBuildSdkResolver() - : this(Environment.GetEnvironmentVariable, null, VSSettings.Ambient) + : this(Environment.GetEnvironmentVariable, null, null, VSSettings.Ambient) { } // Test constructor - public DotNetMSBuildSdkResolver(Func getEnvironmentVariable, Func? getCurrentProcessPath, VSSettings vsSettings) + public DotNetMSBuildSdkResolver(Func getEnvironmentVariable, Func? getCurrentProcessPath, Func? getMsbuildRuntime, VSSettings vsSettings) { _getEnvironmentVariable = getEnvironmentVariable; _getCurrentProcessPath = getCurrentProcessPath; @@ -52,6 +53,8 @@ public DotNetMSBuildSdkResolver(Func getEnvironmentVariable, Fu { _shouldLog = true; } + + _getMsbuildRuntime = getMsbuildRuntime ?? GetMSbuildRuntimeVersion; } private sealed class CachedState @@ -198,7 +201,7 @@ private sealed class CachedState } string? runtimeVersion = dotnetRoot != null ? - GetMSbuildRuntimeVersion(resolverResult.ResolvedSdkDirectory, dotnetRoot) : + _getMsbuildRuntime(resolverResult.ResolvedSdkDirectory, dotnetRoot) : null; if (runtimeVersion != null) { diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index b5a8ac0050a4..82aa18378afc 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -590,6 +590,7 @@ public SdkResolver CreateResolver(bool useAmbientSettings = false) GetEnvironmentVariable, // force current executable location to be the mocked dotnet executable location () => ProcessPath, + (x, y) => "mockRuntimeVersion", useAmbientSettings ? VSSettings.Ambient : new VSSettings(VSSettingsFile?.FullName, DisallowPrereleaseByDefault)); From dcead1fccd96cdeb651dff5a48b91d3ae75ca671 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Thu, 12 Dec 2024 23:57:32 +0100 Subject: [PATCH 098/171] rename prop to MSBuildNetTaskHostRuntimeVersion --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 2 +- .../GivenAnMSBuildSdkResolver.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index f1e9c028e008..4cfc8f32451e 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -206,7 +206,7 @@ private sealed class CachedState if (runtimeVersion != null) { propertiesToAdd ??= new Dictionary(); - propertiesToAdd.Add("MSBUILD_NET_TASKHOST_RUNTIME_VERSION", runtimeVersion); + propertiesToAdd.Add("MSBuildNetTaskHostRuntimeVersion", runtimeVersion); } if (resolverResult.FailedToResolveSDKSpecifiedInGlobalJson) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index 82aa18378afc..c8380d41bba4 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -14,7 +14,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests public class GivenAnMSBuildSdkResolver : SdkTest { private const string _dotnetHost = "DOTNET_HOST_PATH"; - private const string _msbuildNetTaskHostRuntimeVersion = "MSBUILD_NET_TASKHOST_RUNTIME_VERSION"; + private const string _msbuildNetTaskHostRuntimeVersion = "MSBuildNetTaskHostRuntimeVersion"; public GivenAnMSBuildSdkResolver(ITestOutputHelper logger) : base(logger) { From 877ff7cd7a32a6da8dfa62ea28c4ccc7fd0e5bdf Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 11:31:25 +0100 Subject: [PATCH 099/171] rename to SdkResolverMSBuildTaskHostRuntimeVersion --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 2 +- .../GivenAnMSBuildSdkResolver.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 4cfc8f32451e..1f481243a31f 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -206,7 +206,7 @@ private sealed class CachedState if (runtimeVersion != null) { propertiesToAdd ??= new Dictionary(); - propertiesToAdd.Add("MSBuildNetTaskHostRuntimeVersion", runtimeVersion); + propertiesToAdd.Add("SdkResolverMSBuildTaskHostRuntimeVersion", runtimeVersion); } if (resolverResult.FailedToResolveSDKSpecifiedInGlobalJson) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index c8380d41bba4..ab388a8e1eb4 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -14,7 +14,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests public class GivenAnMSBuildSdkResolver : SdkTest { private const string _dotnetHost = "DOTNET_HOST_PATH"; - private const string _msbuildNetTaskHostRuntimeVersion = "MSBuildNetTaskHostRuntimeVersion"; + private const string _msbuildNetTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; public GivenAnMSBuildSdkResolver(ITestOutputHelper logger) : base(logger) { From d2780f329db83cdab11bacbea8eda0bd089ec89e Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 11:40:55 +0100 Subject: [PATCH 100/171] small refactoring --- .../MSBuildSdkResolver.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 1f481243a31f..230accf8ce7a 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -36,16 +36,17 @@ public sealed class DotNetMSBuildSdkResolver : SdkResolver private bool _shouldLog = false; public DotNetMSBuildSdkResolver() - : this(Environment.GetEnvironmentVariable, null, null, VSSettings.Ambient) + : this(Environment.GetEnvironmentVariable, null, GetMSbuildRuntimeVersion, VSSettings.Ambient) { } // Test constructor - public DotNetMSBuildSdkResolver(Func getEnvironmentVariable, Func? getCurrentProcessPath, Func? getMsbuildRuntime, VSSettings vsSettings) + public DotNetMSBuildSdkResolver(Func getEnvironmentVariable, Func? getCurrentProcessPath, Func getMsbuildRuntime, VSSettings vsSettings) { _getEnvironmentVariable = getEnvironmentVariable; _getCurrentProcessPath = getCurrentProcessPath; _netCoreSdkResolver = new NETCoreSdkResolver(getEnvironmentVariable, vsSettings); + _getMsbuildRuntime = getMsbuildRuntime; if (_getEnvironmentVariable(EnvironmentVariableNames.DOTNET_MSBUILD_SDK_RESOLVER_ENABLE_LOG) is string val && (string.Equals(val, "true", StringComparison.OrdinalIgnoreCase) || @@ -53,8 +54,6 @@ public DotNetMSBuildSdkResolver(Func getEnvironmentVariable, Fu { _shouldLog = true; } - - _getMsbuildRuntime = getMsbuildRuntime ?? GetMSbuildRuntimeVersion; } private sealed class CachedState From f873b882ddfbc31cc65ca7a9b93e379360b019b6 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 17:03:09 +0100 Subject: [PATCH 101/171] rename variable --- .../GivenAnMSBuildSdkResolver.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index ab388a8e1eb4..3688e35d72a8 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -14,7 +14,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests public class GivenAnMSBuildSdkResolver : SdkTest { private const string _dotnetHost = "DOTNET_HOST_PATH"; - private const string _msbuildNetTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; + private const string _msbuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; public GivenAnMSBuildSdkResolver(ITestOutputHelper logger) : base(logger) { @@ -204,7 +204,7 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuild(bool disallo result.AdditionalPaths.Should().BeNull(); result.PropertiesToAdd.Count.Should().Be(2); result.PropertiesToAdd.Should().ContainKey(_dotnetHost); - result.PropertiesToAdd.Should().ContainKey(_msbuildNetTaskHostRuntimeVersion); + result.PropertiesToAdd.Should().ContainKey(_msbuildTaskHostRuntimeVersion); result.Version.Should().Be(disallowPreviews ? "98.98.98" : "99.99.99-preview"); result.Warnings.Should().BeNullOrEmpty(); result.Errors.Should().BeNullOrEmpty(); @@ -280,7 +280,7 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuildWhenVersionIn result.AdditionalPaths.Should().BeNull(); result.PropertiesToAdd.Count.Should().Be(4); result.PropertiesToAdd.Should().ContainKey(_dotnetHost); - result.PropertiesToAdd.Should().ContainKey(_msbuildNetTaskHostRuntimeVersion); + result.PropertiesToAdd.Should().ContainKey(_msbuildTaskHostRuntimeVersion); result.PropertiesToAdd.Should().ContainKey("SdkResolverHonoredGlobalJson"); result.PropertiesToAdd.Should().ContainKey("SdkResolverGlobalJsonPath"); result.PropertiesToAdd["SdkResolverHonoredGlobalJson"].Should().Be("false"); From 3fd448adf81762129b4c6cc7b28b482bb8fc113f Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 17:19:05 +0100 Subject: [PATCH 102/171] check string is null or empty; check only "dotnet.exe"; log if couldn't set DOTNET_HOST_PATH and SdkResolverMSBuildTaskHostRuntimeVersion --- .../MSBuildSdkResolver.cs | 21 ++++++++++++++----- .../Constants.cs | 1 + 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 230accf8ce7a..8540f3e6319b 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -31,6 +31,9 @@ public sealed class DotNetMSBuildSdkResolver : SdkResolver private readonly Func _getMsbuildRuntime; private readonly NETCoreSdkResolver _netCoreSdkResolver; + private const string _dotnetHost = "DOTNET_HOST_PATH"; + private const string _msbuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; + private static CachingWorkloadResolver _staticWorkloadResolver = new(); private bool _shouldLog = false; @@ -192,20 +195,28 @@ private sealed class CachedState minimumVSDefinedSDKVersion); } - string dotnetExe = Path.Combine(dotnetRoot, Constants.DotNet + Constants.ExeSuffix); + string dotnetExe = Path.Combine(dotnetRoot, Constants.DotNetExe); if (File.Exists(dotnetExe)) { propertiesToAdd ??= new Dictionary(); - propertiesToAdd.Add("DOTNET_HOST_PATH", dotnetExe); + propertiesToAdd.Add(_dotnetHost, dotnetExe); + } + else + { + logger?.LogMessage($"Could set '{_dotnetHost}' because dotnet executable does not exists at '{dotnetExe}'."); } string? runtimeVersion = dotnetRoot != null ? _getMsbuildRuntime(resolverResult.ResolvedSdkDirectory, dotnetRoot) : null; - if (runtimeVersion != null) + if (!string.IsNullOrEmpty(runtimeVersion)) { propertiesToAdd ??= new Dictionary(); - propertiesToAdd.Add("SdkResolverMSBuildTaskHostRuntimeVersion", runtimeVersion); + propertiesToAdd.Add(_msbuildTaskHostRuntimeVersion, runtimeVersion); + } + else + { + logger?.LogMessage($"Could not set '{_msbuildTaskHostRuntimeVersion}' because runtime version could not be determined."); } if (resolverResult.FailedToResolveSDKSpecifiedInGlobalJson) @@ -282,7 +293,7 @@ private sealed class CachedState string? runtimeVersion = runtimeOptionsFramework?["version"]?.ToString(); // 2. Check that the runtime version is installed (in shared folder) - if (runtimeName != null && runtimeVersion != null) + if (!string.IsNullOrEmpty(runtimeName) && !string.IsNullOrEmpty(runtimeVersion)) { string runtimePath = Path.Combine(dotnetRoot, "shared", runtimeName, runtimeVersion); if (Directory.Exists(runtimePath)) diff --git a/src/Resolvers/Microsoft.DotNet.NativeWrapper/Constants.cs b/src/Resolvers/Microsoft.DotNet.NativeWrapper/Constants.cs index 29d0dbcd3daa..998663b58204 100644 --- a/src/Resolvers/Microsoft.DotNet.NativeWrapper/Constants.cs +++ b/src/Resolvers/Microsoft.DotNet.NativeWrapper/Constants.cs @@ -7,6 +7,7 @@ internal static class Constants { public const string HostFxr = "hostfxr"; public const string DotNet = "dotnet"; + public const string DotNetExe = "dotnet.exe"; public const string PATH = "PATH"; public const string DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR = "DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR"; From 6f8431626ca2ef0eee606451c08471d74ac3a050 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 17:35:16 +0100 Subject: [PATCH 103/171] read json fields in a stream --- .../MSBuildSdkResolver.cs | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 8540f3e6319b..6792ef70bffc 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -2,7 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Reflection; -using System.Text.Json.Nodes; +using System.Text.Json; using Microsoft.Build.Framework; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Configurer; @@ -285,25 +285,21 @@ private sealed class CachedState { // 1. Get the runtime version from the MSBuild.runtimeconfig.json file string runtimeConfigPath = Path.Combine(sdkDirectory, "MSBuild.runtimeconfig.json"); - if (File.Exists(runtimeConfigPath)) - { - var runtimeConfigJson = JsonNode.Parse(File.ReadAllText(runtimeConfigPath)) as JsonObject; - var runtimeOptionsFramework = runtimeConfigJson?["runtimeOptions"]?["framework"]; - string? runtimeName = runtimeOptionsFramework?["name"]?.ToString(); - string? runtimeVersion = runtimeOptionsFramework?["version"]?.ToString(); + if (!File.Exists(runtimeConfigPath)) return null; - // 2. Check that the runtime version is installed (in shared folder) - if (!string.IsNullOrEmpty(runtimeName) && !string.IsNullOrEmpty(runtimeVersion)) - { - string runtimePath = Path.Combine(dotnetRoot, "shared", runtimeName, runtimeVersion); - if (Directory.Exists(runtimePath)) - { - return runtimeVersion; - } - } - } + using var stream = File.OpenRead(runtimeConfigPath); + using var jsonDoc = JsonDocument.Parse(stream); + + JsonElement root = jsonDoc.RootElement; + if (!root.TryGetProperty("runtimeOptions", out JsonElement runtimeOptions) || + !runtimeOptions.TryGetProperty("framework", out JsonElement framework)) return null; + + string? runtimeName = framework.GetProperty("name").GetString(); + string? runtimeVersion = framework.GetProperty("version").GetString(); - return null; + return (!string.IsNullOrEmpty(runtimeName) && !string.IsNullOrEmpty(runtimeVersion) && + Directory.Exists(Path.Combine(dotnetRoot, "shared", runtimeName, runtimeVersion))) + ? runtimeVersion : null; } private static SdkResult Failure(SdkResultFactory factory, ResolverLogger? logger, SdkLogger sdkLogger, string format, params object?[] args) From 6b86aa70f8af2338702dacf044f336e16985eed8 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 17:37:08 +0100 Subject: [PATCH 104/171] add comment --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 6792ef70bffc..837d8b9edcf9 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -297,6 +297,7 @@ private sealed class CachedState string? runtimeName = framework.GetProperty("name").GetString(); string? runtimeVersion = framework.GetProperty("version").GetString(); + // 2. Check that the runtime version is installed (in shared folder) return (!string.IsNullOrEmpty(runtimeName) && !string.IsNullOrEmpty(runtimeVersion) && Directory.Exists(Path.Combine(dotnetRoot, "shared", runtimeName, runtimeVersion))) ? runtimeVersion : null; From f6020e05cd8e31b4d55aee028acb93cc97eead37 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 17:50:55 +0100 Subject: [PATCH 105/171] fix message --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 837d8b9edcf9..a428d9667171 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -203,7 +203,7 @@ private sealed class CachedState } else { - logger?.LogMessage($"Could set '{_dotnetHost}' because dotnet executable does not exists at '{dotnetExe}'."); + logger?.LogMessage($"Could not set '{_dotnetHost}' because dotnet executable '{dotnetExe}' does not exist."); } string? runtimeVersion = dotnetRoot != null ? From 6aab2956d66eac2f661842bab7c2f400970fb347 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 18:05:28 +0100 Subject: [PATCH 106/171] check the value of SdkResolverMSBuildTaskHostRuntimeVersion in tests; rename const variables --- .../MSBuildSdkResolver.cs | 12 ++++++------ .../GivenAnMSBuildSdkResolver.cs | 14 ++++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index a428d9667171..51c8800e875e 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -31,8 +31,8 @@ public sealed class DotNetMSBuildSdkResolver : SdkResolver private readonly Func _getMsbuildRuntime; private readonly NETCoreSdkResolver _netCoreSdkResolver; - private const string _dotnetHost = "DOTNET_HOST_PATH"; - private const string _msbuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; + private const string DotnetHost = "DOTNET_HOST_PATH"; + private const string MsbuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; private static CachingWorkloadResolver _staticWorkloadResolver = new(); @@ -199,11 +199,11 @@ private sealed class CachedState if (File.Exists(dotnetExe)) { propertiesToAdd ??= new Dictionary(); - propertiesToAdd.Add(_dotnetHost, dotnetExe); + propertiesToAdd.Add(DotnetHost, dotnetExe); } else { - logger?.LogMessage($"Could not set '{_dotnetHost}' because dotnet executable '{dotnetExe}' does not exist."); + logger?.LogMessage($"Could not set '{DotnetHost}' because dotnet executable '{dotnetExe}' does not exist."); } string? runtimeVersion = dotnetRoot != null ? @@ -212,11 +212,11 @@ private sealed class CachedState if (!string.IsNullOrEmpty(runtimeVersion)) { propertiesToAdd ??= new Dictionary(); - propertiesToAdd.Add(_msbuildTaskHostRuntimeVersion, runtimeVersion); + propertiesToAdd.Add(MsbuildTaskHostRuntimeVersion, runtimeVersion); } else { - logger?.LogMessage($"Could not set '{_msbuildTaskHostRuntimeVersion}' because runtime version could not be determined."); + logger?.LogMessage($"Could not set '{MsbuildTaskHostRuntimeVersion}' because runtime version could not be determined."); } if (resolverResult.FailedToResolveSDKSpecifiedInGlobalJson) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index 3688e35d72a8..ce2ceceb0515 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -13,8 +13,8 @@ namespace Microsoft.DotNet.Cli.Utils.Tests { public class GivenAnMSBuildSdkResolver : SdkTest { - private const string _dotnetHost = "DOTNET_HOST_PATH"; - private const string _msbuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; + private const string DotnetHost = "DOTNET_HOST_PATH"; + private const string MSBuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; public GivenAnMSBuildSdkResolver(ITestOutputHelper logger) : base(logger) { @@ -203,8 +203,9 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuild(bool disallo result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); result.PropertiesToAdd.Count.Should().Be(2); - result.PropertiesToAdd.Should().ContainKey(_dotnetHost); - result.PropertiesToAdd.Should().ContainKey(_msbuildTaskHostRuntimeVersion); + result.PropertiesToAdd.Should().ContainKey(DotnetHost); + result.PropertiesToAdd.Should().ContainKey(MSBuildTaskHostRuntimeVersion); + result.PropertiesToAdd[MSBuildTaskHostRuntimeVersion].Should().Be("mockRuntimeVersion"); result.Version.Should().Be(disallowPreviews ? "98.98.98" : "99.99.99-preview"); result.Warnings.Should().BeNullOrEmpty(); result.Errors.Should().BeNullOrEmpty(); @@ -279,8 +280,9 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuildWhenVersionIn result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); result.PropertiesToAdd.Count.Should().Be(4); - result.PropertiesToAdd.Should().ContainKey(_dotnetHost); - result.PropertiesToAdd.Should().ContainKey(_msbuildTaskHostRuntimeVersion); + result.PropertiesToAdd.Should().ContainKey(DotnetHost); + result.PropertiesToAdd.Should().ContainKey(MSBuildTaskHostRuntimeVersion); + result.PropertiesToAdd[MSBuildTaskHostRuntimeVersion].Should().Be("mockRuntimeVersion"); result.PropertiesToAdd.Should().ContainKey("SdkResolverHonoredGlobalJson"); result.PropertiesToAdd.Should().ContainKey("SdkResolverGlobalJsonPath"); result.PropertiesToAdd["SdkResolverHonoredGlobalJson"].Should().Be("false"); From ab767e26bf10a3cd380a9461735fca6cc74d3578 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Fri, 13 Dec 2024 18:08:21 +0100 Subject: [PATCH 107/171] rename const --- .../MSBuildSdkResolver.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 51c8800e875e..d05e5f369ce7 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -32,7 +32,7 @@ public sealed class DotNetMSBuildSdkResolver : SdkResolver private readonly NETCoreSdkResolver _netCoreSdkResolver; private const string DotnetHost = "DOTNET_HOST_PATH"; - private const string MsbuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; + private const string MSBuildTaskHostRuntimeVersion = "SdkResolverMSBuildTaskHostRuntimeVersion"; private static CachingWorkloadResolver _staticWorkloadResolver = new(); @@ -212,11 +212,11 @@ private sealed class CachedState if (!string.IsNullOrEmpty(runtimeVersion)) { propertiesToAdd ??= new Dictionary(); - propertiesToAdd.Add(MsbuildTaskHostRuntimeVersion, runtimeVersion); + propertiesToAdd.Add(MSBuildTaskHostRuntimeVersion, runtimeVersion); } else { - logger?.LogMessage($"Could not set '{MsbuildTaskHostRuntimeVersion}' because runtime version could not be determined."); + logger?.LogMessage($"Could not set '{MSBuildTaskHostRuntimeVersion}' because runtime version could not be determined."); } if (resolverResult.FailedToResolveSDKSpecifiedInGlobalJson) From a63f11e0c8d679fc3915e5471c29c216ab482057 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 13 Dec 2024 13:58:19 -0800 Subject: [PATCH 108/171] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2591265 (#44765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Alexander Köplinger --- .../xlf/LocalizableStrings.cs.xlf | 6 +++--- .../xlf/LocalizableStrings.de.xlf | 6 +++--- .../xlf/LocalizableStrings.es.xlf | 6 +++--- .../xlf/LocalizableStrings.fr.xlf | 6 +++--- .../xlf/LocalizableStrings.it.xlf | 6 +++--- .../xlf/LocalizableStrings.ja.xlf | 6 +++--- .../xlf/LocalizableStrings.ko.xlf | 6 +++--- .../xlf/LocalizableStrings.pl.xlf | 6 +++--- .../xlf/LocalizableStrings.pt-BR.xlf | 6 +++--- .../xlf/LocalizableStrings.ru.xlf | 6 +++--- .../xlf/LocalizableStrings.tr.xlf | 6 +++--- .../xlf/LocalizableStrings.zh-Hans.xlf | 6 +++--- .../xlf/LocalizableStrings.zh-Hant.xlf | 6 +++--- .../list/xlf/LocalizableStrings.cs.xlf | 2 +- .../list/xlf/LocalizableStrings.de.xlf | 2 +- .../list/xlf/LocalizableStrings.es.xlf | 2 +- .../list/xlf/LocalizableStrings.fr.xlf | 2 +- .../list/xlf/LocalizableStrings.it.xlf | 2 +- .../list/xlf/LocalizableStrings.ja.xlf | 2 +- .../list/xlf/LocalizableStrings.ko.xlf | 2 +- .../list/xlf/LocalizableStrings.pl.xlf | 2 +- .../list/xlf/LocalizableStrings.pt-BR.xlf | 2 +- .../list/xlf/LocalizableStrings.ru.xlf | 2 +- .../list/xlf/LocalizableStrings.tr.xlf | 2 +- .../list/xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../list/xlf/LocalizableStrings.zh-Hant.xlf | 2 +- .../dotnet-workload/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.de.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.es.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.it.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../dotnet-workload/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../Resources/xlf/Strings.es.xlf | 4 ++-- .../Resources/xlf/Strings.fr.xlf | 4 ++-- .../Resources/xlf/Strings.it.xlf | 4 ++-- .../Resources/xlf/Strings.ja.xlf | 4 ++-- .../Resources/xlf/Strings.pl.xlf | 4 ++-- .../Resources/xlf/Strings.pt-BR.xlf | 4 ++-- .../Resources/xlf/Strings.ru.xlf | 4 ++-- .../Resources/xlf/Strings.tr.xlf | 4 ++-- .../localize/templatestrings.cs.json | 12 ++++++------ .../localize/templatestrings.de.json | 12 ++++++------ .../localize/templatestrings.es.json | 12 ++++++------ .../localize/templatestrings.fr.json | 12 ++++++------ .../localize/templatestrings.it.json | 12 ++++++------ .../localize/templatestrings.ja.json | 12 ++++++------ .../localize/templatestrings.ko.json | 12 ++++++------ .../localize/templatestrings.pl.json | 12 ++++++------ .../localize/templatestrings.pt-BR.json | 12 ++++++------ .../localize/templatestrings.ru.json | 12 ++++++------ .../localize/templatestrings.tr.json | 12 ++++++------ .../localize/templatestrings.zh-Hans.json | 12 ++++++------ .../localize/templatestrings.zh-Hant.json | 12 ++++++------ 60 files changed, 172 insertions(+), 172 deletions(-) diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf index 8e24e5c7bdac..abcada049542 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.cs.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Nepodařilo se ověřit podepisování balíčku. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + Přeskakuje se ověření podpisu pro balíček NuGet {0}, protože pochází ze zdroje, který nevyžaduje ověření podpisu. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Ověřilo se, že balíček NuGet {0} má platný podpis. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.de.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.de.xlf index 9b7c1b63a9b7..c5bf54115e52 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.de.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.de.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Fehler bei der Überprüfung der Paketsignierung. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + Die Signaturüberprüfung für das NuGet-Paket „{0}“ wird übersprungen, da sie aus einer Quelle stammt, für die keine Signaturüberprüfung erforderlich ist. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Es wurde überprüft, ob das NuGet-Paket „{0}“ über eine gültige Signatur verfügt. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.es.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.es.xlf index 899122a0efcc..bf16b6b9643b 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.es.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.es.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + No se pudo validar la firma del paquete. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + Omitiendo la comprobación de firma para el paquete NuGet "{0}" porque procede de un origen que no requiere validación de firma. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Se comprobó que el paquete NuGet "{0}" tiene una firma válida. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.fr.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.fr.xlf index bdfaa52f2a8d..8cbf20cac84f 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.fr.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.fr.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Nous n’avons pas pu valider la signature de package. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + La vérification de signature pour le package NuGet « {0} » est ignorée, car elle provient d’une source qui ne nécessite pas de validation de signature. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Nous avons vérifié que le package NuGet « {0} » a une signature valide. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.it.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.it.xlf index 26968c8aaaae..19c6e4c4c82d 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.it.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.it.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Impossibile convalidare la firma del pacchetto. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + La verifica della firma per il pacchetto NuGet "{0}" viene ignorata in quanto la firma proviene da un'origine che non richiede la convalida della firma. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Verifica della validità della firma del pacchetto NuGet "{0}" eseguita. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ja.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ja.xlf index 65a62f4c7f65..962b303f5e48 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ja.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ja.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + パッケージ署名を検証できませんでした。 {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + NuGet パッケージ "{0}" は署名の検証を必要としないソースから取得されたものなので、このパッケージの署名検証をスキップしています。 @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + NuGet パッケージ "{0}" に有効な署名があることを確認しました。 diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ko.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ko.xlf index 982c0abd2127..599b18a5c23a 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ko.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ko.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + 패키지 서명을 확인하지 못했습니다. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + NuGet 패키지 "{0}"은(는) 서명 유효성 검사가 필요하지 않은 원본에서 제공되었으므로 서명 확인을 건너뜁니다. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + NuGet 패키지 "{0}"에 유효한 서명이 있음을 확인했습니다. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pl.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pl.xlf index c7ab52e38a5c..7beb233cc2c6 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pl.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pl.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Nie można zweryfikować podpisywania pakietu. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + Pomijanie weryfikacji podpisu dla pakietu NuGet „{0}”, ponieważ pochodzi ona ze źródła, które nie wymaga weryfikacji podpisu. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Zweryfikowano, że pakiet NuGet „{0}” ma prawidłowy podpis. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pt-BR.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pt-BR.xlf index e6aa3f7cf98f..d67f42fb7506 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.pt-BR.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Falhou ao validar a assinatura do pacote. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + Ignorando a verificação de assinatura para o pacote NuGet "{0}" porque ele vem de uma origem que não requer validação de assinatura. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Verificado que o pacote NuGet "{0}" tem uma assinatura válida. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ru.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ru.xlf index 84bcf4a7209c..752ea58f02b5 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ru.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.ru.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Не удалось проверить подпись пакета. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + Пропуск проверки подписи для пакета NuGet "{0}", так как он получен из источника, который не требует проверки подписи. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + Проверено, что пакет NuGet "{0}" содержит допустимую подпись. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.tr.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.tr.xlf index fdeb6ba55d46..72033a0b94ea 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.tr.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.tr.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + Paket imzası doğrulanamadı. {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + "{0}"NuGet paketinin imza doğrulaması atlandı, çünkü imza doğrulaması gerektirmeyen bir kaynaktan geliyor. @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + "{0}" NuGet paketinin geçerli imzaya sahip olduğu doğrulandı. diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hans.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hans.xlf index f1f655b0fbfd..b134a9cc569f 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hans.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + 验证包签名失败。 {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + 正在跳过 NuGet 包“{0}”的签名验证,因为该包来自不需要签名验证的源。 @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + 已验证 NuGet 包“{0}”具有有效签名。 diff --git a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hant.xlf b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hant.xlf index 663b83465121..fdf82e72d235 100644 --- a/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/NugetPackageDownloader/xlf/LocalizableStrings.zh-Hant.xlf @@ -30,7 +30,7 @@ Failed to validate package signing. {0} - Failed to validate package signing. + 無法驗證套件簽署。 {0} @@ -41,7 +41,7 @@ Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. - Skipping signature verification for NuGet package "{0}" because it comes from a source that does not require signature validation. + 正在略過 NuGet 套件的簽章驗證「{0}」,因為它的來源不需要簽章驗證。 @@ -81,7 +81,7 @@ Verified that the NuGet package "{0}" has a valid signature. - Verified that the NuGet package "{0}" has a valid signature. + 已驗證 NuGet 套件「{0}」具備有效簽章。 diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf index 5fb8a8591bb0..ff05e2b66edc 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - V souboru global.json byla v sekci {1} nalezena připnutá verze {0} úlohy. + Používá se verze úlohy {0}, která byla zadána v souboru global.json na {1}. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf index 768e6b993068..8c31e874a5df 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - Es wurde eine in der global.json-Datei unter {1} angeheftete Workload-Version {0} gefunden. + Es wird die Workloadversion {0} verwendet, die in der Datei „global.json“ unter {1} angegeben wurde. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf index 55b4770aae20..bd10b6387057 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - Se encontró la versión de carga de trabajo {0} anclada en el archivo global.json en {1}. + Utilizando la versión {0} de carga de trabajo, que se especificó en el archivo global.json en {1}. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf index 6a65d92aa296..936fd3d96a55 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - Version de charge de travail trouvée {0} épinglée dans le fichier global.json à {1}. + Utilisation de la version de charge de travail {0}, qui a été spécifiée dans le fichier global.json à {1}. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf index 93402b57e610..a2f13e1e22a9 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - È stata trovata la versione {0} del carico di lavoro aggiunta nel file di global.json in {1}. + Si utilizza la versione del carico di lavoro {0}, specificata nel file di global.json in {1}. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf index c4b2f52c5200..e2efdd30c74f 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - {1} で、global.json ファイルでピン留めされたワークロード バージョン {0} が見つかりました。 + {1} のglobal.json ファイルで指定されたワークロード バージョン {0} を使用しています。 diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf index 5c388bdeacf1..c3c399451608 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - {1}의 global.json 파일에 고정되어 워크로드 버전 {0}을(를) 찾았습니다. + {1}의 global.json 파일에 지정된 워크로드 버전 {0}을(를) 사용합니다. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf index 46654667efe5..614321318242 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - Znaleziono wersję obciążenia {0} przypiętą w pliku global.json w pozycji {1}. + Użycie wersji obciążenia {0}, która została określona w pliku global.json w {1}. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf index a210d5a08ea1..630ce100d177 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - Encontrada a versão {0} da carga de trabalho fixada no arquivo global.json em {1}. + Usando a versão {0} da carga de trabalho, que foi especificada no arquivo global.json em {1}. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf index 0aba9aea737e..fe92cf3ed848 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - Обнаружена версия рабочей нагрузки {0}, закрепленная в файле global.json по адресу {1}. + Использование версии рабочей нагрузки {0}, указанной в файле global.json в {1}. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf index b314c9ca8fe4..e7fe0dea28eb 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - {0} iş yükü sürümünün {1} konumundaki global.json dosyasına sabitlendiği bulundu. + {1} içindeki global.json dosyasında belirtilen {0} iş yükü sürümünün kullanılması. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf index 8dd0f5ce53e3..7d9aeefe36e5 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - 在 {1} 处找到固定在 global.json 文件中的工作负载版本 {0}。 + 使用工作负载版本 {0},该版本于 {1} 在 global.json 文件中指定。 diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf index d83db813a28b..cebfccf50390 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf @@ -14,7 +14,7 @@ Using workload version {0}, which was specified in the global.json file at {1}. - 在位於 {1} 的 global.json 檔案中找到已釘選的工作負載版本 {0}。 + 使用工作負載版本 {0},這是在 {1} 的 global.json 檔案中所指定。 diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.cs.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.cs.xlf index 6ac161b5c227..6040347817af 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.cs.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.cs.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Úlohy jsou nakonfigurované tak, aby se instalovaly a aktualizovaly pomocí verzí úloh, ale žádná nebyla nalezena. Spusťte příkaz dotnet workload restore a nainstalujte verzi úlohy. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + Verze {0} úlohy, která byla zadána v {1}, nebyla nalezena. Spuštěním příkazu dotnet workload restore nainstalujte tuto verzi úlohy. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.de.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.de.xlf index adc224f972c3..98068f6f7966 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.de.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.de.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads sind so konfiguriert, dass sie mithilfe von Workloadversionen installiert und aktualisiert werden, es wurden jedoch keine gefunden. Führen Sie „dotnet workload restore“ aus, um eine Workloadversion zu installieren. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + Die Arbeitsauslastungsversion {0}, die in {1} angegeben wurde, wurde nicht gefunden. Führen Sie „dotnet workload restore“ aus, um diese Workloadversion zu installieren. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.es.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.es.xlf index 6a30cb80d6d4..7287d2f7822e 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.es.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.es.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Las cargas de trabajo están configuradas para instalarse y actualizarse con versiones de carga de trabajo, pero no se encontró ninguna. Ejecute "dotnet workload restore" para instalar una versión de carga de trabajo. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + No se encontró la versión de carga de trabajo {0}, que se especificó en {1}. Ejecuta "dotnet workload restore" para instalar esta versión de carga de trabajo. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.fr.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.fr.xlf index 67335a21d9c6..276b2f0a65ad 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.fr.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.fr.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Les charges de travail sont configurées pour installer et mettre à jour à l’aide des versions de charge de travail, mais aucune n’a été trouvée. Exécutez « dotnet workload restore » pour installer une version de charge de travail. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + La version de charge de travail {0}, qui a été spécifiée dans {1}, est introuvable. Exécutez « dotnet workload restore » pour installer cette version de charge de travail. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.it.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.it.xlf index 365f8204831d..b2b1981d2d98 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.it.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.it.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + I carichi di lavoro sono configurati per l'installazione e l'aggiornamento con le versioni del carico di lavoro, ma non ne sono stati trovati. Eseguire il "dotnet workload restore" per installare una versione del carico di lavoro. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + La versione del carico di lavoro {0}, specificata in {1}, non è stata trovata. Eseguire "dotnet workload restore" per installare questa versione del carico di lavoro. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ja.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ja.xlf index f3732fe1749e..6d96a0eee41b 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ja.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ja.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + ワークロードは、ワークロード バージョンを使用してインストールおよび更新するように構成されていますが、何も見つかりませんでした。"dotnet workload restore" を実行して、ワークロード バージョンをインストールします。 {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + {1} で指定されたワークロード バージョン {0} が見つかりませんでした。"dotnet workload restore" を実行して、このワークロード バージョンをインストールします。 {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ko.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ko.xlf index 7596c18b6519..23765dfe04fb 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ko.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ko.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + 워크로드 버전을 사용하여 설치하고 업데이트하도록 워크로드를 구성했지만, 워크로드 버전을 찾을 수 없습니다. "dotnet workload restore"를 실행하여 워크로드 버전을 설치하세요. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + {1}에 지정된 워크로드 버전 {0}을(를) 찾을 수 없습니다. "dotnet workload restore"을 실행하여 이 워크로드 버전을 설치합니다. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pl.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pl.xlf index ddefe998f88f..aa81adada6fc 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pl.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pl.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Obciążenia są skonfigurowane do instalowania i aktualizowania przy użyciu wersji obciążeń, ale żadnych nie znaleziono. Uruchom polecenie „dotnet workload restore”, aby zainstalować wersję obciążenia. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + Nie znaleziono wersji obciążenia {0} określonej w kontenerze {1}. Uruchom polecenie „dotnet workload restore”, aby zainstalować tę wersję obciążenia. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pt-BR.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pt-BR.xlf index e0cb1a1b4026..309a2ca50056 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.pt-BR.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + As cargas de trabalho estão configuradas para instalar e atualizar usando versões de carga de trabalho, mas nenhuma foi encontrada. Execute "dotnet workload restore" para instalar uma versão de carga de trabalho. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + A versão da carga de trabalho {0}, especificada em {1}, não foi localizada. Execute "dotnet workload restore" para instalar esta versão da carga de trabalho. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ru.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ru.xlf index 91916afa511d..a323d09a7753 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ru.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.ru.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Рабочие нагрузки настроены на установку и обновление с использованием версий рабочей нагрузки, но они не найдены. Запустите команду "dotnet workload restore", чтобы установить версию рабочей нагрузки. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + Версия рабочей нагрузки {0}, указанная в {1}, не найдена. Запустите команду "dotnet workload restore", чтобы установить эту версию рабочей нагрузки. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.tr.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.tr.xlf index d2784679f71d..91fd9628a5d1 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.tr.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.tr.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + İş yükleri, iş yükü sürümlerini kullanarak yüklenip güncelleştirilmek üzere yapılandırıldı, ancak herhangi bir iş yükü bulunamadı. İş yükü sürümünü yüklemek için "dotnet workload restore" komutunu çalıştırın. {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + {1} konumunda belirtilen {0} iş yükü sürümü bulunamadı. Bu iş yükü sürümünü yüklemek için "dotnet workload restore" komutunu çalıştırın. {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hans.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hans.xlf index 6818b5c4f049..f6a3b5aa5b5f 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hans.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + 工作负载配置为使用工作负载版本进行安装和更新,但未找到任何版本。运行 "dotnet workload restore" 以安装工作负载版本。 {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + 找不到在 {1} 中指定的工作负载版本 {0}。运行“dotnet workload restore”以安装此工作负载版本。 {Locked="dotnet workload restore"} diff --git a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hant.xlf b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hant.xlf index 0825c75572f8..676512955bbc 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/xlf/LocalizableStrings.zh-Hant.xlf @@ -24,7 +24,7 @@ Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + 工作負載已設定為使用工作負載版本來安裝和更新,但找不到任何工作負載版本。執行 "dotnet workload restore" 以安裝工作負載版本。 {Locked="dotnet workload restore"} @@ -74,7 +74,7 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. - Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. + 找不到 {1} 中指定的工作負載版本 {0}。執行 "dotnet workload restore" 以安裝此工作負載版本。 {Locked="dotnet workload restore"} diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf index d2efae9ef3da..dcd6b7f40a0e 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.es.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + No se puede crear un tarball para una imagen oci con varias etiquetas. @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + No se puede crear un tarball para el mediaType "{0}". diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf index 42802ae171c9..180aad48339d 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.fr.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Impossible de créer un tarball pour l’image oci avec plusieurs balises. @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + Impossible de créer tarball pour mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf index 7223f8af5cc2..3c108c9d90d3 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.it.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Non è possibile creare il tarball per l'immagine OCI con più tag. @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + Impossibile creare il tarball per un mediaType '{0}'. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf index 450d8ae75014..88cb18140bcd 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ja.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + 複数のタグを持つ oci イメージの tarball を作成できません。 @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + mediaType '{0}' の tarball を作成できません。 diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf index 52cf4c885809..988eec6e8358 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pl.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Nie można utworzyć elementu tarball dla obrazu OCI z wieloma tagami. @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + Nie można utworzyć elementu tarball dla elementu mediaType „{0}”. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf index 924b5f101b46..194d82ddefb8 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.pt-BR.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Não é possível criar tarball para imagem oci com várias marcas. @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + Não é possível criar tarball para mediaType "{0}". diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf index 25f88cbf8fd7..2c54887d3d89 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ru.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Невозможно создать tarball для образа oci с несколькими тегами. @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + Не удалось создать tarball для mediaType "{0}". diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf index 4c6caf1e6dbb..646791f2d72a 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.tr.xlf @@ -259,7 +259,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Birden çok etikete sahip oci görüntüsü için tarball oluşturulamıyor. @@ -384,7 +384,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + mediaType '{0}' için tarball oluşturulamıyor. diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.cs.json index fe41e5a3650a..333f70ca439e 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.cs.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "Soubor řešení", "description": "Vytvořit prázdné řešení neobsahující projekty", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Zvolte formát souboru řešení: sln nebo slnx.", + "symbols/Format/displayName": "Formát souboru řešení", + "symbols/Format/choices/sln/description": "Soubor řešení", + "symbols/Format/choices/sln/displayName": "Formát .sln", + "symbols/Format/choices/slnx/description": "Soubor řešení XML", + "symbols/Format/choices/slnx/displayName": "Formát .slnx" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.de.json index b393ed7bbbd7..5619c1c6ab7a 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.de.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "Projektmappendatei", "description": "Erstellt eine leere Projektmappe, die keine Projekte enthält", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Wählen Sie das Format für die Projektmappendatei aus: SLN oder SLNX.", + "symbols/Format/displayName": "Projektmappendateiformat", + "symbols/Format/choices/sln/description": "Projektmappendatei", + "symbols/Format/choices/sln/displayName": "SLN-Format", + "symbols/Format/choices/slnx/description": "XML-Projektmappendatei", + "symbols/Format/choices/slnx/displayName": "SLNX-Format" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.es.json index 9f6203851904..25264844d4b2 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.es.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "Archivo de la solución", "description": "Crea una solución vacía sin proyectos.", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Elija el formato del archivo de solución: sln o slnx.", + "symbols/Format/displayName": "Formato de archivo de solución", + "symbols/Format/choices/sln/description": "Archivo de solución", + "symbols/Format/choices/sln/displayName": "formato de .sln", + "symbols/Format/choices/slnx/description": "Archivo de solución XML", + "symbols/Format/choices/slnx/displayName": "formato .slnx" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.fr.json index 1b30d59b7781..ea4b3d6c81b2 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.fr.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "Fichier solution", "description": "Créer une solution vide ne contenant aucun projet", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Choisissez le format du fichier de solution : sln ou slnx.", + "symbols/Format/displayName": "Format du fichier de solution", + "symbols/Format/choices/sln/description": "Fichier de solutions", + "symbols/Format/choices/sln/displayName": "Format .sln", + "symbols/Format/choices/slnx/description": "Fichier de solution XML", + "symbols/Format/choices/slnx/displayName": "Format .slnx" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.it.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.it.json index 83820bbb5df5..8491005f76c6 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.it.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.it.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "File di soluzione", "description": "Crea una soluzione vuota che non contiene alcun progetto", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Scegliere il formato per il file di soluzione: sln o slnx.", + "symbols/Format/displayName": "Formato del file di soluzione", + "symbols/Format/choices/sln/description": "File di soluzione", + "symbols/Format/choices/sln/displayName": "formato .sln", + "symbols/Format/choices/slnx/description": "File di soluzione XML", + "symbols/Format/choices/slnx/displayName": "formato .slnx" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ja.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ja.json index 95391ab9c0a1..c7b1f52f31fc 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ja.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ja.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "ソリューション ファイル", "description": "プロジェクトを含まない空のソリューションを作成します。", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "ソリューション ファイルの形式を選択してください: sln または slnx。", + "symbols/Format/displayName": "ソリューション ファイル形式", + "symbols/Format/choices/sln/description": "ソリューション ファイル", + "symbols/Format/choices/sln/displayName": ".sln 形式", + "symbols/Format/choices/slnx/description": "XML ソリューション ファイル", + "symbols/Format/choices/slnx/displayName": ".slnx 形式" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ko.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ko.json index 372dcc2e6aec..beffb6e2d326 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ko.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ko.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "솔루션 파일", "description": "프로젝트 없는 빈 솔루션 만들기", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "솔루션 파일의 형식(sln 또는 slnx)을 선택합니다.", + "symbols/Format/displayName": "솔루션 파일 형식", + "symbols/Format/choices/sln/description": "솔루션 파일", + "symbols/Format/choices/sln/displayName": ".sln 형식", + "symbols/Format/choices/slnx/description": "XML 솔루션 파일", + "symbols/Format/choices/slnx/displayName": ".slnx 형식" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pl.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pl.json index f573cd5ff73b..ea36b2bc3a63 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pl.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pl.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "Plik rozwiązania", "description": "Utwórz puste rozwiązanie niezawierające żadnych projektów", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Wybierz format dla pliku rozwiązania: sln lub slnx.", + "symbols/Format/displayName": "Format pliku rozwiązania", + "symbols/Format/choices/sln/description": "Plik rozwiązania", + "symbols/Format/choices/sln/displayName": "Format .sln", + "symbols/Format/choices/slnx/description": "Plik rozwiązania w formacie XML", + "symbols/Format/choices/slnx/displayName": "Format .slnx" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pt-BR.json index 319705608ecb..d8d3854bf42f 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.pt-BR.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "Arquivo de Solução", "description": "Uma solução vazia sem projetos", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Escolha o formato do arquivo de solução: sln ou slnx.", + "symbols/Format/displayName": "Formato do arquivo de solução", + "symbols/Format/choices/sln/description": "Arquivo de solução", + "symbols/Format/choices/sln/displayName": "Formato .sln", + "symbols/Format/choices/slnx/description": "Arquivo de Solução XML", + "symbols/Format/choices/slnx/displayName": "Formato .slnx" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ru.json index 92477412bc1c..a5f5d5301da2 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.ru.json @@ -2,10 +2,10 @@ "author": "Майкрософт", "name": "Файл решения", "description": "Создание пустого решения, не содержащего проектов", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Выберите формат файла решения: sln или slnx.", + "symbols/Format/displayName": "Формат файла решения", + "symbols/Format/choices/sln/description": "Файл решения", + "symbols/Format/choices/sln/displayName": "Формат .sln", + "symbols/Format/choices/slnx/description": "XML-файл решения", + "symbols/Format/choices/slnx/displayName": "Формат .slnx" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.tr.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.tr.json index e3cd9702fdd6..8132511a7326 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.tr.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.tr.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "Çözüm Dosyası", "description": "Hiçbir proje içermeyen boş bir çözüm oluştur", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "Çözüm dosyasının biçimini seçin: sln veya slnx.", + "symbols/Format/displayName": "Çözüm dosyası biçimi", + "symbols/Format/choices/sln/description": "Çözüm dosyası", + "symbols/Format/choices/sln/displayName": ".sln biçimi", + "symbols/Format/choices/slnx/description": "XML Çözüm dosyası", + "symbols/Format/choices/slnx/displayName": ".slnx biçimi" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hans.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hans.json index 2ae629c21472..eeda38a2af28 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hans.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hans.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "解决方案文件", "description": "创建不包含项目的空解决方案", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "选择解决方案文件的格式: sln 或 slnx。", + "symbols/Format/displayName": "解决方案文件格式", + "symbols/Format/choices/sln/description": "解决方案文件", + "symbols/Format/choices/sln/displayName": ".sln 格式", + "symbols/Format/choices/slnx/description": "XML 解决方案文件", + "symbols/Format/choices/slnx/displayName": ".slnx 格式" } \ No newline at end of file diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hant.json index 93db3e86a6d0..42f07a6c8cbb 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/Solution/.template.config/localize/templatestrings.zh-Hant.json @@ -2,10 +2,10 @@ "author": "Microsoft", "name": "方案檔", "description": "建立不含專案的空白方案", - "symbols/Format/description": "Choose the format for the solution file: sln or slnx.", - "symbols/Format/displayName": "Solution file format", - "symbols/Format/choices/sln/description": "Solution file", - "symbols/Format/choices/sln/displayName": ".sln format", - "symbols/Format/choices/slnx/description": "XML Solution file", - "symbols/Format/choices/slnx/displayName": ".slnx format" + "symbols/Format/description": "選擇解決方案檔案的格式: sln 或 slnx。", + "symbols/Format/displayName": "解決方案檔案格式", + "symbols/Format/choices/sln/description": "解決方案檔案", + "symbols/Format/choices/sln/displayName": ".sln 格式", + "symbols/Format/choices/slnx/description": "XML 解決方案檔案", + "symbols/Format/choices/slnx/displayName": ".slnx 格式" } \ No newline at end of file From 16a3ba45978b804c8c9f22c8fc0e4e19b77a1486 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 13 Dec 2024 22:52:22 +0000 Subject: [PATCH 109/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.8 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.8 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1616f4d84443..2cc554ee1c80 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 - + https://github.com/dotnet/roslyn - 269226a49ee7a62451377c37856d484991663e72 + e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 48808cba39bc..85ca398927c8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.4 - 4.13.0-3.24613.4 - 4.13.0-3.24613.4 - 4.13.0-3.24613.4 - 4.13.0-3.24613.4 - 4.13.0-3.24613.4 - 4.13.0-3.24613.4 - 4.13.0-3.24613.4 + 4.13.0-3.24613.8 + 4.13.0-3.24613.8 + 4.13.0-3.24613.8 + 4.13.0-3.24613.8 + 4.13.0-3.24613.8 + 4.13.0-3.24613.8 + 4.13.0-3.24613.8 + 4.13.0-3.24613.8 From 09e4ad537831032b86019ba38cc52d92e0ed625b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Fri, 13 Dec 2024 23:28:47 +0000 Subject: [PATCH 110/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.9 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.9 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 2cc554ee1c80..d5340edab502 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 - + https://github.com/dotnet/roslyn - e42a7b6383e952bd92b5a0518346ac1a6b4dfcc1 + fe3a243bd58966b3e683c9d038321ddb498ff043 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 85ca398927c8..3ac38b76f088 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.8 - 4.13.0-3.24613.8 - 4.13.0-3.24613.8 - 4.13.0-3.24613.8 - 4.13.0-3.24613.8 - 4.13.0-3.24613.8 - 4.13.0-3.24613.8 - 4.13.0-3.24613.8 + 4.13.0-3.24613.9 + 4.13.0-3.24613.9 + 4.13.0-3.24613.9 + 4.13.0-3.24613.9 + 4.13.0-3.24613.9 + 4.13.0-3.24613.9 + 4.13.0-3.24613.9 + 4.13.0-3.24613.9 From 3182ff043cc539cbd81b8ab7e3cdabae47113860 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 13 Dec 2024 15:31:11 -0800 Subject: [PATCH 111/171] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2601367 --- .../.template.config/localize/templatestrings.it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/NUnit-VisualBasic-Item/.template.config/localize/templatestrings.it.json b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/NUnit-VisualBasic-Item/.template.config/localize/templatestrings.it.json index 997b0d40cba1..938c218e8331 100644 --- a/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/NUnit-VisualBasic-Item/.template.config/localize/templatestrings.it.json +++ b/template_feed/Microsoft.DotNet.Common.ItemTemplates/content/NUnit-VisualBasic-Item/.template.config/localize/templatestrings.it.json @@ -1,6 +1,6 @@ { "author": "Aleksei Kharlov aka halex2005 (codeofclimber.ru)", "name": "Elemento di test NUnit 3", - "description": "Consente di creare una nuova classe di test NUnit", + "description": "Crea una nuova classe di test NUnit", "postActions/openInEditor/description": "Apre la classe di fixture di test creata nell'editor" } \ No newline at end of file From 8e992be9194e8d523c28078a0d62703a874d7bc8 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 13 Dec 2024 15:36:09 -0800 Subject: [PATCH 112/171] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2601367 --- .../.template.config/localize/templatestrings.cs.json | 4 ++-- .../.template.config/localize/templatestrings.es.json | 4 ++-- .../.template.config/localize/templatestrings.fr.json | 4 ++-- .../.template.config/localize/templatestrings.it.json | 4 ++-- .../.template.config/localize/templatestrings.pl.json | 4 ++-- .../localize/templatestrings.pt-BR.json | 4 ++-- .../.template.config/localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../.template.config/localize/templatestrings.cs.json | 4 ++-- .../.template.config/localize/templatestrings.de.json | 2 +- .../.template.config/localize/templatestrings.es.json | 4 ++-- .../.template.config/localize/templatestrings.fr.json | 6 +++--- .../.template.config/localize/templatestrings.it.json | 4 ++-- .../localize/templatestrings.pt-BR.json | 10 +++++----- .../.template.config/localize/templatestrings.ru.json | 6 +++--- .../.template.config/localize/templatestrings.tr.json | 2 +- .../localize/templatestrings.zh-Hans.json | 4 ++-- .../localize/templatestrings.zh-Hant.json | 2 +- .../.template.config/localize/templatestrings.cs.json | 4 ++-- .../.template.config/localize/templatestrings.es.json | 4 ++-- .../.template.config/localize/templatestrings.fr.json | 4 ++-- .../.template.config/localize/templatestrings.it.json | 4 ++-- .../.template.config/localize/templatestrings.pl.json | 4 ++-- 23 files changed, 46 insertions(+), 46 deletions(-) diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.cs.json index 7583b86cf1c6..df0c5fb236e2 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.cs.json @@ -4,8 +4,8 @@ "description": "Projekt obsahující testy MSTest, který se dá spustit na .NET v systémech Windows, Linux a MacOS.", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (jenom Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.es.json index 305229b9a359..1469bdee9ae8 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (solo Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", @@ -16,7 +16,7 @@ "symbols/Framework/choices/net6.0-windows/description": ".NET 6 (solo Windows)", "symbols/Framework/choices/netcoreapp3.1/description": ".NET Core 3.1", "symbols/Framework/choices/net481/description": ".NET Framework 4.8.1", - "symbols/Framework/choices/net48/description": ".NET Framework 4.8", + "symbols/Framework/choices/net48/description": ".NET Framework 4.8", "symbols/Framework/choices/net472/description": ".NET Framework 4.7.2", "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.fr.json index e45be9f93711..cd5d80aff623 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.fr.json @@ -4,7 +4,7 @@ "description": "Un projet qui contient des tests MSTest pouvant être exécutés sur .NET sous Windows, Linux et MacOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (Windows uniquement)", @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.it.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.it.json index f5e8728d97f0..af97fdf9acc0 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.it.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.it.json @@ -3,7 +3,7 @@ "name": "Progetto di test MSTest", "description": "Progetto che contiene i test MSTest eseguibili in .NET in Windows, Linux e MacOS.", "symbols/TargetFrameworkOverride/description": "Ignora il framework di destinazione", - "symbols/TargetFrameworkOverride/displayName": "Sostituisci framework di destinazione", + "symbols/TargetFrameworkOverride/displayName": "Override del framework di destinazione", "symbols/Framework/description": "Il framework di destinazione per il progetto.", "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", @@ -22,7 +22,7 @@ "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", "symbols/skipRestore/description": "Se specificato, ignora il ripristino automatico del progetto durante la creazione.", - "symbols/skipRestore/displayName": "Ignora ripristino", + "symbols/skipRestore/displayName": "Salta ripristino", "symbols/langVersion/description": "Imposta la proprietà LangVersion nel file di progetto creato", "symbols/langVersion/displayName": "Versione del linguaggio", "symbols/UseMSTestSdk/description": "Usare lo stile del progetto MSTest.Sdk. Per altre informazioni, vedere https://aka.ms/mstest/sdk", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pl.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pl.json index ea2eac97efd4..e665d84bbc1b 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pl.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pl.json @@ -3,9 +3,9 @@ "name": "MSTest — projekt testowy", "description": "Projekt zawierający testy MSTest, które mogą być uruchamiane na platformie .NET w systemach Windows, Linux i MacOS.", "symbols/TargetFrameworkOverride/description": "Zastępuje platformę docelową", - "symbols/TargetFrameworkOverride/displayName": "Odrzucenie platformy docelowej", + "symbols/TargetFrameworkOverride/displayName": "Zastąpienie struktury docelowej", "symbols/Framework/description": "Platforma docelowa dla tego projektu.", - "symbols/Framework/displayName": "Platforma", + "symbols/Framework/displayName": "Struktura", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (tylko system Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json index 16fd3fa54a67..cc7a26deabec 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json @@ -4,7 +4,7 @@ "description": "Um projeto que contém testes do MSTest que podem ser executados no .NET no Windows, Linux e MacOS.", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (somente Windows)", @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.ru.json index 047c6cfe751b..d6227f51c371 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.ru.json @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json index ecd10175e093..fa3aabd0afd5 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 MacOS 版的 .NET 上執行的 MSTest 測試的專案。", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (僅限 Windows)", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.cs.json index 840926e34472..4c3bdf21923c 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.cs.json @@ -4,8 +4,8 @@ "description": "Projekt obsahující testy MSTest, který se dá spustit na .NET v systémech Windows, Linux a MacOS.", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (jenom Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.de.json index dbc7c16b6a03..8bf1a0ff504a 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.de.json @@ -3,7 +3,7 @@ "name": "MSTest-Testprojekt", "description": "Ein Projekt, das MSTest-Tests enthält, die auf .NET unter Windows, Linux und macOS ausgeführt werden können.", "symbols/TargetFrameworkOverride/description": "Überschreibt das Zielframework", - "symbols/TargetFrameworkOverride/displayName": "Überschreibung des Zielframeworks", + "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.es.json index 3bc4d3e9bef8..86c7d631c9b4 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (solo Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", @@ -16,7 +16,7 @@ "symbols/Framework/choices/net6.0-windows/description": ".NET 6 (solo Windows)", "symbols/Framework/choices/netcoreapp3.1/description": ".NET Core 3.1", "symbols/Framework/choices/net481/description": ".NET Framework 4.8.1", - "symbols/Framework/choices/net48/description": ".NET Framework 4.8", + "symbols/Framework/choices/net48/description": ".NET Framework 4.8", "symbols/Framework/choices/net472/description": ".NET Framework 4.7.2", "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.fr.json index 550002afe6ec..2a58488a7de3 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.fr.json @@ -4,7 +4,7 @@ "description": "Un projet qui contient des tests MSTest pouvant être exécutés sur .NET sous Windows, Linux et MacOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (Windows uniquement)", @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", @@ -36,7 +36,7 @@ "symbols/CoverageTool/choices/Microsoft.CodeCoverage/description": "Couverture du code Microsoft", "symbols/CoverageTool/choices/coverlet/description": "coverlet", "symbols/ExtensionsProfile/description": "Sélectionnez le profil d’extensions du Kit de développement logiciel (SDK) lors de l’utilisation de l’exécuteur MSTest. Plus d’informations sur https://aka.ms/mstest/sdk/extensions-profile", - "symbols/ExtensionsProfile/displayName": "Test du profil d’extensions", + "symbols/ExtensionsProfile/displayName": "Test du profil des extensions", "symbols/ExtensionsProfile/choices/Default/description": "Profil d’extensions par défaut (recommandé)", "symbols/ExtensionsProfile/choices/Default/displayName": "Par défaut", "symbols/ExtensionsProfile/choices/None/description": "Aucune extension n’est activée", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.it.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.it.json index 8c88c602d95d..90d6daa129d0 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.it.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.it.json @@ -28,7 +28,7 @@ "symbols/UseMSTestSdk/description": "Usare lo stile del progetto MSTest.Sdk. Per altre informazioni, vedere https://aka.ms/mstest/sdk", "symbols/UseMSTestSdk/displayName": "Usa MSTest.Sdk", "symbols/TestRunner/description": "Selezionare lo strumento di esecuzione/la piattaforma. Per altre informazioni, vedere https://aka.ms/mstest/sdk/extensions-profile", - "symbols/TestRunner/displayName": "Test runner", + "symbols/TestRunner/displayName": "Test Runner", "symbols/TestRunner/choices/MSTest/description": "Usa MSTest Runner (Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "Usa la piattaforma VSTest", "symbols/CoverageTool/description": "Strumento di copertura da usare per il progetto.", @@ -38,7 +38,7 @@ "symbols/ExtensionsProfile/description": "Selezionare il profilo delle estensioni SDK quando si usa MSTest Runner. Per altre informazioni, vedere https://aka.ms/mstest/sdk/extensions-profile", "symbols/ExtensionsProfile/displayName": "Test del profilo delle estensioni", "symbols/ExtensionsProfile/choices/Default/description": "Profilo estensioni predefinito (scelta consigliata)", - "symbols/ExtensionsProfile/choices/Default/displayName": "Predefinita", + "symbols/ExtensionsProfile/choices/Default/displayName": "Impostazione predefinita", "symbols/ExtensionsProfile/choices/None/description": "Nessuna estensione abilitata", "symbols/ExtensionsProfile/choices/None/displayName": "Nessuno", "symbols/ExtensionsProfile/choices/AllMicrosoft/description": "Abilita tutte le estensioni spedite da Microsoft (incluse le estensioni con una licenza restrittiva)", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.pt-BR.json index f59995dc88b1..c84621e2e796 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.pt-BR.json @@ -3,8 +3,8 @@ "name": "Projeto de Teste MSTest", "description": "Um projeto que contém testes do MSTest que podem ser executados no .NET no Windows, Linux e MacOS.", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", - "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (somente Windows)", @@ -21,8 +21,8 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", - "symbols/skipRestore/displayName": "Ignorar restauração", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", + "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", "symbols/UseMSTestSdk/description": "Use o estilo de projeto MSTest.Sdk. Mais informações em https://aka.ms/mstest/sdk", @@ -32,7 +32,7 @@ "symbols/TestRunner/choices/MSTest/description": "Usar o MSTest Runner (Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "Usar a plataforma VSTest", "symbols/CoverageTool/description": "A ferramenta de cobertura a ser usada para o projeto.", - "symbols/CoverageTool/displayName": "Ferramenta de cobertura", + "symbols/CoverageTool/displayName": "Ferramenta Cobertura", "symbols/CoverageTool/choices/Microsoft.CodeCoverage/description": "Cobertura de Código da Microsoft", "symbols/CoverageTool/choices/coverlet/description": "coverlet", "symbols/ExtensionsProfile/description": "Selecione o perfil de extensões do SDK ao usar o Executor do MSTest. Mais informações em https://aka.ms/mstest/sdk/extensions-profile", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.ru.json index d311df0bf35a..6ed1f62960a6 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.ru.json @@ -21,18 +21,18 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", "symbols/UseMSTestSdk/description": "Используйте стиль проекта MSTest.Sdk. Дополнительные сведения на https://aka.ms/mstest/sdk", "symbols/UseMSTestSdk/displayName": "Использовать MSTest.Sdk", "symbols/TestRunner/description": "Выберите средство выполнения тестов или платформу. Дополнительные сведения на https://aka.ms/mstest/sdk/extensions-profile", - "symbols/TestRunner/displayName": "Test Runner", + "symbols/TestRunner/displayName": "Средство выполнения тестов", "symbols/TestRunner/choices/MSTest/description": "Используйте MSTest Runner (Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "Используйте платформу VSTest", "symbols/CoverageTool/description": "Инструмент покрытия, который следует использовать для проекта.", - "symbols/CoverageTool/displayName": "Средство охвата", + "symbols/CoverageTool/displayName": "Средство оценки объема протестированного кода", "symbols/CoverageTool/choices/Microsoft.CodeCoverage/description": "Покрытие кода (Майкрософт)", "symbols/CoverageTool/choices/coverlet/description": "coverlet", "symbols/ExtensionsProfile/description": "Выберите профиль расширений SDK при использовании MSTest Runner. Дополнительные сведения на https://aka.ms/mstest/sdk/extensions-profile", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.tr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.tr.json index 1de6366539af..9083dfa1c243 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.tr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.tr.json @@ -26,7 +26,7 @@ "symbols/langVersion/description": "Oluşturulan proje dosyasında LangVersion özelliğini ayarlar", "symbols/langVersion/displayName": "Dil sürümü", "symbols/UseMSTestSdk/description": "MSTest.Sdk proje stilini kullanın.. Daha fazla bilgi: https://aka.ms/mstest/sdk", - "symbols/UseMSTestSdk/displayName": "MSTest.Sdk’sını kullan", + "symbols/UseMSTestSdk/displayName": "MSTest.Sdk kullan", "symbols/TestRunner/description": "Çalıştırıcıyı/platformu seçin. Daha fazla bilgi: https://aka.ms/mstest/sdk/extensions-profile", "symbols/TestRunner/displayName": "Test çalıştırıcı", "symbols/TestRunner/choices/MSTest/description": "MSTest Çalıştırıcısı'nı kullan (Microsoft.Testing.Platform)", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hans.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hans.json index 24f4160c6432..d811e426cf71 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hans.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hans.json @@ -28,11 +28,11 @@ "symbols/UseMSTestSdk/description": "使用 MSTest.Sdk 项目样式。有关详细信息,请访问 https://aka.ms/mstest/sdk", "symbols/UseMSTestSdk/displayName": "使用 MSTest.Sdk", "symbols/TestRunner/description": "选择运行器/平台。有关详细信息,请访问 https://aka.ms/mstest/sdk/extensions-profile", - "symbols/TestRunner/displayName": "测试运行程序", + "symbols/TestRunner/displayName": "Test Runner", "symbols/TestRunner/choices/MSTest/description": "使用 MSTest 运行器(Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "使用 VSTest 平台", "symbols/CoverageTool/description": "要用于项目的覆盖率工具。", - "symbols/CoverageTool/displayName": "覆盖率工具", + "symbols/CoverageTool/displayName": "覆盖工具", "symbols/CoverageTool/choices/Microsoft.CodeCoverage/description": "Microsoft 代码覆盖率", "symbols/CoverageTool/choices/coverlet/description": "coverlet", "symbols/ExtensionsProfile/description": "使用 MSTest 运行器时选择 SDK 扩展配置文件。有关详细信息,请访问 https://aka.ms/mstest/sdk/extensions-profile", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hant.json index 22b497209460..a886650316d8 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-FSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 MacOS 版的 .NET 上執行的 MSTest 測試的專案。", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (僅限 Windows)", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.cs.json index 84992e4fa119..a8a550f6636c 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.cs.json @@ -4,8 +4,8 @@ "description": "Projekt obsahující testy MSTest, který se dá spustit na .NET v systémech Windows, Linux a MacOS.", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (jenom Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.es.json index 7d02ba6ffbbb..05357a642206 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (solo Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", @@ -16,7 +16,7 @@ "symbols/Framework/choices/net6.0-windows/description": ".NET 6 (solo Windows)", "symbols/Framework/choices/netcoreapp3.1/description": ".NET Core 3.1", "symbols/Framework/choices/net481/description": ".NET Framework 4.8.1", - "symbols/Framework/choices/net48/description": ".NET Framework 4.8", + "symbols/Framework/choices/net48/description": ".NET Framework 4.8", "symbols/Framework/choices/net472/description": ".NET Framework 4.7.2", "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.fr.json index 6679f4711bf1..92e4dafaba86 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.fr.json @@ -4,7 +4,7 @@ "description": "Un projet qui contient des tests MSTest pouvant être exécutés sur .NET sous Windows, Linux et MacOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (Windows uniquement)", @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.it.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.it.json index 2de6e9b0d37c..1ea9e99a0250 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.it.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.it.json @@ -3,7 +3,7 @@ "name": "Progetto di test MSTest", "description": "Progetto che contiene i test MSTest eseguibili in .NET in Windows, Linux e MacOS.", "symbols/TargetFrameworkOverride/description": "Ignora il framework di destinazione", - "symbols/TargetFrameworkOverride/displayName": "Sostituzione del framework di destinazione", + "symbols/TargetFrameworkOverride/displayName": "Override del framework di destinazione", "symbols/Framework/description": "Il framework di destinazione per il progetto.", "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", @@ -22,7 +22,7 @@ "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", "symbols/skipRestore/description": "Se specificato, ignora il ripristino automatico del progetto durante la creazione.", - "symbols/skipRestore/displayName": "Ignora ripristino", + "symbols/skipRestore/displayName": "Salta ripristino", "symbols/langVersion/description": "Imposta la proprietà LangVersion nel file di progetto creato", "symbols/langVersion/displayName": "Versione del linguaggio", "symbols/UseMSTestSdk/description": "Usare lo stile del progetto MSTest.Sdk. Per altre informazioni, vedere https://aka.ms/mstest/sdk", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pl.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pl.json index 702b44d00f54..88587962e77a 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pl.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pl.json @@ -3,9 +3,9 @@ "name": "MSTest — projekt testowy", "description": "Projekt zawierający testy MSTest, które mogą być uruchamiane na platformie .NET w systemach Windows, Linux i MacOS.", "symbols/TargetFrameworkOverride/description": "Zastępuje platformę docelową", - "symbols/TargetFrameworkOverride/displayName": "Odrzucenie platformy docelowej", + "symbols/TargetFrameworkOverride/displayName": "Zastąpienie struktury docelowej", "symbols/Framework/description": "Platforma docelowa dla tego projektu.", - "symbols/Framework/displayName": "Platforma", + "symbols/Framework/displayName": "Struktura", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (tylko system Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", From a2c4865870efd3cf36b054aa717ed7c484fd75bd Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 13 Dec 2024 15:37:23 -0800 Subject: [PATCH 113/171] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2601367 --- .../.template.config/localize/templatestrings.pt-BR.json | 4 ++-- .../.template.config/localize/templatestrings.ru.json | 2 +- .../.template.config/localize/templatestrings.tr.json | 4 ++-- .../localize/templatestrings.zh-Hans.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../.template.config/localize/templatestrings.cs.json | 6 +++--- .../.template.config/localize/templatestrings.de.json | 4 ++-- .../.template.config/localize/templatestrings.es.json | 2 +- .../.template.config/localize/templatestrings.fr.json | 6 +++--- .../.template.config/localize/templatestrings.pt-BR.json | 4 ++-- .../.template.config/localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../.template.config/localize/templatestrings.cs.json | 6 +++--- .../.template.config/localize/templatestrings.de.json | 2 +- .../.template.config/localize/templatestrings.es.json | 2 +- .../.template.config/localize/templatestrings.fr.json | 6 +++--- .../.template.config/localize/templatestrings.pt-BR.json | 4 ++-- .../.template.config/localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../.template.config/localize/templatestrings.cs.json | 6 +++--- .../.template.config/localize/templatestrings.de.json | 4 ++-- .../.template.config/localize/templatestrings.es.json | 2 +- .../.template.config/localize/templatestrings.fr.json | 6 +++--- .../.template.config/localize/templatestrings.pt-BR.json | 4 ++-- .../.template.config/localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../.template.config/localize/templatestrings.cs.json | 4 ++-- .../.template.config/localize/templatestrings.de.json | 2 +- .../.template.config/localize/templatestrings.es.json | 8 ++++---- .../.template.config/localize/templatestrings.fr.json | 4 ++-- .../.template.config/localize/templatestrings.it.json | 6 +++--- .../.template.config/localize/templatestrings.ja.json | 4 ++-- 32 files changed, 59 insertions(+), 59 deletions(-) diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pt-BR.json index a4d5aba9b4f8..b7bcad15ff0e 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.pt-BR.json @@ -4,7 +4,7 @@ "description": "Um projeto que contém testes do MSTest que podem ser executados no .NET no Windows, Linux e MacOS.", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (somente Windows)", @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.ru.json index a240b80377d6..c99f03d942c6 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.ru.json @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.tr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.tr.json index bc010fff2fb2..fce6490f1098 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.tr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.tr.json @@ -26,9 +26,9 @@ "symbols/langVersion/description": "Oluşturulan proje dosyasında LangVersion özelliğini ayarlar", "symbols/langVersion/displayName": "Dil sürümü", "symbols/UseMSTestSdk/description": "MSTest.Sdk proje stilini kullanın.. Daha fazla bilgi: https://aka.ms/mstest/sdk", - "symbols/UseMSTestSdk/displayName": "MSTest.Sdk’sını kullan", + "symbols/UseMSTestSdk/displayName": "MSTest.Sdk kullan", "symbols/TestRunner/description": "Çalıştırıcıyı/platformu seçin. Daha fazla bilgi: https://aka.ms/mstest/sdk/extensions-profile", - "symbols/TestRunner/displayName": "Çalıştırıcıyı test et", + "symbols/TestRunner/displayName": "Test çalıştırıcı", "symbols/TestRunner/choices/MSTest/description": "MSTest Çalıştırıcısı'nı kullan (Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "VSTest platformunu kullan", "symbols/CoverageTool/description": "Projede kullanılacak kapsam aracı.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hans.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hans.json index 5cfad0340162..2e8fbc98071e 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hans.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hans.json @@ -32,7 +32,7 @@ "symbols/TestRunner/choices/MSTest/description": "使用 MSTest 运行器(Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "使用 VSTest 平台", "symbols/CoverageTool/description": "要用于项目的覆盖率工具。", - "symbols/CoverageTool/displayName": "覆盖率工具", + "symbols/CoverageTool/displayName": "覆盖工具", "symbols/CoverageTool/choices/Microsoft.CodeCoverage/description": "Microsoft 代码覆盖率", "symbols/CoverageTool/choices/coverlet/description": "coverlet", "symbols/ExtensionsProfile/description": "使用 MSTest 运行器时选择 SDK 扩展配置文件。有关详细信息,请访问 https://aka.ms/mstest/sdk/extensions-profile", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json index d43072b1e195..cffcefad0282 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/MSTest-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 MacOS 版的 .NET 上執行的 MSTest 測試的專案。", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (僅限 Windows)", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.cs.json index 9954de885524..1567d5bdd390 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.cs.json @@ -4,9 +4,9 @@ "description": "Projekt obsahující testy NUnit, který se dá spustit na .NET v systémech Windows, Linux a macOS", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", - "symbols/Framework/choices/net9.0/description": "Target net9.0", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", + "symbols/Framework/choices/net9.0/description": "Cílit na net9.0", "symbols/EnablePack/description": "Určuje, jestli se má pro projekt povolit balení (přes „dotnet pack“).", "symbols/EnablePack/displayName": "Povolit balíček", "symbols/skipRestore/description": "Je-li zadáno, přeskočí automatické obnovení projektu při vytvoření.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.de.json index 633ac5a5448d..da9ff36b2ed0 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.de.json @@ -3,10 +3,10 @@ "name": "NUnit 3-Testprojekt", "description": "Ein Projekt, das NUnit-Tests enthält, die auf .NET unter Windows, Linux und macOS ausgeführt werden können.", "symbols/TargetFrameworkOverride/description": "Überschreibt das Zielframework", - "symbols/TargetFrameworkOverride/displayName": "Überschreibung des Zielframeworks", + "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", - "symbols/Framework/choices/net9.0/description": "Ziel net9.0", + "symbols/Framework/choices/net9.0/description": "Ziel-Net9.0", "symbols/EnablePack/description": "Gibt an, ob die Paketerstellung (über \"dotnet pack\") für das Projekt aktiviert werden soll.", "symbols/EnablePack/displayName": "Paket aktivieren", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.es.json index 3004c46be3f7..5a10e3e1f865 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": "Net9.0 de destino", "symbols/EnablePack/description": "Indica si se va a habilitar o no el empaquetado (a través de \"dotnet pack\") para el proyecto.", "symbols/EnablePack/displayName": "Habilitar paquete", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.fr.json index a374d6ad2ca8..3339a98a61be 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.fr.json @@ -4,12 +4,12 @@ "description": "Un projet qui contient des tests NUnit pouvant être exécutés sur .NET sous Windows, Linux et macOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", - "symbols/Framework/choices/net9.0/description": "Net9.0 cible", + "symbols/Framework/choices/net9.0/description": "Cible net9.0", "symbols/EnablePack/description": "Indique s’il faut activer ou non la création de packages (via « dotnet pack ») pour le projet.", "symbols/EnablePack/displayName": "Activer le pack", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json index e730b9fec3cc..b5af22256e8c 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json @@ -4,12 +4,12 @@ "description": "Um projeto que contém testes NUnit que podem ser executados no .NET no Windows, Linux e macOS", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": "Target net9.0", "symbols/EnablePack/description": "Se deseja ou não habilitar o empacotamento (via \"dotnet pack\") para o projeto.", "symbols/EnablePack/displayName": "Habilitar pacote", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.ru.json index f0c872ef07f1..14b936671cdd 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.ru.json @@ -9,7 +9,7 @@ "symbols/Framework/choices/net9.0/description": "Целевая среда net9.0", "symbols/EnablePack/description": "Следует ли включить упаковку (через \"dotnet pack\") для проекта.", "symbols/EnablePack/displayName": "Включить пакет", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json index cc5e6f68594d..4ed86907cb60 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 macOS 版的 .NET 上執行的 NUnit 測試的專案", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": "目標 net9.0", "symbols/EnablePack/description": "是否要啟用專案的封裝 (透過 \"dotnet pack\")。", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.cs.json index 44bce1dce044..17b979e77435 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.cs.json @@ -4,9 +4,9 @@ "description": "Projekt obsahující testy NUnit, který se dá spustit na .NET v systémech Windows, Linux a macOS", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", - "symbols/Framework/choices/net9.0/description": "Target net9.0", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", + "symbols/Framework/choices/net9.0/description": "Cílit na net9.0", "symbols/EnablePack/description": "Určuje, jestli se má pro projekt povolit balení (přes „dotnet pack“).", "symbols/EnablePack/displayName": "Povolit balíček", "symbols/skipRestore/description": "Je-li zadáno, přeskočí automatické obnovení projektu při vytvoření.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.de.json index 8bcf0524f5f4..e7cd2061243b 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.de.json @@ -6,7 +6,7 @@ "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", - "symbols/Framework/choices/net9.0/description": "Ziel net9.0", + "symbols/Framework/choices/net9.0/description": "Ziel-Net9.0", "symbols/EnablePack/description": "Gibt an, ob die Paketerstellung (über \"dotnet pack\") für das Projekt aktiviert werden soll.", "symbols/EnablePack/displayName": "Paket aktivieren", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.es.json index 77de98763d73..958794076797 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": "Net9.0 de destino", "symbols/EnablePack/description": "Indica si se va a habilitar o no el empaquetado (a través de \"dotnet pack\") para el proyecto.", "symbols/EnablePack/displayName": "Habilitar paquete", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.fr.json index 99261ea67f81..ef446b0b4e0d 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.fr.json @@ -4,12 +4,12 @@ "description": "Un projet qui contient des tests NUnit pouvant être exécutés sur .NET sous Windows, Linux et macOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", - "symbols/Framework/choices/net9.0/description": "Net9.0 cible", + "symbols/Framework/choices/net9.0/description": "Cible net9.0", "symbols/EnablePack/description": "Indique s’il faut activer ou non la création de packages (via « dotnet pack ») pour le projet.", "symbols/EnablePack/displayName": "Activer le pack", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json index ddf10204eb91..bbc318e96d0c 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json @@ -4,12 +4,12 @@ "description": "Um projeto que contém testes NUnit que podem ser executados no .NET no Windows, Linux e macOS", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": "Target net9.0", "symbols/EnablePack/description": "Se deseja ou não habilitar o empacotamento (via \"dotnet pack\") para o projeto.", "symbols/EnablePack/displayName": "Habilitar pacote", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.ru.json index bc6018415c7f..0bfd1cd4db43 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.ru.json @@ -9,7 +9,7 @@ "symbols/Framework/choices/net9.0/description": "Целевая среда net9.0", "symbols/EnablePack/description": "Следует ли включить упаковку (через \"dotnet pack\") для проекта.", "symbols/EnablePack/displayName": "Включить пакет", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json index 0a9ca0e9c48a..b38326f63f5e 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 macOS 版的 .NET 上執行的 NUnit 測試的專案", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": "目標 net9.0", "symbols/EnablePack/description": "是否要啟用專案的封裝 (透過 \"dotnet pack\")。", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.cs.json index 47c58110be13..5ee245121780 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.cs.json @@ -4,9 +4,9 @@ "description": "Projekt obsahující testy NUnit, který se dá spustit na .NET v systémech Windows, Linux a macOS", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", - "symbols/Framework/choices/net9.0/description": "Target net9.0", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", + "symbols/Framework/choices/net9.0/description": "Cílit na net9.0", "symbols/EnablePack/description": "Určuje, jestli se má pro projekt povolit balení (přes „dotnet pack“).", "symbols/EnablePack/displayName": "Povolit balíček", "symbols/skipRestore/description": "Je-li zadáno, přeskočí automatické obnovení projektu při vytvoření.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.de.json index c4f6de71fdfb..3c1713661d86 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.de.json @@ -3,10 +3,10 @@ "name": "NUnit 3-Testprojekt", "description": "Ein Projekt, das NUnit-Tests enthält, die auf .NET unter Windows, Linux und macOS ausgeführt werden können.", "symbols/TargetFrameworkOverride/description": "Überschreibt das Zielframework", - "symbols/TargetFrameworkOverride/displayName": "Überschreibung des Zielframeworks", + "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", - "symbols/Framework/choices/net9.0/description": "Ziel net9.0", + "symbols/Framework/choices/net9.0/description": "Ziel-Net9.0", "symbols/EnablePack/description": "Gibt an, ob die Paketerstellung (über \"dotnet pack\") für das Projekt aktiviert werden soll.", "symbols/EnablePack/displayName": "Paket aktivieren", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.es.json index 7646487e9a55..6cf619d7fbf8 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": "Net9.0 de destino", "symbols/EnablePack/description": "Indica si se va a habilitar o no el empaquetado (a través de \"dotnet pack\") para el proyecto.", "symbols/EnablePack/displayName": "Habilitar paquete", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.fr.json index 76baa5e9f88d..1a056a190e12 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.fr.json @@ -4,12 +4,12 @@ "description": "Un projet qui contient des tests NUnit pouvant être exécutés sur .NET sous Windows, Linux et macOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", - "symbols/Framework/choices/net9.0/description": "Net9.0 cible", + "symbols/Framework/choices/net9.0/description": "Cible net9.0", "symbols/EnablePack/description": "Indique s’il faut activer ou non la création de packages (via « dotnet pack ») pour le projet.", "symbols/EnablePack/displayName": "Activer le pack", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json index 8915b5105f24..9eac54284585 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json @@ -4,12 +4,12 @@ "description": "Um projeto que contém testes NUnit que podem ser executados no .NET no Windows, Linux e macOS", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": "Target net9.0", "symbols/EnablePack/description": "Se deseja ou não habilitar o empacotamento (via \"dotnet pack\") para o projeto.", "symbols/EnablePack/displayName": "Habilitar pacote", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.ru.json index 993d3034811c..784ae076de43 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.ru.json @@ -9,7 +9,7 @@ "symbols/Framework/choices/net9.0/description": "Целевая среда net9.0", "symbols/EnablePack/description": "Следует ли включить упаковку (через \"dotnet pack\") для проекта.", "symbols/EnablePack/displayName": "Включить пакет", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json index 6416181da161..1a285df07bfd 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/NUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 macOS 版的 .NET 上執行的 NUnit 測試的專案", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": "目標 net9.0", "symbols/EnablePack/description": "是否要啟用專案的封裝 (透過 \"dotnet pack\")。", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.cs.json index eef66383be40..e27a888b4ae0 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.cs.json @@ -4,8 +4,8 @@ "description": "Projekt, který obsahuje testy Playwright pomocí testovací architektury MSTest, který se dá spustit v .NET ve Windows, Linuxu a MacOS.", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (jenom Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.de.json index 7849c4e0eaba..958b73444284 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.de.json @@ -3,7 +3,7 @@ "name": "MSTest Playwright-Testprojekt", "description": "Ein Projekt, das Playwright-Tests mit MSTest-Testframework enthält, das unter .NET unter Windows, Linux und MacOS ausgeführt werden kann.", "symbols/TargetFrameworkOverride/description": "Überschreibt das Zielframework", - "symbols/TargetFrameworkOverride/displayName": "Überschreibung des Zielframeworks", + "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.es.json index c18173426fbb..8098cf564e2b 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (solo Windows)", "symbols/Framework/choices/net8.0/description": ".NET 8", @@ -16,7 +16,7 @@ "symbols/Framework/choices/net6.0-windows/description": ".NET 6 (solo Windows)", "symbols/Framework/choices/netcoreapp3.1/description": ".NET Core 3.1", "symbols/Framework/choices/net481/description": ".NET Framework 4.8.1", - "symbols/Framework/choices/net48/description": ".NET Framework 4.8", + "symbols/Framework/choices/net48/description": ".NET Framework 4.8", "symbols/Framework/choices/net472/description": ".NET Framework 4.7.2", "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", @@ -28,7 +28,7 @@ "symbols/UseMSTestSdk/description": "Use el estilo de proyecto MSTest.Sdk. Más información en https://aka.ms/mstest/sdk", "symbols/UseMSTestSdk/displayName": "Usar MSTest.Sdk", "symbols/TestRunner/description": "Seleccione el ejecutor o la plataforma. Más información en https://aka.ms/mstest/sdk/extensions-profile", - "symbols/TestRunner/displayName": "Test Runner", + "symbols/TestRunner/displayName": "Ejecutor de pruebas", "symbols/TestRunner/choices/MSTest/description": "Usar MSTest Runner (Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "Uso de la plataforma VSTest", "symbols/CoverageTool/description": "Herramienta de cobertura que se va a usar para el proyecto.", @@ -36,7 +36,7 @@ "symbols/CoverageTool/choices/Microsoft.CodeCoverage/description": "Cobertura de código de Microsoft", "symbols/CoverageTool/choices/coverlet/description": "cubrecama", "symbols/ExtensionsProfile/description": "Seleccione el perfil de extensiones del SDK al usar MSTest Runner. Más información en https://aka.ms/mstest/sdk/extensions-profile", - "symbols/ExtensionsProfile/displayName": "Prueba del perfil de extensiones", + "symbols/ExtensionsProfile/displayName": "Probar perfil de extensiones", "symbols/ExtensionsProfile/choices/Default/description": "Perfil de extensiones predeterminadas (recomendado)", "symbols/ExtensionsProfile/choices/Default/displayName": "Valor predeterminado", "symbols/ExtensionsProfile/choices/None/description": "No hay extensiones habilitadas", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.fr.json index 3cf4e3501ebb..c3e6705f65de 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.fr.json @@ -4,7 +4,7 @@ "description": "Un projet qui contient des tests Playwright utilisant le framework de test MSTest, qui peut être exécuté sur .NET sur Windows, Linux et MacOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (Windows uniquement)", @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.it.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.it.json index a5bf580dc1d6..de37dc493d31 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.it.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.it.json @@ -3,7 +3,7 @@ "name": "Progetto di test playwright MSTest", "description": "Progetto che contiene test Playwright che usano il framework di test MSTest, eseguibile in .NET in Windows, Linux e MacOS.", "symbols/TargetFrameworkOverride/description": "Ignora il framework di destinazione", - "symbols/TargetFrameworkOverride/displayName": "Sostituzione del framework di destinazione", + "symbols/TargetFrameworkOverride/displayName": "Override del framework di destinazione", "symbols/Framework/description": "Il framework di destinazione per il progetto.", "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": ".NET 9", @@ -22,7 +22,7 @@ "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", "symbols/skipRestore/description": "Se specificato, ignora il ripristino automatico del progetto durante la creazione.", - "symbols/skipRestore/displayName": "Ignora ripristino", + "symbols/skipRestore/displayName": "Salta ripristino", "symbols/langVersion/description": "Imposta la proprietà LangVersion nel file di progetto creato", "symbols/langVersion/displayName": "Versione del linguaggio", "symbols/UseMSTestSdk/description": "Usare lo stile del progetto MSTest.Sdk. Per altre informazioni, vedere https://aka.ms/mstest/sdk", @@ -38,7 +38,7 @@ "symbols/ExtensionsProfile/description": "Selezionare il profilo delle estensioni SDK quando si usa MSTest Runner. Per altre informazioni, vedere https://aka.ms/mstest/sdk/extensions-profile", "symbols/ExtensionsProfile/displayName": "Test del profilo delle estensioni", "symbols/ExtensionsProfile/choices/Default/description": "Profilo estensioni predefinito (scelta consigliata)", - "symbols/ExtensionsProfile/choices/Default/displayName": "Predefinita", + "symbols/ExtensionsProfile/choices/Default/displayName": "Impostazione predefinita", "symbols/ExtensionsProfile/choices/None/description": "Nessuna estensione abilitata", "symbols/ExtensionsProfile/choices/None/displayName": "Nessuno", "symbols/ExtensionsProfile/choices/AllMicrosoft/description": "Abilita tutte le estensioni spedite da Microsoft (incluse le estensioni con una licenza restrittiva)", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ja.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ja.json index ccefaf4b6587..821c9da66d1a 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ja.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ja.json @@ -26,9 +26,9 @@ "symbols/langVersion/description": "作成されたプロジェクト ファイルで LangVersion プロパティを設定します", "symbols/langVersion/displayName": "言語バージョン", "symbols/UseMSTestSdk/description": "MSTest.Sdk プロジェクト スタイルを使用します。https://aka.ms/mstest/sdk の詳細情報", - "symbols/UseMSTestSdk/displayName": "MSTest.Sdk を使用する", + "symbols/UseMSTestSdk/displayName": "MSTest.Sdk を使用します", "symbols/TestRunner/description": "ランナー/プラットフォームを選択します。https://aka.ms/mstest/sdk/extensions-profile の詳細情報", - "symbols/TestRunner/displayName": "テスト ランナー", + "symbols/TestRunner/displayName": "Test Runner", "symbols/TestRunner/choices/MSTest/description": "MSTest Runner を使用する (Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "VSTest プラットフォームを使用する", "symbols/CoverageTool/description": "プロジェクトに使用するカバレッジ ツール。", From 4eb7cdc68ae36e6f1dc95e24eb84773b132ed551 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 13 Dec 2024 15:38:36 -0800 Subject: [PATCH 114/171] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2601367 --- .../localize/templatestrings.pt-BR.json | 12 ++++++------ .../localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../localize/templatestrings.cs.json | 6 +++--- .../localize/templatestrings.de.json | 4 ++-- .../localize/templatestrings.es.json | 2 +- .../localize/templatestrings.fr.json | 6 +++--- .../localize/templatestrings.it.json | 4 ++-- .../localize/templatestrings.pt-BR.json | 10 +++++----- .../localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../localize/templatestrings.cs.json | 6 +++--- .../localize/templatestrings.de.json | 2 +- .../localize/templatestrings.es.json | 2 +- .../localize/templatestrings.fr.json | 6 +++--- .../localize/templatestrings.pl.json | 4 ++-- .../localize/templatestrings.pt-BR.json | 4 ++-- .../localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../localize/templatestrings.cs.json | 6 +++--- .../localize/templatestrings.de.json | 2 +- .../localize/templatestrings.es.json | 2 +- .../localize/templatestrings.fr.json | 6 +++--- .../localize/templatestrings.pt-BR.json | 4 ++-- .../localize/templatestrings.ru.json | 2 +- .../localize/templatestrings.zh-Hant.json | 2 +- .../localize/templatestrings.cs.json | 6 +++--- .../localize/templatestrings.de.json | 2 +- .../localize/templatestrings.es.json | 2 +- .../localize/templatestrings.fr.json | 6 +++--- 30 files changed, 60 insertions(+), 60 deletions(-) diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json index d6502e56a1b3..8db0f08822b7 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.pt-BR.json @@ -4,7 +4,7 @@ "description": "Um projeto que contém testes do Playwright usando a estrutura de teste MSTest, que pode ser executada no .NET no Windows, Linux e macOS.", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (somente Windows)", @@ -21,22 +21,22 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", "symbols/UseMSTestSdk/description": "Use o estilo de projeto MSTest.Sdk. Mais informações em https://aka.ms/mstest/sdk", - "symbols/UseMSTestSdk/displayName": "Usar MSTest.SDK", + "symbols/UseMSTestSdk/displayName": "Usar MSTest.Sdk", "symbols/TestRunner/description": "Selecione o executor/plataforma. Mais informações em https://aka.ms/mstest/sdk/extensions-profile", - "symbols/TestRunner/displayName": "Executar teste", + "symbols/TestRunner/displayName": "Executor de teste", "symbols/TestRunner/choices/MSTest/description": "Usar o MSTest Runner (Microsoft.Testing.Platform)", "symbols/TestRunner/choices/VSTest/description": "Usar a plataforma VSTest", "symbols/CoverageTool/description": "A ferramenta de cobertura a ser usada para o projeto.", - "symbols/CoverageTool/displayName": "Ferramenta de cobertura", + "symbols/CoverageTool/displayName": "Ferramenta Cobertura", "symbols/CoverageTool/choices/Microsoft.CodeCoverage/description": "Cobertura de Código da Microsoft", "symbols/CoverageTool/choices/coverlet/description": "coverlet", "symbols/ExtensionsProfile/description": "Selecione o perfil de extensões do SDK ao usar o Executor do MSTest. Mais informações em https://aka.ms/mstest/sdk/extensions-profile", - "symbols/ExtensionsProfile/displayName": "Perfil de extensões de teste", + "symbols/ExtensionsProfile/displayName": "Testando o perfil de extensões", "symbols/ExtensionsProfile/choices/Default/description": "Perfil de extensões padrão (recomendado)", "symbols/ExtensionsProfile/choices/Default/displayName": "Padrão", "symbols/ExtensionsProfile/choices/None/description": "Nenhuma extensão está habilitada", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ru.json index db078e96eb56..2d72493e43f0 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.ru.json @@ -21,7 +21,7 @@ "symbols/Framework/choices/net471/description": ".NET Framework 4.7.1", "symbols/Framework/choices/net47/description": ".NET Framework 4.7", "symbols/Framework/choices/net462/description": ".NET Framework 4.6.2", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json index fdb96e87b953..a539f412b4ca 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-MSTest-CSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 MacOS 版的 .NET 上執行、使用 MSTest 測試架構的 Playwright 測試的專案。", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": ".NET 9", "symbols/Framework/choices/net9.0-windows/description": ".NET 9 (僅限 Windows)", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.cs.json index 8e54470849b5..d0d6947f5cb9 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.cs.json @@ -4,9 +4,9 @@ "description": "Projekt, který obsahuje testy Playwright pomocí testovací architektury NUnit, který se dá spustit v .NET ve Windows, Linuxu a MacOS.", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", - "symbols/Framework/choices/net9.0/description": "Target net9.0", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", + "symbols/Framework/choices/net9.0/description": "Cílit na net9.0", "symbols/EnablePack/description": "Určuje, jestli se má pro projekt povolit balení (přes „dotnet pack“).", "symbols/EnablePack/displayName": "Povolit balíček", "symbols/skipRestore/description": "Je-li zadáno, přeskočí automatické obnovení projektu při vytvoření.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.de.json index 766534361e3a..539f8aa2430c 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.de.json @@ -3,10 +3,10 @@ "name": "NUnit Playwright-Testprojekt", "description": "Ein Projekt, das Playwright-Tests mit NUnit-Testframework enthält, das unter .NET unter Windows, Linux und MacOS ausgeführt werden kann.", "symbols/TargetFrameworkOverride/description": "Überschreibt das Zielframework", - "symbols/TargetFrameworkOverride/displayName": "Überschreibung des Zielframeworks", + "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", - "symbols/Framework/choices/net9.0/description": "Ziel net9.0", + "symbols/Framework/choices/net9.0/description": "Ziel-Net9.0", "symbols/EnablePack/description": "Gibt an, ob die Paketerstellung (über \"dotnet pack\") für das Projekt aktiviert werden soll.", "symbols/EnablePack/displayName": "Paket aktivieren", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.es.json index 1ad2bdb22d80..01fab2022610 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": "Net9.0 de destino", "symbols/EnablePack/description": "Indica si se va a habilitar o no el empaquetado (a través de \"dotnet pack\") para el proyecto.", "symbols/EnablePack/displayName": "Habilitar paquete", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.fr.json index 4adbfd743e7a..e2c22bd186a8 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.fr.json @@ -4,12 +4,12 @@ "description": "Un projet qui contient des tests Playwright utilisant le framework de test NUnit, qui peut fonctionner sur .NET sous Windows, Linux et MacOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", - "symbols/Framework/choices/net9.0/description": "Net9.0 cible", + "symbols/Framework/choices/net9.0/description": "Cible net9.0", "symbols/EnablePack/description": "Indique s’il faut activer ou non la création de packages (via « dotnet pack ») pour le projet.", "symbols/EnablePack/displayName": "Activer le pack", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "symbols/langVersion/description": "Définit la propriété LangVersion dans le fichier projet créé", "symbols/langVersion/displayName": "Version du langage", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.it.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.it.json index 066a2b7e8a28..0ded9d95344f 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.it.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.it.json @@ -3,14 +3,14 @@ "name": "Progetto di test playwright NUnit", "description": "Progetto che contiene test Playwright che usano il framework di test NUnit, eseguibile in .NET in Windows, Linux e MacOS.", "symbols/TargetFrameworkOverride/description": "Ignora il framework di destinazione", - "symbols/TargetFrameworkOverride/displayName": "Sostituzione del framework di destinazione", + "symbols/TargetFrameworkOverride/displayName": "Override del framework di destinazione", "symbols/Framework/description": "Il framework di destinazione per il progetto.", "symbols/Framework/displayName": "Framework", "symbols/Framework/choices/net9.0/description": "Net9.0 di destinazione", "symbols/EnablePack/description": "Indica se abilitare o meno la creazione del pacchetto (tramite \"dotnet pack\") per il progetto.", "symbols/EnablePack/displayName": "Abilita pacchetto", "symbols/skipRestore/description": "Se specificato, ignora il ripristino automatico del progetto durante la creazione.", - "symbols/skipRestore/displayName": "Ignora ripristino", + "symbols/skipRestore/displayName": "Salta ripristino", "symbols/langVersion/description": "Imposta la proprietà LangVersion nel file di progetto creato", "symbols/langVersion/displayName": "Versione del linguaggio", "postActions/restoreNugetPackages/description": "Ripristina i pacchetti NuGet richiesti da questo progetto.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json index b62468189344..1dc2cae77e35 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json @@ -3,14 +3,14 @@ "name": "Projeto de Teste NUnit do Playwright", "description": "Um projeto que contém testes do Playwright usando a estrutura de teste NUnit, que pode ser executada no .NET no Windows, Linux e macOS.", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", - "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": "Target net9.0", "symbols/EnablePack/description": "Se deseja ou não habilitar o empacotamento (via \"dotnet pack\") para o projeto.", - "symbols/EnablePack/displayName": "Habilitar pacote", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", - "symbols/skipRestore/displayName": "Ignorar restauração", + "symbols/EnablePack/displayName": "Habilitar pacote", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", + "symbols/skipRestore/displayName": "Ignorar restauração", "symbols/langVersion/description": "Define a propriedade LangVersion no arquivo do projeto criado", "symbols/langVersion/displayName": "Versão do idioma", "postActions/restoreNugetPackages/description": "Restaura os pacotes do NuGet exigidos por este projeto.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.ru.json index da495429668f..c302affb0893 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.ru.json @@ -9,7 +9,7 @@ "symbols/Framework/choices/net9.0/description": "Целевая среда net9.0", "symbols/EnablePack/description": "Следует ли включить упаковку (через \"dotnet pack\") для проекта.", "symbols/EnablePack/displayName": "Включить пакет", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "symbols/langVersion/description": "Задает свойство LangVersion в создаваемом файле проекта.", "symbols/langVersion/displayName": "Версия языка", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json index 844dc1a6560b..27bd75b7c5c4 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/Playwright-NUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 MacOS 版的 .NET 上執行、使用 NUnit 測試架構的 Playwright 測試的專案。", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": "目標 net9.0", "symbols/EnablePack/description": "是否要啟用專案的封裝 (透過 \"dotnet pack\")。", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.cs.json index d0080f216ec4..c645286a18f5 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.cs.json @@ -4,9 +4,9 @@ "description": "Projekt obsahující testy xUnit.net, které je možné spustit na .NET ve Windows, Linuxu a macOS", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", - "symbols/Framework/choices/net9.0/description": "Target net9.0", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", + "symbols/Framework/choices/net9.0/description": "Cílit na net9.0", "symbols/EnablePack/description": "Určuje, jestli se má pro projekt povolit balení (přes „dotnet pack“).", "symbols/EnablePack/displayName": "Povolit balíček", "symbols/skipRestore/description": "Je-li zadáno, přeskočí automatické obnovení projektu při vytvoření.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.de.json index c36da154c4f4..69b0d8b0349b 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.de.json @@ -6,7 +6,7 @@ "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", - "symbols/Framework/choices/net9.0/description": "Ziel net9.0", + "symbols/Framework/choices/net9.0/description": "Ziel-Net9.0", "symbols/EnablePack/description": "Gibt an, ob die Paketerstellung (über \"dotnet pack\") für das Projekt aktiviert werden soll.", "symbols/EnablePack/displayName": "Paket aktivieren", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.es.json index e3665a5882dc..f95bee3966eb 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": "Net9.0 de destino", "symbols/EnablePack/description": "Indica si se va a habilitar o no el empaquetado (a través de \"dotnet pack\") para el proyecto.", "symbols/EnablePack/displayName": "Habilitar paquete", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.fr.json index bb0caa1c3a4e..567db059a9f3 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.fr.json @@ -4,12 +4,12 @@ "description": "Un projet qui contient des tests xUnit.net qui peuvent être exécutés sur .NET sous Windows, Linux et macOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", - "symbols/Framework/choices/net9.0/description": "Net9.0 cible", + "symbols/Framework/choices/net9.0/description": "Cible net9.0", "symbols/EnablePack/description": "Indique s’il faut activer ou non la création de packages (via « dotnet pack ») pour le projet.", "symbols/EnablePack/displayName": "Activer le pack", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "postActions/restoreNugetPackages/description": "Restaurez les packages NuGet requis par ce projet.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Exécutez « dotnet restore »", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pl.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pl.json index d802efacf9d0..11cfecf91103 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pl.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pl.json @@ -3,9 +3,9 @@ "name": "xUnit — projekt testowy", "description": "Projekt zawierający testy xUnit.net, które mogą być uruchamiane na platformie .NET w systemach Windows, Linux i macOS", "symbols/TargetFrameworkOverride/description": "Zastępuje platformę docelową", - "symbols/TargetFrameworkOverride/displayName": "Odrzucenie platformy docelowej", + "symbols/TargetFrameworkOverride/displayName": "Zastąpienie struktury docelowej", "symbols/Framework/description": "Platforma docelowa dla tego projektu.", - "symbols/Framework/displayName": "Platforma", + "symbols/Framework/displayName": "Struktura", "symbols/Framework/choices/net9.0/description": "Docelowa platforma net9.0", "symbols/EnablePack/description": "Określa, czy włączyć pakowanie (za pośrednictwem „pakietu dotnet”) dla projektu.", "symbols/EnablePack/displayName": "Włącz pakiet", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json index a99c65709407..a527498fd256 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.pt-BR.json @@ -4,12 +4,12 @@ "description": "Um projeto que contém testes xUnit.net que podem ser executados no .NET no Windows, Linux e macOS", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": "Target net9.0", "symbols/EnablePack/description": "Se deseja ou não habilitar o empacotamento (via \"dotnet pack\") para o projeto.", "symbols/EnablePack/displayName": "Habilitar pacote", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "postActions/restoreNugetPackages/description": "Restaura os pacotes do NuGet exigidos por este projeto.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Executa \"dotnet restore\"", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.ru.json index a35d248e8b58..0b16fe6ce227 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.ru.json @@ -9,7 +9,7 @@ "symbols/Framework/choices/net9.0/description": "Целевая среда net9.0", "symbols/EnablePack/description": "Следует ли включить упаковку (через \"dotnet pack\") для проекта.", "symbols/EnablePack/displayName": "Включить пакет", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "postActions/restoreNugetPackages/description": "Восстановление пакетов NuGet, необходимых для этого проекта.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Выполнить команду \"dotnet restore\"", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json index c45a20b5c6d5..eb527ef209f7 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-CSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 macOS 版的 .NET 上執行的 xUnit.net 測試的專案", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": "目標 net9.0", "symbols/EnablePack/description": "是否要啟用專案的封裝 (透過 \"dotnet pack\")。", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.cs.json index 65c41424cc2e..54290aa811c6 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.cs.json @@ -4,9 +4,9 @@ "description": "Projekt obsahující testy xUnit.net, které je možné spustit na .NET ve Windows, Linuxu a macOS", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", - "symbols/Framework/choices/net9.0/description": "Target net9.0", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", + "symbols/Framework/choices/net9.0/description": "Cílit na net9.0", "symbols/EnablePack/description": "Určuje, jestli se má pro projekt povolit balení (přes „dotnet pack“).", "symbols/EnablePack/displayName": "Povolit balíček", "symbols/skipRestore/description": "Je-li zadáno, přeskočí automatické obnovení projektu při vytvoření.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.de.json index 388456f070ce..9ae8ef5ceb47 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.de.json @@ -6,7 +6,7 @@ "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", - "symbols/Framework/choices/net9.0/description": "Ziel net9.0", + "symbols/Framework/choices/net9.0/description": "Ziel-Net9.0", "symbols/EnablePack/description": "Gibt an, ob die Paketerstellung (über \"dotnet pack\") für das Projekt aktiviert werden soll.", "symbols/EnablePack/displayName": "Paket aktivieren", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.es.json index 20d717c22293..bb16a81adab4 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": "Net9.0 de destino", "symbols/EnablePack/description": "Indica si se va a habilitar o no el empaquetado (a través de \"dotnet pack\") para el proyecto.", "symbols/EnablePack/displayName": "Habilitar paquete", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.fr.json index 6e6ba438a796..3e1bbf7bcc1e 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.fr.json @@ -4,12 +4,12 @@ "description": "Un projet qui contient des tests xUnit.net qui peuvent être exécutés sur .NET sous Windows, Linux et macOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", - "symbols/Framework/choices/net9.0/description": "Net9.0 cible", + "symbols/Framework/choices/net9.0/description": "Cible net9.0", "symbols/EnablePack/description": "Indique s’il faut activer ou non la création de packages (via « dotnet pack ») pour le projet.", "symbols/EnablePack/displayName": "Activer le pack", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "postActions/restoreNugetPackages/description": "Restaurez les packages NuGet requis par ce projet.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Exécutez « dotnet restore »", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json index 210719f75632..e601f9d6eca9 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.pt-BR.json @@ -4,12 +4,12 @@ "description": "Um projeto que contém testes xUnit.net que podem ser executados no .NET no Windows, Linux e macOS", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": "Target net9.0", "symbols/EnablePack/description": "Se deseja ou não habilitar o empacotamento (via \"dotnet pack\") para o projeto.", "symbols/EnablePack/displayName": "Habilitar pacote", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "postActions/restoreNugetPackages/description": "Restaura os pacotes do NuGet exigidos por este projeto.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Executa \"dotnet restore\"", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.ru.json index 2361f4dd8cb9..192e70f7f0e3 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.ru.json @@ -9,7 +9,7 @@ "symbols/Framework/choices/net9.0/description": "Целевая среда net9.0", "symbols/EnablePack/description": "Следует ли включить упаковку (через \"dotnet pack\") для проекта.", "symbols/EnablePack/displayName": "Включить пакет", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "postActions/restoreNugetPackages/description": "Восстановление пакетов NuGet, необходимых для этого проекта.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Выполнить команду \"dotnet restore\"", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json index ce4a0c7c2ef4..a0bc945b2784 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-FSharp/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 macOS 版的 .NET 上執行的 xUnit.net 測試的專案", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": "目標 net9.0", "symbols/EnablePack/description": "是否要啟用專案的封裝 (透過 \"dotnet pack\")。", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.cs.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.cs.json index d0080f216ec4..c645286a18f5 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.cs.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.cs.json @@ -4,9 +4,9 @@ "description": "Projekt obsahující testy xUnit.net, které je možné spustit na .NET ve Windows, Linuxu a macOS", "symbols/TargetFrameworkOverride/description": "Přepíše cílovou architekturu.", "symbols/TargetFrameworkOverride/displayName": "Přepsání cílové architektury", - "symbols/Framework/description": "Cílová architektura pro projekt.", - "symbols/Framework/displayName": "Architektura", - "symbols/Framework/choices/net9.0/description": "Target net9.0", + "symbols/Framework/description": "Cílová architektura pro projekt", + "symbols/Framework/displayName": "Framework", + "symbols/Framework/choices/net9.0/description": "Cílit na net9.0", "symbols/EnablePack/description": "Určuje, jestli se má pro projekt povolit balení (přes „dotnet pack“).", "symbols/EnablePack/displayName": "Povolit balíček", "symbols/skipRestore/description": "Je-li zadáno, přeskočí automatické obnovení projektu při vytvoření.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.de.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.de.json index c36da154c4f4..69b0d8b0349b 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.de.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.de.json @@ -6,7 +6,7 @@ "symbols/TargetFrameworkOverride/displayName": "Zielframeworküberschreibung", "symbols/Framework/description": "Das Zielframework für das Projekt.", "symbols/Framework/displayName": "Framework", - "symbols/Framework/choices/net9.0/description": "Ziel net9.0", + "symbols/Framework/choices/net9.0/description": "Ziel-Net9.0", "symbols/EnablePack/description": "Gibt an, ob die Paketerstellung (über \"dotnet pack\") für das Projekt aktiviert werden soll.", "symbols/EnablePack/displayName": "Paket aktivieren", "symbols/skipRestore/description": "Wenn angegeben, wird die automatische Wiederherstellung des Projekts beim Erstellen übersprungen.", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.es.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.es.json index e3665a5882dc..f95bee3966eb 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.es.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.es.json @@ -5,7 +5,7 @@ "symbols/TargetFrameworkOverride/description": "Invalida la plataforma de destino", "symbols/TargetFrameworkOverride/displayName": "Invalidación de la plataforma de destino", "symbols/Framework/description": "Marco de destino del proyecto.", - "symbols/Framework/displayName": "Marco", + "symbols/Framework/displayName": "Plataforma", "symbols/Framework/choices/net9.0/description": "Net9.0 de destino", "symbols/EnablePack/description": "Indica si se va a habilitar o no el empaquetado (a través de \"dotnet pack\") para el proyecto.", "symbols/EnablePack/displayName": "Habilitar paquete", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.fr.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.fr.json index bb0caa1c3a4e..567db059a9f3 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.fr.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.fr.json @@ -4,12 +4,12 @@ "description": "Un projet qui contient des tests xUnit.net qui peuvent être exécutés sur .NET sous Windows, Linux et macOS.", "symbols/TargetFrameworkOverride/description": "Remplace l’infrastructure cible", "symbols/TargetFrameworkOverride/displayName": "Remplacement du cadre cible", - "symbols/Framework/description": "Framework cible du projet.", + "symbols/Framework/description": "Le cadre cible du projet.", "symbols/Framework/displayName": "Infrastructure", - "symbols/Framework/choices/net9.0/description": "Net9.0 cible", + "symbols/Framework/choices/net9.0/description": "Cible net9.0", "symbols/EnablePack/description": "Indique s’il faut activer ou non la création de packages (via « dotnet pack ») pour le projet.", "symbols/EnablePack/displayName": "Activer le pack", - "symbols/skipRestore/description": "S’il est spécifié, ignore la restauration automatique du projet lors de la création.", + "symbols/skipRestore/description": "Si spécifié, ignore la restauration automatique du projet lors de la création.", "symbols/skipRestore/displayName": "Ignorer la restauration", "postActions/restoreNugetPackages/description": "Restaurez les packages NuGet requis par ce projet.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Exécutez « dotnet restore »", From 38bed41a1c2570cf5ad0e925e664879da51b73c5 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 13 Dec 2024 15:39:50 -0800 Subject: [PATCH 115/171] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2601367 --- .../.template.config/localize/templatestrings.ja.json | 2 +- .../.template.config/localize/templatestrings.pt-BR.json | 4 ++-- .../.template.config/localize/templatestrings.ru.json | 2 +- .../.template.config/localize/templatestrings.zh-Hant.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ja.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ja.json index c7a225c1033d..f58e744cdd11 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ja.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ja.json @@ -10,7 +10,7 @@ "symbols/EnablePack/description": "(\"dotnet pack\" を使用して) プロジェクトのパッケージ化を有効にするかどうか。", "symbols/EnablePack/displayName": "パックを有効にする", "symbols/skipRestore/description": "指定した場合、作成時にプロジェクトの自動復元がスキップされます。", - "symbols/skipRestore/displayName": "復元をスキップする", + "symbols/skipRestore/displayName": "復元のスキップ", "postActions/restoreNugetPackages/description": "このプロジェクトに必要な NuGet パッケージを復元します。", "postActions/restoreNugetPackages/manualInstructions/default/text": "'dotnet restore' を実行する", "postActions/openInEditor/description": "エディターで Class1.cs を開きます" diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json index a99c65709407..a527498fd256 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.pt-BR.json @@ -4,12 +4,12 @@ "description": "Um projeto que contém testes xUnit.net que podem ser executados no .NET no Windows, Linux e macOS", "symbols/TargetFrameworkOverride/description": "Substitui a estrutura de destino", "symbols/TargetFrameworkOverride/displayName": "Substituição da estrutura de destino", - "symbols/Framework/description": "A estrutura de destino do projeto.", + "symbols/Framework/description": "A estrutura de destino para o projeto.", "symbols/Framework/displayName": "Estrutura", "symbols/Framework/choices/net9.0/description": "Target net9.0", "symbols/EnablePack/description": "Se deseja ou não habilitar o empacotamento (via \"dotnet pack\") para o projeto.", "symbols/EnablePack/displayName": "Habilitar pacote", - "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto sendo criado.", + "symbols/skipRestore/description": "Se especificado, ignora a restauração automática do projeto na criação.", "symbols/skipRestore/displayName": "Ignorar restauração", "postActions/restoreNugetPackages/description": "Restaura os pacotes do NuGet exigidos por este projeto.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Executa \"dotnet restore\"", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ru.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ru.json index a35d248e8b58..0b16fe6ce227 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ru.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.ru.json @@ -9,7 +9,7 @@ "symbols/Framework/choices/net9.0/description": "Целевая среда net9.0", "symbols/EnablePack/description": "Следует ли включить упаковку (через \"dotnet pack\") для проекта.", "symbols/EnablePack/displayName": "Включить пакет", - "symbols/skipRestore/description": "Позволяет пропускать автоматическое восстановление проекта при создании.", + "symbols/skipRestore/description": "Если указано, пропускает автоматическое восстановление проекта при создании.", "symbols/skipRestore/displayName": "Пропустить восстановление", "postActions/restoreNugetPackages/description": "Восстановление пакетов NuGet, необходимых для этого проекта.", "postActions/restoreNugetPackages/manualInstructions/default/text": "Выполнить команду \"dotnet restore\"", diff --git a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json index c45a20b5c6d5..eb527ef209f7 100644 --- a/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json +++ b/template_feed/Microsoft.DotNet.Common.ProjectTemplates.9.0/content/XUnit-VisualBasic/.template.config/localize/templatestrings.zh-Hant.json @@ -4,7 +4,7 @@ "description": "包含可以在 Windows、Linux 和 macOS 版的 .NET 上執行的 xUnit.net 測試的專案", "symbols/TargetFrameworkOverride/description": "覆寫目標 Framework", "symbols/TargetFrameworkOverride/displayName": "目標架構覆寫", - "symbols/Framework/description": "專案的目標 Framework。", + "symbols/Framework/description": "專案的目標架構。", "symbols/Framework/displayName": "架構", "symbols/Framework/choices/net9.0/description": "目標 net9.0", "symbols/EnablePack/description": "是否要啟用專案的封裝 (透過 \"dotnet pack\")。", From d3cec6262ffeb85766d1ed502323d1c4f3a9da0f Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Fri, 13 Dec 2024 16:01:33 -0800 Subject: [PATCH 116/171] Localized file check-in by OneLocBuild Task: Build definition ID 140: Build ID 2601367 --- .../Resources/xlf/Strings.cs.xlf | 4 ++-- .../Resources/xlf/Strings.de.xlf | 4 ++-- .../Resources/xlf/Strings.ko.xlf | 4 ++-- .../Resources/xlf/Strings.zh-Hans.xlf | 4 ++-- .../Resources/xlf/Strings.zh-Hant.xlf | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf index f0d7173a9cea..56b98f4f4cd9 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.cs.xlf @@ -291,7 +291,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Nepovedlo se vytvořit tarball pro image OCI s více značkami. @@ -421,7 +421,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + Nepovedlo se vytvořit tarball pro mediaType {0}. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf index ea8fc611e0a0..545d0dc00bbb 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.de.xlf @@ -291,7 +291,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + Der Tarball für das oci-Bild mit mehreren Kategorien kann nicht erstellt werden. @@ -421,7 +421,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + Tarball für mediaType „{0}“ kann nicht erstellt werden. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf index 2ff624cec676..7d7291903301 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.ko.xlf @@ -291,7 +291,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + 태그가 여러 개 있는 OCI 이미지에 대한 tarball을 만들 수 없습니다. @@ -421,7 +421,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + mediaType '{0}' 대한 tarball을 만들 수 없습니다. diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf index 8eb6429f7db6..a6ce861640fb 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hans.xlf @@ -291,7 +291,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + 无法为具有多个标记的 oci 图像创建 tarball。 @@ -421,7 +421,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + 无法为 mediaType“{0}”创建 tarball。 diff --git a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf index 892b174bbe97..9f996943121e 100644 --- a/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/Containers/Microsoft.NET.Build.Containers/Resources/xlf/Strings.zh-Hant.xlf @@ -291,7 +291,7 @@ Unable to create tarball for oci image with multiple tags. - Unable to create tarball for oci image with multiple tags. + 無法為具有多個標籤的 oci 影像建立 tarball。 @@ -421,7 +421,7 @@ Unable to create tarball for mediaType '{0}'. - Unable to create tarball for mediaType '{0}'. + 無法為 mediaType '{0}' 建立 tarball。 From 2b6bb081f7fb208c0df88ed5ef6973b3948168c3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 14 Dec 2024 00:46:48 +0000 Subject: [PATCH 117/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.10 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.10 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d5340edab502..b9a6252f0d06 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 - + https://github.com/dotnet/roslyn - fe3a243bd58966b3e683c9d038321ddb498ff043 + 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 3ac38b76f088..dd542bd04e11 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.9 - 4.13.0-3.24613.9 - 4.13.0-3.24613.9 - 4.13.0-3.24613.9 - 4.13.0-3.24613.9 - 4.13.0-3.24613.9 - 4.13.0-3.24613.9 - 4.13.0-3.24613.9 + 4.13.0-3.24613.10 + 4.13.0-3.24613.10 + 4.13.0-3.24613.10 + 4.13.0-3.24613.10 + 4.13.0-3.24613.10 + 4.13.0-3.24613.10 + 4.13.0-3.24613.10 + 4.13.0-3.24613.10 From 4442d1475056ab3de9b313418899e139d936c7c7 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 14 Dec 2024 01:13:50 +0000 Subject: [PATCH 118/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.11 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.11 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b9a6252f0d06..b4400b6474e0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 - + https://github.com/dotnet/roslyn - 2eca5b28c9dd60e09fe4ebdc8544b9efce18d713 + e30d638a088846f390ac7e4fef2209c6202b2d87 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index dd542bd04e11..8dc50d80c14a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.10 - 4.13.0-3.24613.10 - 4.13.0-3.24613.10 - 4.13.0-3.24613.10 - 4.13.0-3.24613.10 - 4.13.0-3.24613.10 - 4.13.0-3.24613.10 - 4.13.0-3.24613.10 + 4.13.0-3.24613.11 + 4.13.0-3.24613.11 + 4.13.0-3.24613.11 + 4.13.0-3.24613.11 + 4.13.0-3.24613.11 + 4.13.0-3.24613.11 + 4.13.0-3.24613.11 + 4.13.0-3.24613.11 From dbba0b6a6e5a1a9e0302bed959f762bdcccf1631 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 14 Dec 2024 05:06:13 +0000 Subject: [PATCH 119/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.13 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.13 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b4400b6474e0..9261bded9900 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 - + https://github.com/dotnet/roslyn - e30d638a088846f390ac7e4fef2209c6202b2d87 + bd782d403db6077929309549391ba526cadedc91 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 8dc50d80c14a..4bb3879e45d2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.11 - 4.13.0-3.24613.11 - 4.13.0-3.24613.11 - 4.13.0-3.24613.11 - 4.13.0-3.24613.11 - 4.13.0-3.24613.11 - 4.13.0-3.24613.11 - 4.13.0-3.24613.11 + 4.13.0-3.24613.13 + 4.13.0-3.24613.13 + 4.13.0-3.24613.13 + 4.13.0-3.24613.13 + 4.13.0-3.24613.13 + 4.13.0-3.24613.13 + 4.13.0-3.24613.13 + 4.13.0-3.24613.13 From b2002887ded909ff4b2ef3a570fe03490232f86f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 14 Dec 2024 09:59:42 +0000 Subject: [PATCH 120/171] Update dependencies from https://github.com/dotnet/roslyn build 20241213.14 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24613.14 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9261bded9900..e9faba42667f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 - + https://github.com/dotnet/roslyn - bd782d403db6077929309549391ba526cadedc91 + bf617ef799cf741877bb181a16e25bd841f04e25 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 4bb3879e45d2..9090f735d9c7 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.13 - 4.13.0-3.24613.13 - 4.13.0-3.24613.13 - 4.13.0-3.24613.13 - 4.13.0-3.24613.13 - 4.13.0-3.24613.13 - 4.13.0-3.24613.13 - 4.13.0-3.24613.13 + 4.13.0-3.24613.14 + 4.13.0-3.24613.14 + 4.13.0-3.24613.14 + 4.13.0-3.24613.14 + 4.13.0-3.24613.14 + 4.13.0-3.24613.14 + 4.13.0-3.24613.14 + 4.13.0-3.24613.14 From e9ad6d2fc2915ebb90d00602f9a329acb41f47b9 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Sat, 14 Dec 2024 14:02:57 +0100 Subject: [PATCH 121/171] check that dotnetRoot is not null --- .../MSBuildSdkResolver.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index d05e5f369ce7..f1507b8b9f92 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -195,8 +195,10 @@ private sealed class CachedState minimumVSDefinedSDKVersion); } - string dotnetExe = Path.Combine(dotnetRoot, Constants.DotNetExe); - if (File.Exists(dotnetExe)) + string? dotnetExe = !string.IsNullOrEmpty(dotnetRoot) ? + Path.Combine(dotnetRoot, Constants.DotNetExe) : + null; + if (!string.IsNullOrEmpty(dotnetExe) && File.Exists(dotnetExe)) { propertiesToAdd ??= new Dictionary(); propertiesToAdd.Add(DotnetHost, dotnetExe); From bb2c730a786cf0ee1a6e1ff67f674aa33c3ea514 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Sat, 14 Dec 2024 14:59:18 +0100 Subject: [PATCH 122/171] small fix --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index f1507b8b9f92..4d1198753afa 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -195,7 +195,7 @@ private sealed class CachedState minimumVSDefinedSDKVersion); } - string? dotnetExe = !string.IsNullOrEmpty(dotnetRoot) ? + string? dotnetExe = dotnetRoot != null ? Path.Combine(dotnetRoot, Constants.DotNetExe) : null; if (!string.IsNullOrEmpty(dotnetExe) && File.Exists(dotnetExe)) From ce5d0b69e18b5d2af956aadc3e4e46d84882eb84 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Sat, 14 Dec 2024 15:08:07 +0100 Subject: [PATCH 123/171] small fix --- .../Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 4d1198753afa..1f9535fc7fce 100644 --- a/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -198,7 +198,7 @@ private sealed class CachedState string? dotnetExe = dotnetRoot != null ? Path.Combine(dotnetRoot, Constants.DotNetExe) : null; - if (!string.IsNullOrEmpty(dotnetExe) && File.Exists(dotnetExe)) + if (File.Exists(dotnetExe)) { propertiesToAdd ??= new Dictionary(); propertiesToAdd.Add(DotnetHost, dotnetExe); From f47f791724b5f0a6bb5cb432943c7b2db667239b Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 14 Dec 2024 18:32:25 +0000 Subject: [PATCH 124/171] Update dependencies from https://github.com/dotnet/roslyn build 20241214.1 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24614.1 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e9faba42667f..85454a9b13d0 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef - + https://github.com/dotnet/roslyn - bf617ef799cf741877bb181a16e25bd841f04e25 + 757c76079441ed57f82354cc147966dc53f2aeef https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 9090f735d9c7..b84dcb4f61da 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24613.14 - 4.13.0-3.24613.14 - 4.13.0-3.24613.14 - 4.13.0-3.24613.14 - 4.13.0-3.24613.14 - 4.13.0-3.24613.14 - 4.13.0-3.24613.14 - 4.13.0-3.24613.14 + 4.13.0-3.24614.1 + 4.13.0-3.24614.1 + 4.13.0-3.24614.1 + 4.13.0-3.24614.1 + 4.13.0-3.24614.1 + 4.13.0-3.24614.1 + 4.13.0-3.24614.1 + 4.13.0-3.24614.1 From da459a66ff18dc1218d52cd1c24473ecd993dee0 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 14 Dec 2024 20:40:42 +0000 Subject: [PATCH 125/171] Update dependencies from https://github.com/dotnet/roslyn build 20241214.2 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24614.2 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 85454a9b13d0..50a13a61723f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef - + https://github.com/dotnet/roslyn - 757c76079441ed57f82354cc147966dc53f2aeef + 0f804a3b4f9dea2ca456e30365f0bf17158b59ef https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index b84dcb4f61da..5e20eeca30e1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24614.1 - 4.13.0-3.24614.1 - 4.13.0-3.24614.1 - 4.13.0-3.24614.1 - 4.13.0-3.24614.1 - 4.13.0-3.24614.1 - 4.13.0-3.24614.1 - 4.13.0-3.24614.1 + 4.13.0-3.24614.2 + 4.13.0-3.24614.2 + 4.13.0-3.24614.2 + 4.13.0-3.24614.2 + 4.13.0-3.24614.2 + 4.13.0-3.24614.2 + 4.13.0-3.24614.2 + 4.13.0-3.24614.2 From 0e217401f05c0c3d98ade1818a74a218d9fe0935 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sat, 14 Dec 2024 20:58:44 +0000 Subject: [PATCH 126/171] Update dependencies from https://github.com/dotnet/fsharp build 20241214.1 Microsoft.SourceBuild.Intermediate.fsharp , Microsoft.FSharp.Compiler From Version 9.0.200-beta.24612.2 -> To Version 9.0.200-beta.24614.1 --- 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 fd6bae3f5727..cfe4e761e0c9 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -83,14 +83,14 @@ 8f6b8ad0ace90c777c66711c907227fcfb6f2efe - + https://github.com/dotnet/fsharp - a052d35ffeccd4743a3b3fd9cdaa8d0a907f3de3 + 673e82bb3f4649a3c5b7977d213b4503f4ffd934 - + https://github.com/dotnet/fsharp - a052d35ffeccd4743a3b3fd9cdaa8d0a907f3de3 + 673e82bb3f4649a3c5b7977d213b4503f4ffd934 diff --git a/eng/Versions.props b/eng/Versions.props index 7def57e55c4d..6e3bc940ce9c 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ - 13.9.200-beta.24613.2 + 13.9.200-beta.24614.1 From acaba34a1064655e8872e15b324152e34d0f3105 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 15 Dec 2024 05:07:33 +0000 Subject: [PATCH 127/171] Update dependencies from https://github.com/dotnet/roslyn build 20241214.3 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24614.3 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 50a13a61723f..94eecca9195e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 - + https://github.com/dotnet/roslyn - 0f804a3b4f9dea2ca456e30365f0bf17158b59ef + e61569c67e0366a45467f9ef6356181876d86f19 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 5e20eeca30e1..45b72365bdda 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24614.2 - 4.13.0-3.24614.2 - 4.13.0-3.24614.2 - 4.13.0-3.24614.2 - 4.13.0-3.24614.2 - 4.13.0-3.24614.2 - 4.13.0-3.24614.2 - 4.13.0-3.24614.2 + 4.13.0-3.24614.3 + 4.13.0-3.24614.3 + 4.13.0-3.24614.3 + 4.13.0-3.24614.3 + 4.13.0-3.24614.3 + 4.13.0-3.24614.3 + 4.13.0-3.24614.3 + 4.13.0-3.24614.3 From b456b8e38f823acac842c35a6a8d5d1900e4a4fd Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Sun, 15 Dec 2024 06:29:51 +0000 Subject: [PATCH 128/171] Update dependencies from https://github.com/dotnet/roslyn build 20241214.4 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24613.3 -> To Version 4.13.0-3.24614.4 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 94eecca9195e..6437c958109b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 - + https://github.com/dotnet/roslyn - e61569c67e0366a45467f9ef6356181876d86f19 + 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 45b72365bdda..188e332bb384 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24614.3 - 4.13.0-3.24614.3 - 4.13.0-3.24614.3 - 4.13.0-3.24614.3 - 4.13.0-3.24614.3 - 4.13.0-3.24614.3 - 4.13.0-3.24614.3 - 4.13.0-3.24614.3 + 4.13.0-3.24614.4 + 4.13.0-3.24614.4 + 4.13.0-3.24614.4 + 4.13.0-3.24614.4 + 4.13.0-3.24614.4 + 4.13.0-3.24614.4 + 4.13.0-3.24614.4 + 4.13.0-3.24614.4 From 817ed91653f6d4c8d3ddb6e735bfb2c7e2bd0b25 Mon Sep 17 00:00:00 2001 From: Surayya Huseyn Zada Date: Sun, 15 Dec 2024 18:13:53 +0100 Subject: [PATCH 129/171] fix test for unix --- .../GivenAnMSBuildSdkResolver.cs | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs index ce2ceceb0515..ba6bee057b4d 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/GivenAnMSBuildSdkResolver.cs @@ -202,8 +202,16 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuild(bool disallo result.Success.Should().BeTrue($"No error expected. Error encountered: {string.Join(Environment.NewLine, result.Errors ?? new string[] { })}. Mocked Process Path: {environment.ProcessPath}. Mocked Path: {environment.PathEnvironmentVariable}"); result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); - result.PropertiesToAdd.Count.Should().Be(2); - result.PropertiesToAdd.Should().ContainKey(DotnetHost); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + // DotnetHost is the path to dotnet.exe. Can be only on Windows. + result.PropertiesToAdd.Count.Should().Be(2); + result.PropertiesToAdd.Should().ContainKey(DotnetHost); + } + else + { + result.PropertiesToAdd.Count.Should().Be(1); + } result.PropertiesToAdd.Should().ContainKey(MSBuildTaskHostRuntimeVersion); result.PropertiesToAdd[MSBuildTaskHostRuntimeVersion].Should().Be("mockRuntimeVersion"); result.Version.Should().Be(disallowPreviews ? "98.98.98" : "99.99.99-preview"); @@ -279,8 +287,16 @@ public void ItReturnsHighestSdkAvailableThatIsCompatibleWithMSBuildWhenVersionIn result.Success.Should().BeTrue($"No error expected. Error encountered: {string.Join(Environment.NewLine, result.Errors ?? new string[] { })}. Mocked Process Path: {environment.ProcessPath}. Mocked Path: {environment.PathEnvironmentVariable}"); result.Path.Should().Be((disallowPreviews ? compatibleRtm : compatiblePreview).FullName); result.AdditionalPaths.Should().BeNull(); - result.PropertiesToAdd.Count.Should().Be(4); - result.PropertiesToAdd.Should().ContainKey(DotnetHost); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + // DotnetHost is the path to dotnet.exe. Can be only on Windows. + result.PropertiesToAdd.Count.Should().Be(4); + result.PropertiesToAdd.Should().ContainKey(DotnetHost); + } + else + { + result.PropertiesToAdd.Count.Should().Be(3); + } result.PropertiesToAdd.Should().ContainKey(MSBuildTaskHostRuntimeVersion); result.PropertiesToAdd[MSBuildTaskHostRuntimeVersion].Should().Be("mockRuntimeVersion"); result.PropertiesToAdd.Should().ContainKey("SdkResolverHonoredGlobalJson"); From 6045fcd2c2b3071db4981984ece0a7c03a54c319 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 16 Dec 2024 14:38:34 +0000 Subject: [PATCH 130/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241216.1 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24611.2 -> To Version 9.0.0-beta.24616.1 --- eng/Version.Details.xml | 28 ++++++++++++++-------------- eng/Versions.props | 12 ++++++------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b44ea8c34766..1e334ed3f85a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,34 +426,34 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink - 7134623ce41d6320339150849cdd838c8f6d2853 + ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink - 7134623ce41d6320339150849cdd838c8f6d2853 + ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink - 7134623ce41d6320339150849cdd838c8f6d2853 + ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink - 7134623ce41d6320339150849cdd838c8f6d2853 + ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink - 7134623ce41d6320339150849cdd838c8f6d2853 + ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink - 7134623ce41d6320339150849cdd838c8f6d2853 + ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink - 7134623ce41d6320339150849cdd838c8f6d2853 + ab3010a0189f338e28097210c537dd6dc09a655f diff --git a/eng/Versions.props b/eng/Versions.props index 188e332bb384..646c992d540b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -275,12 +275,12 @@ - 9.0.0-beta.24611.2 - 9.0.0-beta.24611.2 - 9.0.0-beta.24611.2 - 9.0.0-beta.24611.2 - 9.0.0-beta.24611.2 - 9.0.0-beta.24611.2 + 9.0.0-beta.24616.1 + 9.0.0-beta.24616.1 + 9.0.0-beta.24616.1 + 9.0.0-beta.24616.1 + 9.0.0-beta.24616.1 + 9.0.0-beta.24616.1 From a9b4b97fefba7b7f4835d9432a54efba0d522bf2 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 16 Dec 2024 18:51:54 +0000 Subject: [PATCH 131/171] Update dependencies from https://github.com/dotnet/fsharp build 20241216.2 Microsoft.SourceBuild.Intermediate.fsharp , Microsoft.FSharp.Compiler From Version 9.0.200-beta.24612.2 -> To Version 9.0.200-beta.24616.2 --- 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 cfe4e761e0c9..af0aa5fb41b4 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -83,14 +83,14 @@ 8f6b8ad0ace90c777c66711c907227fcfb6f2efe - + https://github.com/dotnet/fsharp - 673e82bb3f4649a3c5b7977d213b4503f4ffd934 + ea682d03f95e8e87c4d130e7b0871f6a5a9a2d2c - + https://github.com/dotnet/fsharp - 673e82bb3f4649a3c5b7977d213b4503f4ffd934 + ea682d03f95e8e87c4d130e7b0871f6a5a9a2d2c diff --git a/eng/Versions.props b/eng/Versions.props index 6e3bc940ce9c..471ca410099b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ - 13.9.200-beta.24614.1 + 13.9.200-beta.24616.2 From d718cd0cfb4a5b7d3c7e124fb021a7c0828405ff Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 16 Dec 2024 22:19:26 +0000 Subject: [PATCH 132/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.2 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.2 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index b44ea8c34766..a868bf61b999 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 - + https://github.com/dotnet/roslyn - 633f34af4fe019eaf0c2e830bdc07c891ecd49f7 + 1715a86114c4f8b6ea2d68db00dc2502da8237d6 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 188e332bb384..114aedf76ee6 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24614.4 - 4.13.0-3.24614.4 - 4.13.0-3.24614.4 - 4.13.0-3.24614.4 - 4.13.0-3.24614.4 - 4.13.0-3.24614.4 - 4.13.0-3.24614.4 - 4.13.0-3.24614.4 + 4.13.0-3.24616.2 + 4.13.0-3.24616.2 + 4.13.0-3.24616.2 + 4.13.0-3.24616.2 + 4.13.0-3.24616.2 + 4.13.0-3.24616.2 + 4.13.0-3.24616.2 + 4.13.0-3.24616.2 From 88f27a0aa9a74f3f5e94759c2207c576ab6d4774 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 16 Dec 2024 22:55:01 +0000 Subject: [PATCH 133/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.3 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.3 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index a868bf61b999..4f5d1c4535df 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 - + https://github.com/dotnet/roslyn - 1715a86114c4f8b6ea2d68db00dc2502da8237d6 + cb456acaa410d40cff32720aa815260c68c0b365 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 114aedf76ee6..a2d5eee88caf 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.2 - 4.13.0-3.24616.2 - 4.13.0-3.24616.2 - 4.13.0-3.24616.2 - 4.13.0-3.24616.2 - 4.13.0-3.24616.2 - 4.13.0-3.24616.2 - 4.13.0-3.24616.2 + 4.13.0-3.24616.3 + 4.13.0-3.24616.3 + 4.13.0-3.24616.3 + 4.13.0-3.24616.3 + 4.13.0-3.24616.3 + 4.13.0-3.24616.3 + 4.13.0-3.24616.3 + 4.13.0-3.24616.3 From bd05e8587479bcda99f1443deb36017c8b2db4b6 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 16 Dec 2024 23:41:27 +0000 Subject: [PATCH 134/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.4 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.4 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4f5d1c4535df..303ca6090495 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e - + https://github.com/dotnet/roslyn - cb456acaa410d40cff32720aa815260c68c0b365 + 03361d4d36758e05d0c507977fa32159d02e2a2e https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index a2d5eee88caf..feec277930f8 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.3 - 4.13.0-3.24616.3 - 4.13.0-3.24616.3 - 4.13.0-3.24616.3 - 4.13.0-3.24616.3 - 4.13.0-3.24616.3 - 4.13.0-3.24616.3 - 4.13.0-3.24616.3 + 4.13.0-3.24616.4 + 4.13.0-3.24616.4 + 4.13.0-3.24616.4 + 4.13.0-3.24616.4 + 4.13.0-3.24616.4 + 4.13.0-3.24616.4 + 4.13.0-3.24616.4 + 4.13.0-3.24616.4 From 2d9c975a6adde3b16387581165947df06fda1148 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 16 Dec 2024 23:56:57 +0000 Subject: [PATCH 135/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.1 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.1 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 303ca6090495..ed8461814c8d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc - + https://github.com/dotnet/roslyn - 03361d4d36758e05d0c507977fa32159d02e2a2e + 192c9ccc0e43791e8145c7b4cc09e665993551fc https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index feec277930f8..68e686512633 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.4 - 4.13.0-3.24616.4 - 4.13.0-3.24616.4 - 4.13.0-3.24616.4 - 4.13.0-3.24616.4 - 4.13.0-3.24616.4 - 4.13.0-3.24616.4 - 4.13.0-3.24616.4 + 4.13.0-3.24616.1 + 4.13.0-3.24616.1 + 4.13.0-3.24616.1 + 4.13.0-3.24616.1 + 4.13.0-3.24616.1 + 4.13.0-3.24616.1 + 4.13.0-3.24616.1 + 4.13.0-3.24616.1 From 53e947754d292447fa1c40e99a419958115b092a Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 01:13:34 +0000 Subject: [PATCH 136/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241216.2 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24611.2 -> To Version 9.0.0-beta.24616.2 --- eng/Version.Details.xml | 14 +++++++------- eng/Versions.props | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1e334ed3f85a..25b15d3cf253 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,32 +426,32 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink ab3010a0189f338e28097210c537dd6dc09a655f - + https://github.com/dotnet/sourcelink ab3010a0189f338e28097210c537dd6dc09a655f diff --git a/eng/Versions.props b/eng/Versions.props index 646c992d540b..953c655a54a2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -275,12 +275,12 @@ - 9.0.0-beta.24616.1 - 9.0.0-beta.24616.1 - 9.0.0-beta.24616.1 - 9.0.0-beta.24616.1 - 9.0.0-beta.24616.1 - 9.0.0-beta.24616.1 + 9.0.0-beta.24616.2 + 9.0.0-beta.24616.2 + 9.0.0-beta.24616.2 + 9.0.0-beta.24616.2 + 9.0.0-beta.24616.2 + 9.0.0-beta.24616.2 From fa665f8579ea66c42a086332ad4ead5b3a6c9be0 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 01:43:25 +0000 Subject: [PATCH 137/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.8 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.8 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ed8461814c8d..10b98912bc8e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 - + https://github.com/dotnet/roslyn - 192c9ccc0e43791e8145c7b4cc09e665993551fc + 9d7f6dff57cba0690af7a382b4043103207d9e58 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 68e686512633..b5873874f417 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.1 - 4.13.0-3.24616.1 - 4.13.0-3.24616.1 - 4.13.0-3.24616.1 - 4.13.0-3.24616.1 - 4.13.0-3.24616.1 - 4.13.0-3.24616.1 - 4.13.0-3.24616.1 + 4.13.0-3.24616.8 + 4.13.0-3.24616.8 + 4.13.0-3.24616.8 + 4.13.0-3.24616.8 + 4.13.0-3.24616.8 + 4.13.0-3.24616.8 + 4.13.0-3.24616.8 + 4.13.0-3.24616.8 From ab25edcbeeba1a24168be0e2cd3b50c8b5284ea7 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 01:50:18 +0000 Subject: [PATCH 138/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.7 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.7 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 10b98912bc8e..94ba43b88b16 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 - + https://github.com/dotnet/roslyn - 9d7f6dff57cba0690af7a382b4043103207d9e58 + d6eb229fa408d47d906131016a4f0d4a7106a422 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index b5873874f417..3f0a65fea801 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.8 - 4.13.0-3.24616.8 - 4.13.0-3.24616.8 - 4.13.0-3.24616.8 - 4.13.0-3.24616.8 - 4.13.0-3.24616.8 - 4.13.0-3.24616.8 - 4.13.0-3.24616.8 + 4.13.0-3.24616.7 + 4.13.0-3.24616.7 + 4.13.0-3.24616.7 + 4.13.0-3.24616.7 + 4.13.0-3.24616.7 + 4.13.0-3.24616.7 + 4.13.0-3.24616.7 + 4.13.0-3.24616.7 From 4308e7faf3b937c59a23195c9862185f7a0bb632 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 02:37:45 +0000 Subject: [PATCH 139/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.9 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.9 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 94ba43b88b16..1067b78abebf 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 - + https://github.com/dotnet/roslyn - d6eb229fa408d47d906131016a4f0d4a7106a422 + f90fe256a9859a0affcc800ad5a6eaa035a33780 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 3f0a65fea801..04af42aa51aa 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.7 - 4.13.0-3.24616.7 - 4.13.0-3.24616.7 - 4.13.0-3.24616.7 - 4.13.0-3.24616.7 - 4.13.0-3.24616.7 - 4.13.0-3.24616.7 - 4.13.0-3.24616.7 + 4.13.0-3.24616.9 + 4.13.0-3.24616.9 + 4.13.0-3.24616.9 + 4.13.0-3.24616.9 + 4.13.0-3.24616.9 + 4.13.0-3.24616.9 + 4.13.0-3.24616.9 + 4.13.0-3.24616.9 From 6691909bbdd86f00a98ffc5509f4208f79af5e38 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 03:49:39 +0000 Subject: [PATCH 140/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.11 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.11 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 1067b78abebf..637a09787875 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 - + https://github.com/dotnet/roslyn - f90fe256a9859a0affcc800ad5a6eaa035a33780 + 86c3401dff7ce11be29fda846ef5e466095cd4e6 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 04af42aa51aa..f5260a9b4a59 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.9 - 4.13.0-3.24616.9 - 4.13.0-3.24616.9 - 4.13.0-3.24616.9 - 4.13.0-3.24616.9 - 4.13.0-3.24616.9 - 4.13.0-3.24616.9 - 4.13.0-3.24616.9 + 4.13.0-3.24616.11 + 4.13.0-3.24616.11 + 4.13.0-3.24616.11 + 4.13.0-3.24616.11 + 4.13.0-3.24616.11 + 4.13.0-3.24616.11 + 4.13.0-3.24616.11 + 4.13.0-3.24616.11 From 7248d438f0c8f10e210299d9dc626d26bc363954 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 04:09:53 +0000 Subject: [PATCH 141/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.12 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.12 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 637a09787875..9786ce14a725 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 - + https://github.com/dotnet/roslyn - 86c3401dff7ce11be29fda846ef5e466095cd4e6 + 6010f78844e6c19932be80cb6e6b896733bad582 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index f5260a9b4a59..e429d1953424 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.11 - 4.13.0-3.24616.11 - 4.13.0-3.24616.11 - 4.13.0-3.24616.11 - 4.13.0-3.24616.11 - 4.13.0-3.24616.11 - 4.13.0-3.24616.11 - 4.13.0-3.24616.11 + 4.13.0-3.24616.12 + 4.13.0-3.24616.12 + 4.13.0-3.24616.12 + 4.13.0-3.24616.12 + 4.13.0-3.24616.12 + 4.13.0-3.24616.12 + 4.13.0-3.24616.12 + 4.13.0-3.24616.12 From 8072b008a6e8930843717b392da90969e9f14217 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 09:13:08 +0000 Subject: [PATCH 142/171] Update dependencies from https://github.com/dotnet/roslyn build 20241216.15 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24616.15 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 9786ce14a725..80f4de74f6ad 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 - + https://github.com/dotnet/roslyn - 6010f78844e6c19932be80cb6e6b896733bad582 + fc4c9a15cb83ef78c9aa5756322b5515560c0b40 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index e429d1953424..7d904e9c258b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.12 - 4.13.0-3.24616.12 - 4.13.0-3.24616.12 - 4.13.0-3.24616.12 - 4.13.0-3.24616.12 - 4.13.0-3.24616.12 - 4.13.0-3.24616.12 - 4.13.0-3.24616.12 + 4.13.0-3.24616.15 + 4.13.0-3.24616.15 + 4.13.0-3.24616.15 + 4.13.0-3.24616.15 + 4.13.0-3.24616.15 + 4.13.0-3.24616.15 + 4.13.0-3.24616.15 + 4.13.0-3.24616.15 From 7015c2cb18f1b855374ac09b6d21bf21db811d86 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 10:02:19 +0000 Subject: [PATCH 143/171] Update dependencies from https://github.com/dotnet/scenario-tests build 20241217.2 Microsoft.SourceBuild.Intermediate.scenario-tests , Microsoft.DotNet.ScenarioTests.SdkTemplateTests From Version 9.0.0-preview.24514.1 -> To Version 9.0.0-preview.24617.2 --- 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 25b15d3cf253..11f92c12f43b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -597,14 +597,14 @@ https://github.com/dotnet/arcade-services 47e3672c762970073e4282bd563233da86bcca3e - + https://github.com/dotnet/scenario-tests - 1009e3b6d23e049de56b91de82fe975fe84444f8 + 643219946c3266f3a41bf7b7e2d0224865d2ddf8 - + https://github.com/dotnet/scenario-tests - 1009e3b6d23e049de56b91de82fe975fe84444f8 + 643219946c3266f3a41bf7b7e2d0224865d2ddf8 From 40564ff01270019a8460d2474482c73fdc6161f9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 11:32:45 +0000 Subject: [PATCH 144/171] Update dependencies from https://github.com/dotnet/roslyn build 20241217.1 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24617.1 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 80f4de74f6ad..f9efb05ed36b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc - + https://github.com/dotnet/roslyn - fc4c9a15cb83ef78c9aa5756322b5515560c0b40 + dad234d27bf0727966cef20be883b23a02eaeccc https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 7d904e9c258b..9e5dfc6679e2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24616.15 - 4.13.0-3.24616.15 - 4.13.0-3.24616.15 - 4.13.0-3.24616.15 - 4.13.0-3.24616.15 - 4.13.0-3.24616.15 - 4.13.0-3.24616.15 - 4.13.0-3.24616.15 + 4.13.0-3.24617.1 + 4.13.0-3.24617.1 + 4.13.0-3.24617.1 + 4.13.0-3.24617.1 + 4.13.0-3.24617.1 + 4.13.0-3.24617.1 + 4.13.0-3.24617.1 + 4.13.0-3.24617.1 From 41f76bbbf86255366c52447cb81ff0656bf0af34 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 11:38:44 +0000 Subject: [PATCH 145/171] Update dependencies from https://github.com/dotnet/roslyn build 20241217.2 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24617.2 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index f9efb05ed36b..73953e0c06bb 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b - + https://github.com/dotnet/roslyn - dad234d27bf0727966cef20be883b23a02eaeccc + f827454b444ace7da713ea95bcebdb88f461fe7b https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index 9e5dfc6679e2..c99b7919b1d9 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24617.1 - 4.13.0-3.24617.1 - 4.13.0-3.24617.1 - 4.13.0-3.24617.1 - 4.13.0-3.24617.1 - 4.13.0-3.24617.1 - 4.13.0-3.24617.1 - 4.13.0-3.24617.1 + 4.13.0-3.24617.2 + 4.13.0-3.24617.2 + 4.13.0-3.24617.2 + 4.13.0-3.24617.2 + 4.13.0-3.24617.2 + 4.13.0-3.24617.2 + 4.13.0-3.24617.2 + 4.13.0-3.24617.2 From 9d1cdbae3c8b3c9deb71f23455043e46d950504f Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 12:27:21 +0000 Subject: [PATCH 146/171] Update dependencies from https://github.com/nuget/nuget.client build 6.13.0.98 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 From Version 6.13.0-rc.95 -> To Version 6.13.0-rc.98 --- eng/Version.Details.xml | 68 ++++++++++++++++++++--------------------- eng/Versions.props | 24 +++++++-------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 25b15d3cf253..aa11aa5d4e61 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -139,74 +139,74 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore af22effae4069a5dfb9b0735859de48820104f5b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b - + https://github.com/nuget/nuget.client - f6f635eebfdddd88b8856f830e0f0ffa168540eb + c60352c138a25e8a4bde0775a7c2e0600b186b0b https://github.com/microsoft/vstest diff --git a/eng/Versions.props b/eng/Versions.props index 953c655a54a2..cecfcb571bf2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -135,18 +135,18 @@ - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 - 6.13.0-rc.95 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 + 6.13.0-rc.98 From 4b1eadf84529c54cd228dbc5ae25933de6005a78 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 12:56:20 +0000 Subject: [PATCH 147/171] Update dependencies from https://github.com/dotnet/roslyn build 20241217.3 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.CodeAnalysis.CSharp.CodeStyle , Microsoft.CodeAnalysis.CSharp.Features , Microsoft.CodeAnalysis.CSharp.Workspaces , Microsoft.CodeAnalysis.Workspaces.MSBuild , Microsoft.Net.Compilers.Toolset , Microsoft.Net.Compilers.Toolset.Framework From Version 4.13.0-3.24614.4 -> To Version 4.13.0-3.24617.3 --- eng/Version.Details.xml | 36 ++++++++++++++++++------------------ eng/Versions.props | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 73953e0c06bb..e361d0eb9e0c 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -93,43 +93,43 @@ 6a93b9976d7f98673428ab5a4e2af96e02118d33 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 - + https://github.com/dotnet/roslyn - f827454b444ace7da713ea95bcebdb88f461fe7b + f9ccce030d8fdcc2ea095e095b71316d243c5b35 https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore diff --git a/eng/Versions.props b/eng/Versions.props index c99b7919b1d9..960290f2d094 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -202,14 +202,14 @@ - 4.13.0-3.24617.2 - 4.13.0-3.24617.2 - 4.13.0-3.24617.2 - 4.13.0-3.24617.2 - 4.13.0-3.24617.2 - 4.13.0-3.24617.2 - 4.13.0-3.24617.2 - 4.13.0-3.24617.2 + 4.13.0-3.24617.3 + 4.13.0-3.24617.3 + 4.13.0-3.24617.3 + 4.13.0-3.24617.3 + 4.13.0-3.24617.3 + 4.13.0-3.24617.3 + 4.13.0-3.24617.3 + 4.13.0-3.24617.3 From 5bae1a80fa4004c49197bf5585d4309ac739bb63 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 14:44:05 +0000 Subject: [PATCH 148/171] Update dependencies from https://github.com/dotnet/sourcelink build 20241217.1 Microsoft.SourceBuild.Intermediate.sourcelink , Microsoft.Build.Tasks.Git , Microsoft.SourceLink.AzureRepos.Git , Microsoft.SourceLink.Bitbucket.Git , Microsoft.SourceLink.Common , Microsoft.SourceLink.GitHub , Microsoft.SourceLink.GitLab From Version 9.0.0-beta.24616.2 -> To Version 9.0.0-beta.24617.1 --- eng/Version.Details.xml | 28 ++++++++++++++-------------- eng/Versions.props | 12 ++++++------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 25b15d3cf253..134996da424e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -426,34 +426,34 @@ https://github.com/dotnet/deployment-tools 7871ee378dce87b64d930d4f33dca9c888f4034d - + https://github.com/dotnet/sourcelink - ab3010a0189f338e28097210c537dd6dc09a655f + 4e176206614b345352885b55491aeb51bf77526b - + https://github.com/dotnet/sourcelink - ab3010a0189f338e28097210c537dd6dc09a655f + 4e176206614b345352885b55491aeb51bf77526b - + https://github.com/dotnet/sourcelink - ab3010a0189f338e28097210c537dd6dc09a655f + 4e176206614b345352885b55491aeb51bf77526b - + https://github.com/dotnet/sourcelink - ab3010a0189f338e28097210c537dd6dc09a655f + 4e176206614b345352885b55491aeb51bf77526b - + https://github.com/dotnet/sourcelink - ab3010a0189f338e28097210c537dd6dc09a655f + 4e176206614b345352885b55491aeb51bf77526b - + https://github.com/dotnet/sourcelink - ab3010a0189f338e28097210c537dd6dc09a655f + 4e176206614b345352885b55491aeb51bf77526b - + https://github.com/dotnet/sourcelink - ab3010a0189f338e28097210c537dd6dc09a655f + 4e176206614b345352885b55491aeb51bf77526b diff --git a/eng/Versions.props b/eng/Versions.props index 953c655a54a2..31499a6b36a6 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -275,12 +275,12 @@ - 9.0.0-beta.24616.2 - 9.0.0-beta.24616.2 - 9.0.0-beta.24616.2 - 9.0.0-beta.24616.2 - 9.0.0-beta.24616.2 - 9.0.0-beta.24616.2 + 9.0.0-beta.24617.1 + 9.0.0-beta.24617.1 + 9.0.0-beta.24617.1 + 9.0.0-beta.24617.1 + 9.0.0-beta.24617.1 + 9.0.0-beta.24617.1 From d9050174af1772d2255fd318ea95369b3f1903a3 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Tue, 17 Dec 2024 16:05:29 +0000 Subject: [PATCH 149/171] Update dependencies from https://github.com/dotnet/fsharp build 20241217.1 Microsoft.SourceBuild.Intermediate.fsharp , Microsoft.FSharp.Compiler From Version 9.0.200-beta.24612.2 -> To Version 9.0.200-beta.24617.1 --- 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 af0aa5fb41b4..0fd921f88a6a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -83,14 +83,14 @@ 8f6b8ad0ace90c777c66711c907227fcfb6f2efe - + https://github.com/dotnet/fsharp - ea682d03f95e8e87c4d130e7b0871f6a5a9a2d2c + 5af96504f10836eca6ce804ab3cdd28c042fa35a - + https://github.com/dotnet/fsharp - ea682d03f95e8e87c4d130e7b0871f6a5a9a2d2c + 5af96504f10836eca6ce804ab3cdd28c042fa35a diff --git a/eng/Versions.props b/eng/Versions.props index 471ca410099b..1fcf2c4612f1 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -198,7 +198,7 @@ - 13.9.200-beta.24616.2 + 13.9.200-beta.24617.1 From e6ddbd1ac31c79d69ab7f3ba5f8c20343396e94f Mon Sep 17 00:00:00 2001 From: Andres Pineda Date: Tue, 3 Dec 2024 00:58:05 -0500 Subject: [PATCH 150/171] fix(cli): dotnet help new link opening --- .../Commands/ICommandDocument.cs | 18 ++++++++++++++++++ .../Commands/NewCommand.cs | 4 +++- src/Cli/dotnet/DocumentedCommand.cs | 5 +++-- .../dotnet/commands/dotnet-help/HelpCommand.cs | 3 ++- 4 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 src/Cli/Microsoft.TemplateEngine.Cli/Commands/ICommandDocument.cs diff --git a/src/Cli/Microsoft.TemplateEngine.Cli/Commands/ICommandDocument.cs b/src/Cli/Microsoft.TemplateEngine.Cli/Commands/ICommandDocument.cs new file mode 100644 index 000000000000..2af15b6d0c20 --- /dev/null +++ b/src/Cli/Microsoft.TemplateEngine.Cli/Commands/ICommandDocument.cs @@ -0,0 +1,18 @@ +// 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; + +namespace Microsoft.TemplateEngine.Cli.Commands; + +/// +/// If a implements this interface, it can open +/// its documentation page online. +/// +public interface ICommandDocument +{ + /// + /// The URL to the documentation page for this command. + /// + string DocsLink { get; } +} diff --git a/src/Cli/Microsoft.TemplateEngine.Cli/Commands/NewCommand.cs b/src/Cli/Microsoft.TemplateEngine.Cli/Commands/NewCommand.cs index 62444b8c13d2..d94840fe09d5 100644 --- a/src/Cli/Microsoft.TemplateEngine.Cli/Commands/NewCommand.cs +++ b/src/Cli/Microsoft.TemplateEngine.Cli/Commands/NewCommand.cs @@ -8,7 +8,7 @@ namespace Microsoft.TemplateEngine.Cli.Commands { - internal partial class NewCommand : BaseCommand, ICustomHelp + internal partial class NewCommand : BaseCommand, ICustomHelp, ICommandDocument { internal NewCommand( string commandName, @@ -44,6 +44,8 @@ internal NewCommand( Options.Add(SharedOptions.ProjectPathOption); } + public string DocsLink { get; } = "https://aka.ms/dotnet-new"; + internal static CliOption DebugCustomSettingsLocationOption { get; } = new("--debug:custom-hive") { Description = SymbolStrings.Option_Debug_CustomSettings, diff --git a/src/Cli/dotnet/DocumentedCommand.cs b/src/Cli/dotnet/DocumentedCommand.cs index 06e49c47126c..53b346eaf5ab 100644 --- a/src/Cli/dotnet/DocumentedCommand.cs +++ b/src/Cli/dotnet/DocumentedCommand.cs @@ -2,12 +2,13 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.CommandLine; +using Microsoft.TemplateEngine.Cli.Commands; namespace Microsoft.DotNet.Cli { - public class DocumentedCommand : CliCommand + public class DocumentedCommand : CliCommand, ICommandDocument { - public string DocsLink { get; set; } + public string DocsLink { get; } public DocumentedCommand(string name, string docsLink, string description = null) : base(name, description) { diff --git a/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs b/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs index bb847901cc6b..8671bbd6eee2 100644 --- a/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs +++ b/src/Cli/dotnet/commands/dotnet-help/HelpCommand.cs @@ -5,6 +5,7 @@ using System.Diagnostics; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; +using Microsoft.TemplateEngine.Cli.Commands; namespace Microsoft.DotNet.Tools.Help { @@ -101,7 +102,7 @@ public int Execute() private bool TryGetDocsLink(string[] command, out string docsLink) { var parsedCommand = Parser.Instance.Parse(["dotnet", .. command]); - if (parsedCommand?.CommandResult?.Command is DocumentedCommand dc) + if (parsedCommand?.CommandResult?.Command is ICommandDocument dc) { docsLink = dc.DocsLink; return true; From 5fc518d421255218cf575a517ee403eb5ed38398 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 18 Dec 2024 06:54:32 -0500 Subject: [PATCH 151/171] Update src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props Co-authored-by: Jeff Kluge --- .../targets/Microsoft.NET.Sdk.props | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props index 73f89886b87c..7d9a8585a230 100644 --- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props +++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props @@ -170,7 +170,10 @@ Copyright (c) .NET Foundation. All rights reserved. - + From a6ba4fa5f4da2d154265c291043e0e71b68ef5ef Mon Sep 17 00:00:00 2001 From: Tim Mulholland Date: Wed, 18 Dec 2024 10:52:14 -0800 Subject: [PATCH 152/171] Change Aspire RunSessionRequest definition (#45515) --- .../AspireService/Models/RunSessionRequest.cs | 2 +- .../AspireServerServiceTests.cs | 30 +++++++++++++++++ .../Mocks/IAspireServerEventsMock.cs | 32 ++++++++++++------- 3 files changed, 52 insertions(+), 12 deletions(-) diff --git a/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs b/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs index f2b9bc496675..32d52181449f 100644 --- a/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs +++ b/src/BuiltInTools/AspireService/Models/RunSessionRequest.cs @@ -58,7 +58,7 @@ internal class RunSessionRequest public EnvVar[] Environment { get; set; } = Array.Empty(); [JsonPropertyName("args")] - public string[] Arguments { get; set; } = Array.Empty(); + public string[]? Arguments { get; set; } public ProjectLaunchRequest? ToProjectLaunchInformation() { diff --git a/test/Microsoft.WebTools.AspireService.Tests/AspireServerServiceTests.cs b/test/Microsoft.WebTools.AspireService.Tests/AspireServerServiceTests.cs index d712649cad1d..593fbe67e931 100644 --- a/test/Microsoft.WebTools.AspireService.Tests/AspireServerServiceTests.cs +++ b/test/Microsoft.WebTools.AspireService.Tests/AspireServerServiceTests.cs @@ -25,6 +25,12 @@ public class AspireServerServiceTests(ITestOutputHelper output) env = new List { new EnvVar { Name = "var1", Value = "value1" } } }; + private static readonly TestRunSessionRequest Project2SessionRequest = new TestRunSessionRequest(Project1Path, debugging: false, launchProfile: null, disableLaunchProfile: false) + { + args = null, + env = new List { new EnvVar { Name = "var1", Value = "value1" } } + }; + [Fact] public async Task SessionStarted_Test() { @@ -111,6 +117,30 @@ public async Task LaunchProject_Success() mocks.Verify(); } + [Fact] + public async Task LaunchProject_WithNullArgs_PassesThroughNullArgs() + { + var mocks = new Mocks(); + + mocks.GetOrCreate() + .ImplementStartProjectAsync(DcpId, "2", requireNullArguments: true); + + var server = await GetAspireServer(mocks); + var tokens = server.GetServerVariables(); + + using HttpClient client = GetHttpClient(tokens); + + HttpResponseMessage response; + response = await client.PutAsJsonAsync(VersionedSessionUrl, Project2SessionRequest); + + Assert.Equal(HttpStatusCode.Created, response.StatusCode); + Assert.Equal($"{client.BaseAddress}run_session/2", response.Headers.Location.AbsoluteUri); + + await server.DisposeAsync(); + + mocks.Verify(); + } + [Fact] public async Task LaunchProject_Success_ThenStopProcessRequest() { diff --git a/test/Microsoft.WebTools.AspireService.Tests/Mocks/IAspireServerEventsMock.cs b/test/Microsoft.WebTools.AspireService.Tests/Mocks/IAspireServerEventsMock.cs index 9b0439914320..8cb5a0971356 100644 --- a/test/Microsoft.WebTools.AspireService.Tests/Mocks/IAspireServerEventsMock.cs +++ b/test/Microsoft.WebTools.AspireService.Tests/Mocks/IAspireServerEventsMock.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. using Moq; +using Moq.Language.Flow; namespace Aspire.Tools.Service.UnitTests; @@ -11,19 +12,28 @@ public IAspireServerEventsMock(Mocks mocks, MockBehavior? mockBehavior = null) { } - public IAspireServerEventsMock ImplementStartProjectAsync(string dcpId, string sessionId, Exception? ex = null) + public IAspireServerEventsMock ImplementStartProjectAsync(string dcpId, string sessionId, Exception? ex = null, bool requireNullArguments = false) { - MockObject.Setup(x => x.StartProjectAsync(dcpId, It.IsAny(), It.IsAny())) - .Returns(() => - { - if (ex is not null) - { - throw ex; - } + ISetup> setup; + if (requireNullArguments) + { + setup = MockObject.Setup(x => x.StartProjectAsync(dcpId, It.Is(plr => plr.Arguments == null), It.IsAny())); + } + else + { + setup = MockObject.Setup(x => x.StartProjectAsync(dcpId, It.IsAny(), It.IsAny())); + } + + setup.Returns(() => + { + if (ex is not null) + { + throw ex; + } + + return new ValueTask(sessionId); + }).Verifiable(); - return new ValueTask(sessionId); - }) - .Verifiable(); return this; } From 20ac0a66d18ef91e541e0f405e3bea5b04a88007 Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Wed, 18 Dec 2024 19:18:23 -0800 Subject: [PATCH 153/171] Do not automatically add nuget.org as a package source when it is absent from nuget.config Fixes #44312 (#45410) Fixes #44312 If a user doesn't have nuget.org as a source in their nuget.config, we shouldn't assume they want it. This sends a message for dotnet tool search if nuget.org is absent, as it is needed for dotnet tool search to work properly, instead of running the command. For other commands like dotnet new details, it does not automatically add nuget.org to the sources. image image (Neither command implicitly went to nuget.org.) --- .../Microsoft.DotNet.Cli.Utils/PathUtility.cs | 7 ++++++ .../NuGet/NugetApiManager.cs | 6 ++++- .../TemplatePackageCoordinator.cs | 3 ++- .../search/LocalizableStrings.resx | 6 +++++ .../dotnet-tool/search/ToolSearchCommand.cs | 8 ++++++ .../search/xlf/LocalizableStrings.cs.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.de.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.es.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.fr.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.it.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.ja.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.ko.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.pl.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.pt-BR.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.ru.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.tr.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.zh-Hans.xlf | 9 +++++++ .../search/xlf/LocalizableStrings.zh-Hant.xlf | 9 +++++++ .../DotnetNewDetailsTest.Approval.cs | 25 ++++++++++++++----- 19 files changed, 164 insertions(+), 8 deletions(-) diff --git a/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs b/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs index f7416256f0e0..5fea6df78ae1 100644 --- a/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs +++ b/src/Cli/Microsoft.DotNet.Cli.Utils/PathUtility.cs @@ -2,11 +2,18 @@ // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.DotNet.Cli.Utils; +using NuGet.Configuration; namespace Microsoft.DotNet.Tools.Common { public static class PathUtility { + public static bool CheckForNuGetInNuGetConfig() + { + var otherFiles = SettingsUtility.GetEnabledSources(Settings.LoadDefaultSettings(Directory.GetCurrentDirectory())); + return otherFiles.Any(source => source.SourceUri.Equals("https://api.nuget.org/v3/index.json")); + } + public static bool IsPlaceholderFile(string path) { return string.Equals(Path.GetFileName(path), "_._", StringComparison.Ordinal); diff --git a/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs b/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs index a714e9783ef7..969b769a1924 100644 --- a/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs +++ b/src/Cli/Microsoft.TemplateEngine.Cli/NuGet/NugetApiManager.cs @@ -34,10 +34,14 @@ internal NugetApiManager() PackageSource? sourceFeed = null, CancellationToken cancellationToken = default) { - if (sourceFeed == null) + if (sourceFeed == null && Microsoft.DotNet.Tools.Common.PathUtility.CheckForNuGetInNuGetConfig()) { sourceFeed = _nugetOrgSource; } + else if (sourceFeed is null) + { + return null; + } SourceRepository repository = GetSourceRepository(sourceFeed); PackageMetadataResource resource = await repository.GetResourceAsync(cancellationToken).ConfigureAwait(false); diff --git a/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs b/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs index 313a7fd31501..b4dda2fd7a46 100644 --- a/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs +++ b/src/Cli/Microsoft.TemplateEngine.Cli/TemplatePackageCoordinator.cs @@ -3,6 +3,7 @@ using System.CommandLine; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools.Common; using Microsoft.TemplateEngine.Abstractions; using Microsoft.TemplateEngine.Abstractions.Constraints; using Microsoft.TemplateEngine.Abstractions.Installer; @@ -436,7 +437,7 @@ internal async Task DisplayTemplatePackageMetadata( } else { - IEnumerable packageSources = LoadNuGetSources(additionalSources, true); + IEnumerable packageSources = LoadNuGetSources(additionalSources, includeNuGetFeed: PathUtility.CheckForNuGetInNuGetConfig()); nuGetPackageMetadata = await GetPackageMetadataFromMultipleFeedsAsync(packageSources, nugetApiManager, packageIdentity, packageVersion, cancellationToken).ConfigureAwait(false); if (nuGetPackageMetadata != null && nuGetPackageMetadata.Source.Source.Equals(NugetOrgFeed)) diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/LocalizableStrings.resx b/src/Cli/dotnet/commands/dotnet-tool/search/LocalizableStrings.resx index 4811e1f5339a..386ea6140aa3 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/LocalizableStrings.resx +++ b/src/Cli/dotnet/commands/dotnet-tool/search/LocalizableStrings.resx @@ -196,4 +196,10 @@ Version Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/ToolSearchCommand.cs b/src/Cli/dotnet/commands/dotnet-tool/search/ToolSearchCommand.cs index d6daf44c568f..29d9c4a75d27 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/ToolSearchCommand.cs +++ b/src/Cli/dotnet/commands/dotnet-tool/search/ToolSearchCommand.cs @@ -5,6 +5,8 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.NugetSearch; +using Microsoft.DotNet.Tools.Common; +using NuGet.Configuration; namespace Microsoft.DotNet.Tools.Tool.Search { @@ -26,6 +28,12 @@ public ToolSearchCommand( public override int Execute() { var isDetailed = _parseResult.GetValue(ToolSearchCommandParser.DetailOption); + if (!PathUtility.CheckForNuGetInNuGetConfig()) + { + Reporter.Output.WriteLine(LocalizableStrings.NeedNuGetInConfig); + return 0; + } + NugetSearchApiParameter nugetSearchApiParameter = new(_parseResult); IReadOnlyCollection searchResultPackages = NugetSearchApiResultDeserializer.Deserialize( diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.cs.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.cs.xlf index c7df98b9f33e..8735c705a192 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.cs.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.cs.xlf @@ -47,6 +47,15 @@ Nejnovější verze Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Nenašly se žádné výsledky. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.de.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.de.xlf index f50e42d103d3..e2a2fb2c47e9 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.de.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.de.xlf @@ -47,6 +47,15 @@ Aktuelle Version Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Es wurden keine Ergebnisse gefunden. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.es.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.es.xlf index b8e9fef63dc9..8912b64e886e 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.es.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.es.xlf @@ -47,6 +47,15 @@ Última versión Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. No se encontró ningún resultado. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.fr.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.fr.xlf index c97a6615044d..adf9625fdc88 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.fr.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.fr.xlf @@ -47,6 +47,15 @@ Dernière version Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Résultats introuvables. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.it.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.it.xlf index a3709cb177d1..ca389bb04a5b 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.it.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.it.xlf @@ -47,6 +47,15 @@ Ultima versione Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Non è stato possibile trovare risultati. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ja.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ja.xlf index 46bdcad7a907..59c7f632178f 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ja.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ja.xlf @@ -47,6 +47,15 @@ 最新バージョン Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. 結果が見つかりませんでした。 diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ko.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ko.xlf index 8ebc31feffed..e3f997df3bd3 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ko.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ko.xlf @@ -47,6 +47,15 @@ 최신 버전 Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. 결과를 찾을 수 없습니다. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pl.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pl.xlf index 8f00f81eb056..87564f82fde7 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pl.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pl.xlf @@ -47,6 +47,15 @@ Najnowsza wersja Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Nie można znaleźć żadnych wyników. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pt-BR.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pt-BR.xlf index 9f4434a65b52..2367aeb40b37 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.pt-BR.xlf @@ -47,6 +47,15 @@ Última Versão Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Não foi possível localizar nenhum resultado. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ru.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ru.xlf index 89719b96d5de..1cb904fa5f8c 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ru.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.ru.xlf @@ -47,6 +47,15 @@ Последняя версия Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Ничего не найдено. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.tr.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.tr.xlf index cdbe99b97a8e..fca2bd8d4de3 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.tr.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.tr.xlf @@ -47,6 +47,15 @@ En Son Sürüm Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. Sonuç bulunamadı. diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hans.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hans.xlf index d90034d3dfcb..bf04ef763834 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hans.xlf @@ -47,6 +47,15 @@ 最新版本 Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. 找不到任何结果。 diff --git a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hant.xlf b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hant.xlf index 274dd5b10281..9fda02783409 100644 --- a/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/commands/dotnet-tool/search/xlf/LocalizableStrings.zh-Hant.xlf @@ -47,6 +47,15 @@ 最新版本 Table lable + + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + The 'dotnet tool search' command unconditionally accesses nuget.org to find tools, but it is not present in your nuget.config. Add it to run this command. + This can be done with this command: + dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org + Do not translate 'dotnet tool search' or 'nuget.config'. Do not localize the last line at all. + Could not find any results. 找不到任何結果。 diff --git a/test/dotnet-new.Tests/DotnetNewDetailsTest.Approval.cs b/test/dotnet-new.Tests/DotnetNewDetailsTest.Approval.cs index 25e9d00d8b5c..89698d8e9bf2 100644 --- a/test/dotnet-new.Tests/DotnetNewDetailsTest.Approval.cs +++ b/test/dotnet-new.Tests/DotnetNewDetailsTest.Approval.cs @@ -31,14 +31,27 @@ public Task CanDisplayDetails_RemotePackage_NuGetFeedWithVersion() [Fact] public Task CanDisplayDetails_RemotePackage_NuGetFeedNoVersion() { - CommandResult commandResult = new DotnetNewCommand(_log, "details", _nuGetPackageId) - .WithCustomHive(CreateTemporaryFolder(folderName: "Home")) - .WithWorkingDirectory(CreateTemporaryFolder()) + var folder = CreateTemporaryFolder(); + + var createCommandResult = () => new DotnetNewCommand(_log, "details", _nuGetPackageId) + .WithCustomHive(CreateTemporaryFolder(folderName: "Home")) + .WithWorkingDirectory(folder) .Execute(); - commandResult - .Should() - .Pass(); + createCommandResult().Should().Fail(); + + File.WriteAllText(Path.Combine(folder, "NuGet.Config"), @" + + + + + + +"); + + var commandResult = createCommandResult(); + + commandResult.Should().Pass(); return Verify(commandResult.StdOut); } From e94b89f2edfaf273571819ce749aa55a5fe29dbc Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 09:36:56 +0100 Subject: [PATCH 154/171] Add roslyn patch for NetPrevious --- .../0002-fix-tfms-for-sourcebuild.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/SourceBuild/patches/roslyn/0002-fix-tfms-for-sourcebuild.patch diff --git a/src/SourceBuild/patches/roslyn/0002-fix-tfms-for-sourcebuild.patch b/src/SourceBuild/patches/roslyn/0002-fix-tfms-for-sourcebuild.patch new file mode 100644 index 000000000000..2a405085adc1 --- /dev/null +++ b/src/SourceBuild/patches/roslyn/0002-fix-tfms-for-sourcebuild.patch @@ -0,0 +1,33 @@ +From b8eab99ebecdd902574a90288b812f3e45e90f4f Mon Sep 17 00:00:00 2001 +From: Viktor Hofer +Date: Wed, 18 Dec 2024 23:38:43 +0100 +Subject: [PATCH] Update TargetFrameworks.props + +Set NetPrevious to NetMinimum which is necessary when using the Arcade 9 SDK or an older Arcade 10 SDK without the TFM update. + +Backport: https://github.com/dotnet/roslyn/pull/76506 + +--- + eng/targets/TargetFrameworks.props | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/eng/targets/TargetFrameworks.props b/eng/targets/TargetFrameworks.props +index 2dddaff1560..8083e84e49c 100644 +--- a/eng/targets/TargetFrameworks.props ++++ b/eng/targets/TargetFrameworks.props +@@ -52,6 +52,8 @@ + --> + + ++ ++ $(NetMinimum) + $(NetCurrent) + $(NetCurrent);$(NetPrevious) + $(NetCurrent);$(NetPrevious) +@@ -71,4 +73,4 @@ + + + +- +\ No newline at end of file ++ From 7fbe250a87781e160ab9f037f441a4cf9e259b72 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 11:11:46 +0100 Subject: [PATCH 155/171] Don't error prebuilts before the prebuilts artifact got copied --- src/SourceBuild/content/eng/finish-source-only.proj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SourceBuild/content/eng/finish-source-only.proj b/src/SourceBuild/content/eng/finish-source-only.proj index 77c5d5e262c0..df0ef28dde91 100644 --- a/src/SourceBuild/content/eng/finish-source-only.proj +++ b/src/SourceBuild/content/eng/finish-source-only.proj @@ -170,8 +170,7 @@ BeforeTargets="Build" DependsOnTargets=" CheckIfPrebuiltsExistToPack; - CreatePrebuiltsTarballIfPrebuiltsExist; - ErrorOnPrebuilts"/> + CreatePrebuiltsTarballIfPrebuiltsExist"/> @@ -202,11 +201,12 @@ - From 2a9bcaa3ce286ad1f33feb0d0c6b83e8fcf25712 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 11:22:06 +0100 Subject: [PATCH 156/171] Add roslyn patch to downgrade shared framework versions --- ...-downgrade-shared-framework-versions.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch diff --git a/src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch b/src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch new file mode 100644 index 000000000000..112ad899b14b --- /dev/null +++ b/src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch @@ -0,0 +1,25 @@ +From cbc2d15720550a782c95b809f6d777ee2452aa16 Mon Sep 17 00:00:00 2001 +From: Viktor Hofer +Date: Thu, 19 Dec 2024 11:18:11 +0100 +Subject: [PATCH] Downgrade shared framework versions + +Backport: TBD (might not be necessary after the next Arcade update) + +--- + eng/Directory.Packages.props | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props +index 7114e22690f..934de7ce9de 100644 +--- a/eng/Directory.Packages.props ++++ b/eng/Directory.Packages.props +@@ -19,7 +19,9 @@ + We should try to keep this version in sync with the version of app-local runtime in VS. + --> + 8.0.10 ++ 8.0.0 + 8.0.10 ++ 8.0.0 + <_xunitVersion>2.9.2 + 2.1.0 + \ No newline at end of file From 04c388a6a9e84c44aa064ff22d371adcc2fb1916 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 11:34:36 +0100 Subject: [PATCH 157/171] delete roslyn patch again --- ...-downgrade-shared-framework-versions.patch | 25 ------------------- 1 file changed, 25 deletions(-) delete mode 100644 src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch diff --git a/src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch b/src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch deleted file mode 100644 index 112ad899b14b..000000000000 --- a/src/SourceBuild/patches/roslyn/0003-downgrade-shared-framework-versions.patch +++ /dev/null @@ -1,25 +0,0 @@ -From cbc2d15720550a782c95b809f6d777ee2452aa16 Mon Sep 17 00:00:00 2001 -From: Viktor Hofer -Date: Thu, 19 Dec 2024 11:18:11 +0100 -Subject: [PATCH] Downgrade shared framework versions - -Backport: TBD (might not be necessary after the next Arcade update) - ---- - eng/Directory.Packages.props | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props -index 7114e22690f..934de7ce9de 100644 ---- a/eng/Directory.Packages.props -+++ b/eng/Directory.Packages.props -@@ -19,7 +19,9 @@ - We should try to keep this version in sync with the version of app-local runtime in VS. - --> - 8.0.10 -+ 8.0.0 - 8.0.10 -+ 8.0.0 - <_xunitVersion>2.9.2 - 2.1.0 - \ No newline at end of file From 551e339b779874a36fd4c4329a9c6984693aead6 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Wed, 18 Dec 2024 15:18:07 +0000 Subject: [PATCH 158/171] Update dependencies from https://github.com/dotnet/arcade build 20241217.2 Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions From Version 10.0.0-beta.24604.4 -> To Version 10.0.0-beta.24617.2 --- eng/Version.Details.xml | 28 ++-- eng/Versions.props | 8 +- .../steps/get-delegation-sas.yml | 11 +- .../core-templates/steps/source-build.yml | 2 +- eng/common/cross/build-rootfs.sh | 22 +-- eng/common/cross/toolchain.cmake | 149 ++++++++---------- global.json | 6 +- 7 files changed, 94 insertions(+), 132 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 83490c37d3cb..fc5331b4f404 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -559,34 +559,34 @@ - + https://github.com/dotnet/arcade - 45d845e04c05fbe5da9838c454bbc3af1df6be81 + 4f2968fce08735a7e22fca6bd4c99d003221d716 - + https://github.com/dotnet/arcade - 45d845e04c05fbe5da9838c454bbc3af1df6be81 + 4f2968fce08735a7e22fca6bd4c99d003221d716 - + https://github.com/dotnet/arcade - 45d845e04c05fbe5da9838c454bbc3af1df6be81 + 4f2968fce08735a7e22fca6bd4c99d003221d716 - + https://github.com/dotnet/arcade - 45d845e04c05fbe5da9838c454bbc3af1df6be81 + 4f2968fce08735a7e22fca6bd4c99d003221d716 - + https://github.com/dotnet/arcade - 45d845e04c05fbe5da9838c454bbc3af1df6be81 + 4f2968fce08735a7e22fca6bd4c99d003221d716 - + https://github.com/dotnet/arcade - 45d845e04c05fbe5da9838c454bbc3af1df6be81 + 4f2968fce08735a7e22fca6bd4c99d003221d716 - + https://github.com/dotnet/arcade - 45d845e04c05fbe5da9838c454bbc3af1df6be81 + 4f2968fce08735a7e22fca6bd4c99d003221d716 diff --git a/eng/Versions.props b/eng/Versions.props index 5ecea16456c9..79429490dd4e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -262,10 +262,10 @@ - 10.0.0-beta.24604.4 - 10.0.0-beta.24604.4 - 10.0.0-beta.24604.4 - 10.0.0-beta.24604.4 + 10.0.0-beta.24617.2 + 10.0.0-beta.24617.2 + 10.0.0-beta.24617.2 + 10.0.0-beta.24617.2 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/source-build.yml b/eng/common/core-templates/steps/source-build.yml index 4da05afe0544..f9ba1625c20f 100644 --- a/eng/common/core-templates/steps/source-build.yml +++ b/eng/common/core-templates/steps/source-build.yml @@ -78,7 +78,7 @@ steps: portableBuildArgs= if [ '${{ parameters.platform.portableBuild }}' != '' ]; then - portableBuildArgs='/p:PortabelBuild=${{ parameters.platform.portableBuild }}' + portableBuildArgs='/p:PortableBuild=${{ parameters.platform.portableBuild }}' fi ${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \ diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index 20ae8c28687b..464040aaaea6 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -52,14 +52,12 @@ __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" @@ -73,8 +71,8 @@ __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" @@ -371,7 +369,7 @@ while :; do ;; freebsd14) __CodeName=freebsd - __FreeBSDBase="14.0-RELEASE" + __FreeBSDBase="14.2-RELEASE" __FreeBSDABI="14" __SkipUnmount=1 ;; @@ -424,13 +422,12 @@ case "$__AlpineVersion" in elif [[ "$__AlpineArch" == "riscv64" ]]; then __AlpineLlvmLibsLookup=1 __AlpineVersion=edge # minimum version with APKINDEX.tar.gz (packages archive) + elif [[ -n "$__AlpineMajorVersion" ]]; then + # use whichever alpine version is provided and select the latest toolchain libs + __AlpineLlvmLibsLookup=1 else __AlpineVersion=3.13 # 3.13 to maximize compatibility __AlpinePackages+=" llvm10-libs" - - if [[ "$__AlpineArch" == "armv7" ]]; then - __AlpinePackages="${__AlpinePackages//numactl-dev/}" - fi fi esac @@ -444,11 +441,6 @@ 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 @@ -574,7 +566,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 diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake index 9a4e285a5ae3..0ff85cf0367e 100644 --- a/eng/common/cross/toolchain.cmake +++ b/eng/common/cross/toolchain.cmake @@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm") set(TOOLCHAIN "arm-linux-gnueabihf") endif() if(TIZEN) - set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0") + set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf") endif() elseif(TARGET_ARCH_NAME STREQUAL "arm64") set(CMAKE_SYSTEM_PROCESSOR aarch64) @@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64") elseif(LINUX) set(TOOLCHAIN "aarch64-linux-gnu") if(TIZEN) - set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0") + set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu") endif() elseif(FREEBSD) set(triple "aarch64-unknown-freebsd12") @@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel") set(CMAKE_SYSTEM_PROCESSOR armv7l) set(TOOLCHAIN "arm-linux-gnueabi") if(TIZEN) - set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0") + set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi") endif() elseif(TARGET_ARCH_NAME STREQUAL "armv6") set(CMAKE_SYSTEM_PROCESSOR armv6l) @@ -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) @@ -81,7 +88,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64") else() set(TOOLCHAIN "riscv64-linux-gnu") if(TIZEN) - set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu/13.1.0") + set(TIZEN_TOOLCHAIN "riscv64-tizen-linux-gnu") endif() endif() elseif(TARGET_ARCH_NAME STREQUAL "s390x") @@ -98,7 +105,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64") elseif(LINUX) set(TOOLCHAIN "x86_64-linux-gnu") if(TIZEN) - set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0") + set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu") endif() elseif(FREEBSD) set(triple "x86_64-unknown-freebsd12") @@ -115,10 +122,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86") set(TOOLCHAIN "i686-linux-gnu") endif() if(TIZEN) - set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0") + 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}) @@ -127,32 +134,46 @@ endif() # Specify include paths if(TIZEN) - if(TARGET_ARCH_NAME STREQUAL "arm") - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf) - endif() - if(TARGET_ARCH_NAME STREQUAL "armel") - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi) - endif() - if(TARGET_ARCH_NAME STREQUAL "arm64") - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu) - endif() - if(TARGET_ARCH_NAME STREQUAL "x86") - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu) - endif() - if(TARGET_ARCH_NAME STREQUAL "x64") - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu) - endif() - if(TARGET_ARCH_NAME STREQUAL "riscv64") - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/riscv64-tizen-linux-gnu) + function(find_toolchain_dir prefix) + # Dynamically find the version subdirectory + file(GLOB DIRECTORIES "${prefix}/*") + list(GET DIRECTORIES 0 FIRST_MATCH) + get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME) + + set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}" PARENT_SCOPE) + endfunction() + + if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$") + find_toolchain_dir("${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + else() + find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}") endif() + + message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}") + + include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++) + 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) @@ -183,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() @@ -272,21 +251,21 @@ endif() if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$") if(TIZEN) - add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib") - add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}") endif() elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64|riscv64)$") if(TIZEN) - add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64") - add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}") add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64") add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64") - add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}") endif() elseif(TARGET_ARCH_NAME STREQUAL "s390x") add_toolchain_linker_flag("--target=${TOOLCHAIN}") @@ -297,10 +276,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86") endif() add_toolchain_linker_flag(-m32) if(TIZEN) - add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib") add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib") - add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}") endif() elseif(ILLUMOS) add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64") @@ -312,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/global.json b/global.json index 3084f6c449d8..54d9f756804e 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.100-alpha.1.24551.9", + "dotnet": "10.0.100-alpha.1.24573.1", "runtimes": { "dotnet": [ "$(VSRedistCommonNetCoreSharedFrameworkx64100PackageVersion)" @@ -17,8 +17,8 @@ "cmake": "latest" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.24604.4", - "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.24604.4", + "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.24617.2", + "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.24617.2", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.DotNet.CMake.Sdk": "9.0.0-beta.24217.1" } From 30d79e0ee0da64ba4ebde9619fef759111298709 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 12:10:38 +0100 Subject: [PATCH 159/171] Delete patch, add new patches for NetCurrent and update vstest TFM --- .../redist/targets/GenerateLayout.targets | 2 +- ... 10 SDK and TFM to net10.0 in arcade.patch | 110 ------------------ ...eference-for-ExceptionHandling-class.patch | 35 ++++++ .../0001-Target-NetCurrent-property.patch | 22 ++++ 4 files changed, 58 insertions(+), 111 deletions(-) delete mode 100644 src/SourceBuild/patches/arcade/0001-Update to .NET 10 SDK and TFM to net10.0 in arcade.patch create mode 100644 src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch create mode 100644 src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch diff --git a/src/Layout/redist/targets/GenerateLayout.targets b/src/Layout/redist/targets/GenerateLayout.targets index 84838632c10f..b240a5467505 100644 --- a/src/Layout/redist/targets/GenerateLayout.targets +++ b/src/Layout/redist/targets/GenerateLayout.targets @@ -178,7 +178,7 @@ BeforeTargets="Build"> netcoreapp3.1 - net9.0 + $(NetCurrent) $(NuGetPackageRoot)/microsoft.testplatform.cli/$(MicrosoftTestPlatformCLIPackageVersion)/contentFiles/any/$(TestCliNuGetDirectoryTargetFramework)/ diff --git a/src/SourceBuild/patches/arcade/0001-Update to .NET 10 SDK and TFM to net10.0 in arcade.patch b/src/SourceBuild/patches/arcade/0001-Update to .NET 10 SDK and TFM to net10.0 in arcade.patch deleted file mode 100644 index 4b49c0b4ed4e..000000000000 --- a/src/SourceBuild/patches/arcade/0001-Update to .NET 10 SDK and TFM to net10.0 in arcade.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Viktor Hofer -Date: Wed, 6 Nov 2024 16:43:26 +0000 -Subject: [PATCH] Update to .NET 10 SDK and TFM to net10.0 in arcade - -Backport: https://github.com/dotnet/arcade/pull/15221 ---- - Directory.Build.props | 5 +++++ - global.json | 4 ++-- - .../src/build/Packaging.targets | 4 ++++ - .../Sdk/tools/dotnet-cli/DotNetCli.props | 2 +- - .../Sdk/tools/xunit-runner/XUnitRunner.targets | 2 +- - .../Microsoft.DotNet.XliffTasks.csproj | 4 ---- - tests/UnitTests.proj | 5 +++-- - 7 files changed, 16 insertions(+), 10 deletions(-) - -diff --git a/Directory.Build.props b/Directory.Build.props -index 9d84f1dc6..b25de0091 100644 ---- a/Directory.Build.props -+++ b/Directory.Build.props -@@ -17,4 +17,9 @@ - - $(WarningsNotAsErrors);NU1901;NU1902;NU1903;NU1904 -+ -+ net10.0 -+ net9.0 -+ $(NetCurrent) -+ $(NetToolCurrent) - - -diff --git a/global.json b/global.json -index af88ae5bf..904f8d03d 100644 ---- a/global.json -+++ b/global.json -@@ -1,9 +1,9 @@ - { - "sdk": { -- "version": "9.0.100", -+ "version": "10.0.100-alpha.1.24551.9", - "rollForward": "latestFeature" - }, - "tools": { -- "dotnet": "9.0.100" -+ "dotnet": "10.0.100-alpha.1.24551.9" - }, - "msbuild-sdks": { -diff --git a/src/Microsoft.DotNet.Build.Tasks.Packaging/src/build/Packaging.targets b/src/Microsoft.DotNet.Build.Tasks.Packaging/src/build/Packaging.targets -index b94b6736d..e0fadabb2 100644 ---- a/src/Microsoft.DotNet.Build.Tasks.Packaging/src/build/Packaging.targets -+++ b/src/Microsoft.DotNet.Build.Tasks.Packaging/src/build/Packaging.targets -@@ -955,4 +955,8 @@ - @(NETCoreApp90RIDs) - -+ -+ -+ @(NETCoreApp100RIDs) -+ - - -diff --git a/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props b/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props -index 63552b1ed..15d5a63aa 100644 ---- a/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props -+++ b/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props -@@ -4,5 +4,5 @@ - - false -- 9.0.0 -+ 10.0.0-alpha.2.24531.4 - runtime - $(BundledNETCoreAppPackageVersion) -diff --git a/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-runner/XUnitRunner.targets b/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-runner/XUnitRunner.targets -index 0ae8d1482..9312e2672 100644 ---- a/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-runner/XUnitRunner.targets -+++ b/src/Microsoft.DotNet.Helix/Sdk/tools/xunit-runner/XUnitRunner.targets -@@ -3,5 +3,5 @@ - - -- net9.0 -+ net10.0 - netcoreapp2.0 - -diff --git a/src/Microsoft.DotNet.XliffTasks/Microsoft.DotNet.XliffTasks.csproj b/src/Microsoft.DotNet.XliffTasks/Microsoft.DotNet.XliffTasks.csproj -index 1059c3bc4..165a4a7d5 100644 ---- a/src/Microsoft.DotNet.XliffTasks/Microsoft.DotNet.XliffTasks.csproj -+++ b/src/Microsoft.DotNet.XliffTasks/Microsoft.DotNet.XliffTasks.csproj -@@ -2,8 +2,4 @@ - - -- - $(NetToolMinimum);$(NetFrameworkToolCurrent) - true -diff --git a/tests/UnitTests.proj b/tests/UnitTests.proj -index 910ccf3b0..ad85e4bac 100644 ---- a/tests/UnitTests.proj -+++ b/tests/UnitTests.proj -@@ -117,8 +117,9 @@ - - -- -+ -+ - - diff --git a/src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch b/src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch new file mode 100644 index 000000000000..e9e4610ed225 --- /dev/null +++ b/src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch @@ -0,0 +1,35 @@ +From cb75812d7f5c0860824b86f7a22bf99bee564959 Mon Sep 17 00:00:00 2001 +From: Matt Thalman +Date: Wed, 18 Dec 2024 15:46:24 -0600 +Subject: [PATCH] Fix ambiguous reference for ExceptionHandling class + +Backport: https://github.com/dotnet/msbuild/pull/11173 +--- + src/Build/BackEnd/BuildManager/BuildManager.cs | 1 + + src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/Build/BackEnd/BuildManager/BuildManager.cs b/src/Build/BackEnd/BuildManager/BuildManager.cs +index e3aa23a478..c4a13d02dc 100644 +--- a/src/Build/BackEnd/BuildManager/BuildManager.cs ++++ b/src/Build/BackEnd/BuildManager/BuildManager.cs +@@ -37,6 +37,7 @@ using Microsoft.Build.Logging; + using Microsoft.Build.Shared; + using Microsoft.Build.Shared.Debugging; + using Microsoft.NET.StringTools; ++using ExceptionHandling = Microsoft.Build.Shared.ExceptionHandling; + using ForwardingLoggerRecord = Microsoft.Build.Logging.ForwardingLoggerRecord; + using LoggerDescription = Microsoft.Build.Logging.LoggerDescription; + +diff --git a/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs b/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs +index 446f5ef644..bd1cb0fd8d 100644 +--- a/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs ++++ b/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs +@@ -22,6 +22,7 @@ using Microsoft.Build.Framework; + using Microsoft.Build.Graph; + using Microsoft.Build.Internal; + using Microsoft.Build.Shared; ++using ExceptionHandling = Microsoft.Build.Shared.ExceptionHandling; + + namespace Microsoft.Build.Experimental.ProjectCache + { \ No newline at end of file diff --git a/src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch b/src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch new file mode 100644 index 000000000000..7032ae9c7e99 --- /dev/null +++ b/src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch @@ -0,0 +1,22 @@ +From bd21b3e221f2085af2d660e04c6dff186e372454 Mon Sep 17 00:00:00 2001 +From: Matt Thalman +Date: Wed, 18 Dec 2024 16:10:00 -0600 +Subject: [PATCH] Target NetCurrent property + +Backport: https://github.com/dotnet/symreader/pull/331 +--- + src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj b/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj +index c635aee..b920f9c 100644 +--- a/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj ++++ b/src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj +@@ -1,6 +1,6 @@ +  + +- netstandard2.0;net9.0 ++ netstandard2.0;$(NetCurrent) + true + true + true \ No newline at end of file From e48643113b854b996e647e1180b6a90eb69f3043 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 12:20:12 +0100 Subject: [PATCH 160/171] Update fsharp expected TFM --- src/Layout/tool_fsharp/tool_fsc.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Layout/tool_fsharp/tool_fsc.csproj b/src/Layout/tool_fsharp/tool_fsc.csproj index d0e032fef721..63c2c9b056bf 100644 --- a/src/Layout/tool_fsharp/tool_fsc.csproj +++ b/src/Layout/tool_fsharp/tool_fsc.csproj @@ -33,6 +33,7 @@ Shipping Release net9.0 + $(NetCurrent) Date: Thu, 19 Dec 2024 12:48:06 +0100 Subject: [PATCH 161/171] Delete unnecessary msbuild patch --- ...eference-for-ExceptionHandling-class.patch | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch diff --git a/src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch b/src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch deleted file mode 100644 index e9e4610ed225..000000000000 --- a/src/SourceBuild/patches/msbuild/0001-Fix-ambiguous-reference-for-ExceptionHandling-class.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cb75812d7f5c0860824b86f7a22bf99bee564959 Mon Sep 17 00:00:00 2001 -From: Matt Thalman -Date: Wed, 18 Dec 2024 15:46:24 -0600 -Subject: [PATCH] Fix ambiguous reference for ExceptionHandling class - -Backport: https://github.com/dotnet/msbuild/pull/11173 ---- - src/Build/BackEnd/BuildManager/BuildManager.cs | 1 + - src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/Build/BackEnd/BuildManager/BuildManager.cs b/src/Build/BackEnd/BuildManager/BuildManager.cs -index e3aa23a478..c4a13d02dc 100644 ---- a/src/Build/BackEnd/BuildManager/BuildManager.cs -+++ b/src/Build/BackEnd/BuildManager/BuildManager.cs -@@ -37,6 +37,7 @@ using Microsoft.Build.Logging; - using Microsoft.Build.Shared; - using Microsoft.Build.Shared.Debugging; - using Microsoft.NET.StringTools; -+using ExceptionHandling = Microsoft.Build.Shared.ExceptionHandling; - using ForwardingLoggerRecord = Microsoft.Build.Logging.ForwardingLoggerRecord; - using LoggerDescription = Microsoft.Build.Logging.LoggerDescription; - -diff --git a/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs b/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs -index 446f5ef644..bd1cb0fd8d 100644 ---- a/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs -+++ b/src/Build/BackEnd/Components/ProjectCache/ProjectCacheService.cs -@@ -22,6 +22,7 @@ using Microsoft.Build.Framework; - using Microsoft.Build.Graph; - using Microsoft.Build.Internal; - using Microsoft.Build.Shared; -+using ExceptionHandling = Microsoft.Build.Shared.ExceptionHandling; - - namespace Microsoft.Build.Experimental.ProjectCache - { \ No newline at end of file From 8b75c52e6f9953f209deeaeb03c75b714e579519 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 13:02:32 +0100 Subject: [PATCH 162/171] Update symreader patch --- .../symreader/0001-Target-NetCurrent-property.patch | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch b/src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch index 7032ae9c7e99..6a4031e9158d 100644 --- a/src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch +++ b/src/SourceBuild/patches/symreader/0001-Target-NetCurrent-property.patch @@ -1,9 +1,10 @@ -From bd21b3e221f2085af2d660e04c6dff186e372454 Mon Sep 17 00:00:00 2001 +From 826f90739ccf6f99d6481253ec2feac07d96f1a4 Mon Sep 17 00:00:00 2001 From: Matt Thalman -Date: Wed, 18 Dec 2024 16:10:00 -0600 -Subject: [PATCH] Target NetCurrent property +Date: Wed, 18 Dec 2024 16:20:33 -0600 +Subject: [PATCH] Target NetCurrent property (#331) Backport: https://github.com/dotnet/symreader/pull/331 + --- src/Microsoft.DiaSymReader/Microsoft.DiaSymReader.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -19,4 +20,4 @@ index c635aee..b920f9c 100644 + netstandard2.0;$(NetCurrent) true true - true \ No newline at end of file + true From 0b0cbc89f5ec83e0334a5dad40fd36ded33f31ca Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 14:17:49 +0100 Subject: [PATCH 163/171] Fix testcli TFM for repo source-build --- src/Layout/redist/targets/GenerateLayout.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Layout/redist/targets/GenerateLayout.targets b/src/Layout/redist/targets/GenerateLayout.targets index b240a5467505..3160feb51095 100644 --- a/src/Layout/redist/targets/GenerateLayout.targets +++ b/src/Layout/redist/targets/GenerateLayout.targets @@ -178,7 +178,8 @@ BeforeTargets="Build"> netcoreapp3.1 - $(NetCurrent) + $(NetCurrent) + net9.0 $(NuGetPackageRoot)/microsoft.testplatform.cli/$(MicrosoftTestPlatformCLIPackageVersion)/contentFiles/any/$(TestCliNuGetDirectoryTargetFramework)/ From 84ee01026965869a403509119e0e9ecb30d2caf6 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 14:53:08 +0100 Subject: [PATCH 164/171] Fix fsharp tfm in source-only repo build --- src/Layout/tool_fsharp/tool_fsc.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Layout/tool_fsharp/tool_fsc.csproj b/src/Layout/tool_fsharp/tool_fsc.csproj index 63c2c9b056bf..3131d245407b 100644 --- a/src/Layout/tool_fsharp/tool_fsc.csproj +++ b/src/Layout/tool_fsharp/tool_fsc.csproj @@ -33,7 +33,7 @@ Shipping Release net9.0 - $(NetCurrent) + $(NetCurrent) Date: Thu, 19 Dec 2024 15:04:40 +0100 Subject: [PATCH 165/171] Add roslyn patch to not downgrade packs --- .../roslyn/0003-dont-downgrade-packs.patch | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch diff --git a/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch b/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch new file mode 100644 index 000000000000..71cc581f20bd --- /dev/null +++ b/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch @@ -0,0 +1,27 @@ +From 6e9b4584bc513903b6a756b957344e19a19a76c6 Mon Sep 17 00:00:00 2001 +From: Viktor Hofer +Date: Thu, 19 Dec 2024 15:02:31 +0100 +Subject: [PATCH] Don't introduce prebuilts for 8.0.10 packs when building + source only + +Backport: https://github.com/dotnet/roslyn/pull/76517 + +--- + eng/Directory.Packages.props | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props +index 7114e22690f..14c8a39c81b 100644 +--- a/eng/Directory.Packages.props ++++ b/eng/Directory.Packages.props +@@ -18,8 +18,8 @@ + + We should try to keep this version in sync with the version of app-local runtime in VS. + --> +- 8.0.10 +- 8.0.10 ++ 8.0.10 ++ 8.0.10 + <_xunitVersion>2.9.2 + 2.1.0 + \ No newline at end of file From 96725c6c80aea6adcac49ddbbb8d04624c452f72 Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 15:15:34 +0100 Subject: [PATCH 166/171] Fix roslyn downgrade packs patch --- .../roslyn/0003-dont-downgrade-packs.patch | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch b/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch index 71cc581f20bd..098c757111ef 100644 --- a/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch +++ b/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs.patch @@ -1,4 +1,4 @@ -From 6e9b4584bc513903b6a756b957344e19a19a76c6 Mon Sep 17 00:00:00 2001 +From e6247adfdf8d93758970eb3b1ea6a4cc9d2be5df Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 15:02:31 +0100 Subject: [PATCH] Don't introduce prebuilts for 8.0.10 packs when building @@ -7,11 +7,11 @@ Subject: [PATCH] Don't introduce prebuilts for 8.0.10 packs when building Backport: https://github.com/dotnet/roslyn/pull/76517 --- - eng/Directory.Packages.props | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + eng/Directory.Packages.props | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props -index 7114e22690f..14c8a39c81b 100644 +index 7114e22690f..fc7cd4cef93 100644 --- a/eng/Directory.Packages.props +++ b/eng/Directory.Packages.props @@ -18,8 +18,8 @@ @@ -24,4 +24,21 @@ index 7114e22690f..14c8a39c81b 100644 + 8.0.10 <_xunitVersion>2.9.2 2.1.0 - \ No newline at end of file + +@@ -131,11 +131,11 @@ + We should try to keep this version in sync with the version of app-local runtime in VS. + --> + +- +- +- +- +- ++ ++ ++ ++ ++ + + - - -+ -+ $(NetMinimum) - $(NetCurrent) - $(NetCurrent);$(NetPrevious) - $(NetCurrent);$(NetPrevious) -@@ -71,4 +73,4 @@ - - - -- -\ No newline at end of file -+ From 9b233034e92ad030caac9664241d906c54689d7d Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Thu, 19 Dec 2024 17:33:56 +0100 Subject: [PATCH 169/171] Include Test binlog and remove unnecessary patch --- .../repo-projects/Directory.Build.targets | 2 + .../0003-dont-downgrade-packs-in-sb.patch | 43 ------------------- 2 files changed, 2 insertions(+), 43 deletions(-) delete mode 100644 src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs-in-sb.patch diff --git a/src/SourceBuild/content/repo-projects/Directory.Build.targets b/src/SourceBuild/content/repo-projects/Directory.Build.targets index a954493e82c7..649a2742b218 100644 --- a/src/SourceBuild/content/repo-projects/Directory.Build.targets +++ b/src/SourceBuild/content/repo-projects/Directory.Build.targets @@ -756,6 +756,8 @@ + + diff --git a/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs-in-sb.patch b/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs-in-sb.patch deleted file mode 100644 index 1e4d489aa13d..000000000000 --- a/src/SourceBuild/patches/roslyn/0003-dont-downgrade-packs-in-sb.patch +++ /dev/null @@ -1,43 +0,0 @@ -From fee99a41c10b18b66cb74603b9062fef43c20d34 Mon Sep 17 00:00:00 2001 -From: Viktor Hofer -Date: Thu, 19 Dec 2024 15:36:20 +0100 -Subject: [PATCH] avoid - -Backport: https://github.com/dotnet/roslyn/pull/76517 - ---- - eng/Directory.Packages.props | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/eng/Directory.Packages.props b/eng/Directory.Packages.props -index 265d5e66569..7b3028f6d12 100644 ---- a/eng/Directory.Packages.props -+++ b/eng/Directory.Packages.props -@@ -18,8 +18,8 @@ - - We should try to keep this version in sync with the version of app-local runtime in VS. - --> -- 8.0.10 -- 8.0.10 -+ 8.0.10 -+ 8.0.10 - <_xunitVersion>2.9.2 - 2.1.0 - -@@ -131,11 +131,11 @@ - We should try to keep this version in sync with the version of app-local runtime in VS. - --> - -- -- -- -- -- -+ -+ -+ -+ -+ - - + $(BuildArgs) /p:NetCurrent=$(NetCurrent) + $(TestCommand) /p:NetCurrent=$(NetCurrent) @@ -53,7 +57,6 @@ TestSdkVersion=$(SourceBuiltSdkVersion); AdditionalTestArgs=$(_ScenarioTestsAdditionalArgs); DotNetTool=$(_DotNetTool); - NetCurrent=$(NetCurrent); _InitializeDotNetCli=$(DotNetSdkExtractDir.TrimEnd('/\'))" /> diff --git a/src/SourceBuild/patches/wpf/0001-condition-winforms-private-package-tfm.patch b/src/SourceBuild/patches/wpf/0001-condition-winforms-private-package-tfm.patch new file mode 100644 index 000000000000..9ada10a40249 --- /dev/null +++ b/src/SourceBuild/patches/wpf/0001-condition-winforms-private-package-tfm.patch @@ -0,0 +1,23 @@ +From 0a9987a2d861e38b3d4505ea62ea634616ad1c29 Mon Sep 17 00:00:00 2001 +From: Viktor Hofer +Date: Thu, 19 Dec 2024 22:48:00 +0100 +Subject: [PATCH] Fix winforms TFM when building inside the VMR + +Backport: https://github.com/dotnet/wpf/pull/10197 + +--- + eng/WpfArcadeSdk/tools/SdkReferences.targets | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/eng/WpfArcadeSdk/tools/SdkReferences.targets b/eng/WpfArcadeSdk/tools/SdkReferences.targets +index 6bbded2bc..64777d4d4 100644 +--- a/eng/WpfArcadeSdk/tools/SdkReferences.targets ++++ b/eng/WpfArcadeSdk/tools/SdkReferences.targets +@@ -125,6 +125,7 @@ + And $([MSBuild]::VersionGreaterThanOrEquals('$(TargetFrameworkVersion)', '3.0')) "> + + ++ <_WinFormsTargetFrameworkVersion Condition="'$(_WinFormsTargetFrameworkVersion)' == '' and '$(DotNetBuildOrchestrator)' == 'true'">$(NetCurrent) + <_WinFormsTargetFrameworkVersion Condition="'$(_WinFormsTargetFrameworkVersion)' == ''">$(_targetFrameworkRoot) + +