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