From f51a45e9187ee51e2bffafcb6ce91a567f401be5 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 20 Aug 2020 14:50:09 +0200 Subject: [PATCH] [msbuild] Emit binding resources to the EmbeddedResource item group instead of ManifestResourceWithNoCulture. Fixes #3876. Fixes this warning: warning MSB9004: ManifestResourceWithNoCulture item type is deprecated. Emit EmbeddedResource items instead, with metadata WithCulture='false', Type='Resx', and optional LogicalName. There is a slight difference with regards to the warning message: the Type metadata is set to 'Non-Resx' instead of 'Resx' (because these resources aren't resx files). Fixes https://github.com/xamarin/xamarin-macios/issues/3876. --- .../Tasks/PrepareNativeReferencesTaskBase.cs | 2 ++ .../Xamarin.Shared.ObjCBinding.targets | 20 ++++++++++++------- tests/mmptest/src/BindingProjectTests.cs | 2 ++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/PrepareNativeReferencesTaskBase.cs b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/PrepareNativeReferencesTaskBase.cs index 873abaaa2178..5cbed2b3a438 100644 --- a/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/PrepareNativeReferencesTaskBase.cs +++ b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/PrepareNativeReferencesTaskBase.cs @@ -115,6 +115,8 @@ public override bool Execute () nativeFrameworks.Add (item); } else { item.SetMetadata ("LogicalName", logicalName); + item.SetMetadata ("WithCulture", "false"); + item.SetMetadata ("Type", "Non-Resx"); embeddedResources.Add (item); } diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.ObjCBinding.targets b/msbuild/Xamarin.Shared/Xamarin.Shared.ObjCBinding.targets index fa7e216b008c..bfbd0b22bdb2 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.ObjCBinding.targets +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.ObjCBinding.targets @@ -63,9 +63,12 @@ Copyright (C) 2020 Microsoft. All rights reserved. - - - + + + Non-Resx + false + +