diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4918e4fe37ac..0668c30f8208 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -73,18 +73,18 @@ 6755ffefdb9899c08738941d7498d880bc25e52d - + https://github.com/dotnet/msbuild - 37fc8280dd8516257e7d04b9fc5e426de33091f2 + 5491064fe8d18c8f73d8b6048d277c3ec8b81d31 - + https://github.com/dotnet/msbuild - 37fc8280dd8516257e7d04b9fc5e426de33091f2 + 5491064fe8d18c8f73d8b6048d277c3ec8b81d31 - + https://github.com/dotnet/msbuild - 37fc8280dd8516257e7d04b9fc5e426de33091f2 + 5491064fe8d18c8f73d8b6048d277c3ec8b81d31 diff --git a/eng/Versions.props b/eng/Versions.props index 124f4811247c..76d3deeebdd6 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -199,8 +199,8 @@ then use that in Directory.Packages.props. At usage sites, either we use MicrosoftBuildMinimumVersion, or MicrosoftBuildVersion in source-only modes. --> - 17.13.0-preview-24568-05 - 17.13.0-preview-24568-05 + 17.13.0-preview-24604-04 + 17.13.0-preview-24604-04 $([System.IO.File]::ReadAllText('$(RepoRoot)src\Layout\redist\minimumMSBuildVersion').Trim()) diff --git a/test/Microsoft.NET.Build.Tests/GivenThatWeWantMSBuildToRespectCustomCulture.cs b/test/Microsoft.NET.Build.Tests/GivenThatWeWantMSBuildToRespectCustomCulture.cs index e81667d635bc..e1697e144e6f 100644 --- a/test/Microsoft.NET.Build.Tests/GivenThatWeWantMSBuildToRespectCustomCulture.cs +++ b/test/Microsoft.NET.Build.Tests/GivenThatWeWantMSBuildToRespectCustomCulture.cs @@ -27,9 +27,32 @@ public void SupportRespectAlreadyAssignedItemCulture_ByDefault_ForDotnet9(string new FileInfo(Path.Combine(outputDirectory, "test-2", "MSBuildCultureResourceGeneration.resources.dll")).Should().Exist(); } - [Theory] [InlineData("net7.0")] [InlineData("net6.0")] + [CoreMSBuildOnlyTheory] + public void SupportRespectAlreadyAssignedItemCulture_IsNotSupported_BuildShouldWarn(string targetFramework) + { + var testAsset = _testAssetsManager + .CopyTestAsset("MSBuildCultureResourceGeneration", identifier: targetFramework) + .WithSource() + .WithTargetFramework(targetFramework); + + var buildCommand = new BuildCommand(testAsset); + // Custom culture is allowed, but if set explicitly and overwritten - a warning is issued. + buildCommand.Execute().Should().Pass().And + // warning MSB3002: Explicitly set culture "test-1" for item "Resources.test-1.resx" was overwritten with inferred culture "", because 'RespectAlreadyAssignedItemCulture' property was not set. + .HaveStdOutContaining("warning MSB3002:"); + } + + [InlineData("net7.0")] + [InlineData("net6.0")] + [FullMSBuildOnlyTheory] + // Is this Failing? Is full FW MSBuild already on 17.13? Then remove this test and remove `[CoreMSBuildOnlyTheory]` attribute on the test above + // + // Until MSBuild 17.13 is merged into FullFW MSBuild in sdk tests - the test will fail, as + // proper recognition of custom cultures in RAR is not supported and hence the build will fail during copy: + // + // Microsoft.Common.CurrentVersion.targets(4959,5): error MSB3030: Could not copy the file "obj\Debug\net7.0\test-1\MSBuildCultureResourceGeneration.resources.dll" because it was not found. public void SupportRespectAlreadyAssignedItemCulture_IsNotSupported_BuildShouldFail(string targetFramework) { var testAsset = _testAssetsManager