From dc6356fa02b579c7e632716ad829873451aec023 Mon Sep 17 00:00:00 2001 From: Jackson Schuster Date: Thu, 15 Jun 2023 16:34:53 -0700 Subject: [PATCH 01/26] Fully qualify return type on UnreachableException methods --- .../gen/ComInterfaceGenerator/ComMethodContext.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComMethodContext.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComMethodContext.cs index f46d5aa608159..331f9c545ed14 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComMethodContext.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComMethodContext.cs @@ -105,6 +105,7 @@ private MethodDeclarationSyntax CreateUnreachableExceptionStub() { // DeclarationCopiedFromBaseDeclaration() => throw new UnreachableException("This method should not be reached"); return MethodInfo.Syntax + .WithReturnType(GenerationContext.SignatureContext.StubReturnType) .WithModifiers(TokenList()) .WithAttributeLists(List()) .WithExplicitInterfaceSpecifier(ExplicitInterfaceSpecifier( From 3ac3f6ff45986961b2d51ac2dc02ea1267488c2a Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Thu, 29 Jun 2023 13:18:31 -0700 Subject: [PATCH 02/26] Say correct default for blittable arrays in warning --- .../ByValueContentsMarshalKindValidator.cs | 7 +++++++ .../Resources/Strings.resx | 3 +++ .../Resources/xlf/Strings.cs.xlf | 5 +++++ .../Resources/xlf/Strings.de.xlf | 5 +++++ .../Resources/xlf/Strings.es.xlf | 5 +++++ .../Resources/xlf/Strings.fr.xlf | 5 +++++ .../Resources/xlf/Strings.it.xlf | 5 +++++ .../Resources/xlf/Strings.ja.xlf | 5 +++++ .../Resources/xlf/Strings.ko.xlf | 5 +++++ .../Resources/xlf/Strings.pl.xlf | 5 +++++ .../Resources/xlf/Strings.pt-BR.xlf | 5 +++++ .../Resources/xlf/Strings.ru.xlf | 5 +++++ .../Resources/xlf/Strings.tr.xlf | 5 +++++ .../Resources/xlf/Strings.zh-Hans.xlf | 5 +++++ .../Resources/xlf/Strings.zh-Hant.xlf | 5 +++++ .../CodeSnippets.cs | 11 ++++++++++ .../CompileFails.cs | 20 +++++++++++++++---- 17 files changed, 102 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index 66559ad90de19..a647a46fc4d42 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -44,6 +44,13 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf } else if (info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.In) { + if (info.ManagedType is SzArrayType && generator.Generator is StaticPinnableManagedValueMarshaller) + { + return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InAttributeNotSupportedWithoutOutBlittableArray + })); + } return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) { NotSupportedDetails = SR.InAttributeNotSupportedWithoutOut diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx index 71140a99ff445..8370628914cff 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx @@ -195,4 +195,7 @@ [In] and [Out] attributes + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf index 48c12f033fbe8..b29bda89fad9a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf @@ -57,6 +57,11 @@ Atribut „[In]“ se nepodporuje, pokud není zároveň použit i atribut „[Out]“. Chování atributu „[In]“ bez atributu „[Out]“ je stejné, jako výchozí chování. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Atributy „[In]“ a „[Out]“ se nepodporují u parametrů předaných odkazem. Použijte místo nich klíčová slova „in“, „ref“ nebo „out“. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf index 4de25d75bddd6..78b3c2a78de7f 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf @@ -57,6 +57,11 @@ Das [In]-Attribut wird nur unterstützt, wenn auch das [Out]-Attribut verwendet wird. Das Verhalten des [In]-Attributs ohne das [Out]-Attribut entspricht dem Standardverhalten. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Die Attribute \"[In]\" und \"[Out]\" werden für Parameter, die als Verweis übergeben werden, nicht unterstützt. Verwenden Sie stattdessen die Schlüsselwörter \"in\", \"ref\" oder \"out\". diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf index 81ed3249c4a82..ac5610acbc3e7 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf @@ -57,6 +57,11 @@ No se admite el atributo “[In]” a menos que también se use el atributo “[Out]”. El comportamiento del atributo “[In]” sin el atributo “[Out]” es el mismo que el predeterminado. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Los atributos “[In]” y “[Out]” no se admiten en los parámetros pasados por referencia. Use las palabras clave “in”, “ref” o “out” en su lugar. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf index f335b5f5780d0..0a0754cd76723 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf @@ -57,6 +57,11 @@ L’attribut « [In] » n’est pas pris en charge, sauf si l’attribut « [Out] » est également utilisé. Le comportement de l’attribut « [In] »sans l’attribut « [Out] » est identique au comportement par défaut. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Les attributs « [In] » et « [Out] » ne sont pas pris en charge sur les paramètres passés par référence. Utilisez les mots clés « in », « ref » ou 'out' à la place. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf index 86e613d130119..36745acf74385 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf @@ -57,6 +57,11 @@ L'attributo '[In]' non è supportato a meno che non venga usato anche l'attributo '[Out]'. Il comportamento dell'attributo '[In]' senza l'attributo '[Out]' è uguale a quello predefinito. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Gli attributi '[In]' e '[Out]' non sono supportati nei parametri passati per riferimento. Usare le parole chiave 'in', 'ref' o 'out'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf index 2bc3ae319e5f5..50364e9ad2c01 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf @@ -57,6 +57,11 @@ '[In]' 属性は、'[Out]' 属性も使用しない限りサポートされません。'[Out]' 属性なしでの '[In]' 属性の動作は、既定の動作と同じです。 + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. '[In]' 属性と '[Out]' 属性は、参照渡しされたパラメーターではサポートされていません。代わりに 'in'、'ref'、または 'out' キーワードを使用します。 diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf index 7b06d3369b2e4..18dabcab08bf8 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf @@ -57,6 +57,11 @@ '[In]' 특성은 '[Out]' 특성도 함께 사용되지 않는 한 지원되지 않습니다. '[Out]' 특성이 없는 '[In]' 특성의 동작은 기본 동작과 동일합니다. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. '[In]' 및 '[Out]' 특성은 참조로 전달된 매개 변수에서 지원되지 않습니다. 대신 'in', 'ref' 또는 'out' 키워드를 사용하세요. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf index 0a8a553f5c8ad..75e7661fc43fd 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf @@ -57,6 +57,11 @@ Atrybut „[In]” nie jest obsługiwany, chyba że używany jest również atrybut „[Out]”. Zachowanie atrybutu „[In]” bez atrybutu „[Out]” jest takie samo jak zachowanie domyślne. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Atrybuty „[In]” i „[Out]” nie są obsługiwane w parametrach przekazywanych przez odwołanie. Zamiast tego użyj słów kluczowych „in”, „ref” lub „out”. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf index ed67f2faee824..01a1626f1c240 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf @@ -57,6 +57,11 @@ O atributo '[In]' não tem suporte, a menos que o '[Out]' também seja usado. O comportamento do atributo '[In]' sem o atributo '[Out]' é o mesmo que o comportamento padrão. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Os atributos '[In]' e '[Out]' não têm suporte em parâmetros passados por referência. Use as palavras-chave 'in', 'ref' ou 'out'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf index b496d2f6367da..863b1b30120e1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf @@ -57,6 +57,11 @@ Атрибут \"[In]\" не поддерживается, если атрибут \"[Out]' не используется. Поведение атрибута \"[In]\" без \"[Out]\" совпадает с поведением по умолчанию. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. Атрибуты \"[In]\" и \"[Out]\" не поддерживаются для параметров, передаваемых по ссылке. Используйте вместо них ключевые слова \"in\", \"ref\" или \"out\". diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf index c84a8adfb0eac..a939f8d453f9b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf @@ -57,6 +57,11 @@ '[Out]' özniteliği de kullanılmadığı sürece '[In]' özniteliği desteklenmiyor. '[Out]' özniteliği kullanılmadığında '[In]' özniteliğinin davranışı varsayılan davranışla aynı olacaktır. + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. '[In]' ve '[Out]' öznitelikleri başvuruya göre aktarılan parametrelerde desteklenmiyor. Bunun yerine 'in', 'ref' veya 'out' anahtar sözcüklerini kullanın. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf index ae123afe5aa4a..890a3a8e7caff 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf @@ -57,6 +57,11 @@ 不支持 “[In]” 属性,除非同时使用 “[Out]” 属性。没有 “[Out]” 属性的情况下,“[In]” 属性的行为与默认行为相同。 + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. 引用传递的参数不支持 “[In]” 和 “[Out]” 属性。请改用 “in”、“ref” 或 “out” 关键字。 diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf index 9b1f729b9e49c..522de0a3cd19e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf @@ -57,6 +57,11 @@ 除非一併使用'[Out]'屬性,否則不支援'[In]'屬性。沒有'[Out]'屬性的'[In]'屬性行為與默認行為相同。 + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. 參考所傳遞的參數不支援'[In]'和'[Out]'屬性。請改用 'in'、'ref' 或 'out' 關鍵詞。 diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs index 62325c1626921..213e16ec78b75 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs @@ -51,6 +51,17 @@ private string UnmanagedCallConv(Type[]? CallConvs = null) public static readonly string DisableRuntimeMarshalling = "[assembly:System.Runtime.CompilerServices.DisableRuntimeMarshalling]"; public static readonly string UsingSystemRuntimeInteropServicesMarshalling = "using System.Runtime.InteropServices.Marshalling;"; + public string InAttributedBlittableArray => $$""" + using System.Runtime.InteropServices; + using System.Runtime.InteropServices.Marshalling; + + {{GeneratedComInterface()}} + partial interface INativeAPI + { + {{VirtualMethodIndex(0)}} + void Method([InAttribute] int[] parameter); + } + """; public string SpecifiedMethodIndexNoExplicitParameters => $$""" using System.Runtime.InteropServices; diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index 5ceb8316e1f7e..eec7ff86b4275 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -3,9 +3,6 @@ using System; using System.Collections.Generic; -using System.Collections.Immutable; -using System.IO; -using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Threading.Tasks; @@ -834,6 +831,21 @@ public static IEnumerable CodeSnippetsToCompile() .WithLocation(1) .WithArguments("ref return", "Basic.RefReadonlyReturn()"), } }; + yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new[] + { + VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments("The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only.", "p") + } }; + } + public static IEnumerable MyCodeSnippetsToCompile() + { + yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new[] + { + VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments("The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only.", "p") + } }; } [Theory] @@ -945,7 +957,7 @@ public async Task ValidateRequireAllowUnsafeBlocksDiagnostic() class AllowUnsafeBlocksTest : VerifyCS.Test { public AllowUnsafeBlocksTest() - :base(referenceAncillaryInterop: false) + : base(referenceAncillaryInterop: false) { } From e901baafc243f567a6dc4b931e6d1c1fe69553ef Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Thu, 6 Jul 2023 11:12:31 -0700 Subject: [PATCH 03/26] wip - SupportsByValueKind returns diag now --- .../Marshaling/BaseJSGenerator.cs | 5 +- .../Marshaling/EmptyJSGenerator.cs | 6 +- .../DiagnosticDescriptorProvider.cs | 4 +- .../ComInterfaceDispatchMarshallerFactory.cs | 6 +- ...anagedHResultExceptionMarshallerFactory.cs | 12 ++- .../ObjectUnwrapperMarshallerFactory.cs | 6 +- .../Marshalling/BlittableMarshaller.cs | 13 ++- .../Marshalling/BoolMarshaller.cs | 12 ++- .../ByValueContentsMarshalKindValidator.cs | 82 ++++++++++++------- .../Marshalling/CharMarshaller.cs | 12 ++- .../CustomTypeMarshallingGenerator.cs | 17 ++-- .../Marshalling/DelegateMarshaller.cs | 8 +- .../Marshalling/Forwarder.cs | 7 +- .../Marshalling/GeneratorDiagnostic.cs | 33 +++++++- .../Marshalling/MarshallingGenerator.cs | 5 +- .../Marshalling/SafeHandleMarshaller.cs | 7 +- .../StaticPinnableManagedValueMarshaller.cs | 16 ++-- ...nagedToManagedOwnershipTrackingStrategy.cs | 5 +- .../Resources/Strings.resx | 3 + .../Resources/xlf/Strings.cs.xlf | 5 ++ .../Resources/xlf/Strings.de.xlf | 5 ++ .../Resources/xlf/Strings.es.xlf | 5 ++ .../Resources/xlf/Strings.fr.xlf | 5 ++ .../Resources/xlf/Strings.it.xlf | 5 ++ .../Resources/xlf/Strings.ja.xlf | 5 ++ .../Resources/xlf/Strings.ko.xlf | 5 ++ .../Resources/xlf/Strings.pl.xlf | 5 ++ .../Resources/xlf/Strings.pt-BR.xlf | 5 ++ .../Resources/xlf/Strings.ru.xlf | 5 ++ .../Resources/xlf/Strings.tr.xlf | 5 ++ .../Resources/xlf/Strings.zh-Hans.xlf | 5 ++ .../Resources/xlf/Strings.zh-Hant.xlf | 5 ++ .../RcwAroundCcwTests.cs | 1 + .../CodeSnippets.cs | 2 +- .../CSharpSourceGeneratorVerifier.cs | 7 +- .../CompileFails.cs | 5 +- 36 files changed, 262 insertions(+), 77 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs index 4d4a9f20dc2c4..d05fa68752bb3 100644 --- a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs @@ -3,10 +3,10 @@ using System; using System.Collections.Generic; +using System.Runtime.InteropServices.JavaScript; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; -using System.Runtime.InteropServices.JavaScript; namespace Microsoft.Interop.JavaScript { @@ -26,7 +26,8 @@ protected BaseJSGenerator(MarshalerType marshalerType, IMarshallingGenerator inn public virtual bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => _inner.UsesNativeIdentifier(info, context); public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => _inner.GetNativeSignatureBehavior(info); public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => _inner.GetValueBoundaryBehavior(info, context); - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => _inner.SupportsByValueMarshalKind(marshalKind, context); + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => _inner.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); public virtual IEnumerable GenerateBind(TypePositionInfo info, StubCodeContext context) { diff --git a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs index 37204d1f7464d..11116a858988a 100644 --- a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs @@ -15,7 +15,11 @@ internal sealed class EmptyJSGenerator : IJSMarshallingGenerator public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.ManagedTypeAndAttributes; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => false; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.cs index c676f27cb9f40..37ea0d4869333 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.cs @@ -1,9 +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; -using System.Collections.Generic; -using System.Text; using Microsoft.CodeAnalysis; namespace Microsoft.Interop @@ -22,6 +19,7 @@ internal sealed class DiagnosticDescriptorProvider : IDiagnosticDescriptorProvid { GeneratorDiagnostic.NotSupported { NotSupportedDetails: null, TypePositionInfo: { IsManagedReturnPosition: true, MarshallingAttributeInfo: MarshalAsInfo } } => GeneratorDiagnostics.MarshalAsReturnConfigurationNotSupported, GeneratorDiagnostic.NotSupported { NotSupportedDetails: null, TypePositionInfo: { IsManagedReturnPosition: false, MarshallingAttributeInfo: MarshalAsInfo } } => GeneratorDiagnostics.MarshalAsParameterConfigurationNotSupported, + // Case for Blittable array GeneratorDiagnostic.NotSupported { NotSupportedDetails: not null, TypePositionInfo.IsManagedReturnPosition: true } => GeneratorDiagnostics.ReturnTypeNotSupportedWithDetails, GeneratorDiagnostic.NotSupported { NotSupportedDetails: not null, TypePositionInfo.IsManagedReturnPosition: false } => GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails, GeneratorDiagnostic.UnnecessaryData { TypePositionInfo.IsManagedReturnPosition: false } => GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo, diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs index 9373dd7eaa4b9..dd54f5d2c8d7d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs @@ -61,7 +61,11 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier; public bool IsSupported(TargetFramework target, Version version) => target == TargetFramework.Net && version >= new Version(5, 0); - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs index 13d82b4a33219..e5fed6d342c17 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs @@ -71,7 +71,11 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.NativeType; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } @@ -108,7 +112,11 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.NativeType; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs index ba55a49c1a7c9..206ca4a432e21 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs @@ -61,7 +61,11 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.NativeType; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs index 5173be0796ce3..a63d1dc6c7215 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs @@ -3,8 +3,7 @@ using System; using System.Collections.Generic; - -using Microsoft.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; @@ -103,7 +102,13 @@ public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) return info.IsByRef && !context.IsInStubReturnPosition(info) && !context.SingleFrameSpansNativeContext; } - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InOutAttributesNotSupportedOnByValueParameters + }; + return false; + } } - } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs index aee1d16404fc9..322f2bec91751 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; - +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -100,7 +100,15 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InOutAttributesNotSupportedOnByValueParameters + }; + + return false; + } } /// diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index a647a46fc4d42..8519e88db0968 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -29,13 +29,13 @@ public ResolvedGenerator Create(TypePositionInfo info, StubCodeContext context) private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo info, StubCodeContext context, ResolvedGenerator generator) { - if (generator.Generator is Forwarder) + if (generator.Generator is Forwarder || info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.Default) { // Forwarder allows everything since it just forwards to a P/Invoke. return generator; } - if (info.IsByRef && info.ByValueContentsMarshalKind != ByValueContentsMarshalKind.Default) + if (info.IsByRef) { return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) { @@ -44,48 +44,72 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf } else if (info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.In) { - if (info.ManagedType is SzArrayType && generator.Generator is StaticPinnableManagedValueMarshaller) + if (generator.Generator is StaticPinnableManagedValueMarshaller) { return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) { NotSupportedDetails = SR.InAttributeNotSupportedWithoutOutBlittableArray })); } - return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.InAttributeNotSupportedWithoutOut - })); } - else if (info.ByValueContentsMarshalKind != ByValueContentsMarshalKind.Default) + else { - ByValueMarshalKindSupport support = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, context); - if (support == ByValueMarshalKindSupport.NotSupported) - { - return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.InOutAttributeMarshalerNotSupported - })); - } - else if (support == ByValueMarshalKindSupport.Unnecessary) + bool supported = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic diagnostic); + if (!supported) { - var locations = ImmutableArray.Empty; - if (info.ByValueMarshalAttributeLocations.InLocation is not null) + if (diagnostic.IsFatal) { - locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); + return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(diagnostic)); } - if (info.ByValueMarshalAttributeLocations.OutLocation is not null) + else { - locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); - } + var locations = ImmutableArray.Empty; + if (info.ByValueMarshalAttributeLocations.InLocation is not null) + { + locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); + } + if (info.ByValueMarshalAttributeLocations.OutLocation is not null) + { + locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); + } - return generator with - { - Diagnostics = generator.Diagnostics.Add(new GeneratorDiagnostic.UnnecessaryData(info, context, locations) + return generator with { - UnnecessaryDataDetails = SR.InOutAttributes - }) - }; + Diagnostics = generator.Diagnostics.Add(new GeneratorDiagnostic.UnnecessaryData(info, context, locations) + { + UnnecessaryDataDetails = SR.InOutAttributes + }) + }; + + } } + //if (support == ByValueMarshalKindSupport.NotSupported) + //{ + // return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) + // { + // NotSupportedDetails = SR.InOutAttributeMarshalerNotSupported + // })); + //} + //else if (support == ByValueMarshalKindSupport.Unnecessary) + //{ + // var locations = ImmutableArray.Empty; + // if (info.ByValueMarshalAttributeLocations.InLocation is not null) + // { + // locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); + // } + // if (info.ByValueMarshalAttributeLocations.OutLocation is not null) + // { + // locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); + // } + + // return generator with + // { + // Diagnostics = generator.Diagnostics.Add(new GeneratorDiagnostic.UnnecessaryData(info, context, locations) + // { + // UnnecessaryDataDetails = SR.InOutAttributes + // }) + // }; + //} } return generator; } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs index b432ea88d7c94..88bcc5a8da056 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; - +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -128,8 +128,6 @@ public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) return context.IsInStubReturnPosition(info) || (info.IsByRef && !context.SingleFrameSpansNativeContext); } - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; - private static bool IsPinningPathSupported(TypePositionInfo info, StubCodeContext context) { return context.SingleFrameSpansNativeContext @@ -138,5 +136,13 @@ private static bool IsPinningPathSupported(TypePositionInfo info, StubCodeContex } private static string PinnedIdentifier(string identifier) => $"{identifier}__pinned"; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InOutAttributesNotSupportedOnByValueParameters + }; + return false; + } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs index 3c492cb16ac0b..8dec6faaade08 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs @@ -3,9 +3,8 @@ using System; using System.Collections.Generic; -using Microsoft.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; namespace Microsoft.Interop { @@ -111,14 +110,20 @@ private bool ShouldGenerateByValueOutMarshalling(TypePositionInfo info) return _byValueContentsMarshallingSupport == ByValueMarshalKindSupport.Supported && !info.IsByRef && info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out); } - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) + public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) { - return _byValueContentsMarshallingSupport; + return _nativeTypeMarshaller.UsesNativeIdentifier(info, context); } - public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) { - return _nativeTypeMarshaller.UsesNativeIdentifier(info, context); + if (_byValueContentsMarshallingSupport is ByValueMarshalKindSupport.Supported) + { + diagnostic = null; + return true; + } + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(_byValueContentsMarshallingSupport, info, context); + return false; } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs index 2d2461e9b160f..c06967d696eb9 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs @@ -3,7 +3,7 @@ using System; using System.Collections.Generic; -using Microsoft.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; @@ -102,6 +102,10 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs index 0b75eb030f88e..6fd7cd3295f13 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; namespace Microsoft.Interop @@ -33,6 +34,10 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.Supported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs index 8abcaf363fd5d..6775a43b6750c 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.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.Collections.Immutable; using System.Linq; using Microsoft.CodeAnalysis; @@ -26,7 +27,7 @@ private GeneratorDiagnostic(TypePositionInfo typePositionInfo, StubCodeContext s public abstract DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName); - public sealed record NotSupported(TypePositionInfo TypePositionInfo, StubCodeContext StubCodeContext) : GeneratorDiagnostic(TypePositionInfo, StubCodeContext, isFatal: true) + public sealed record NotSupported(TypePositionInfo TypePositionInfo, StubCodeContext Context) : GeneratorDiagnostic(TypePositionInfo, Context, isFatal: true) { /// /// [Optional] Specific reason marshalling of the supplied type isn't supported. @@ -59,5 +60,35 @@ public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, elementName); } } + + public static GeneratorDiagnostic DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport support, TypePositionInfo info, StubCodeContext context) + { + switch (support) + { + case ByValueMarshalKindSupport.Supported: + throw new ArgumentException("Supported ByValueMarshalKind will not have a diagnostic"); + case ByValueMarshalKindSupport.NotSupported: + return new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InOutAttributeMarshalerNotSupported + }; + case ByValueMarshalKindSupport.Unnecessary: + var locations = ImmutableArray.Empty; + if (info.ByValueMarshalAttributeLocations.InLocation is not null) + { + locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); + } + if (info.ByValueMarshalAttributeLocations.OutLocation is not null) + { + locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); + } + return new GeneratorDiagnostic.UnnecessaryData(info, context, locations) + { + UnnecessaryDataDetails = SR.InOutAttributes + }; + default: + throw new UnreachableException("Unexpected ByValueMarshalKindSupport"); + } + } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs index d1c26134145eb..4b9eff270b277 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs @@ -3,9 +3,8 @@ using System; using System.Collections.Generic; -using System.Collections.Immutable; +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; -using Microsoft.CodeAnalysis.Diagnostics; namespace Microsoft.Interop { @@ -155,6 +154,6 @@ public interface IMarshallingGenerator /// The marshal kind. /// The marshalling context. /// If the provided is supported and if it is required to specify the requested behavior. - ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context); + bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs index 42129ce4a16a6..0e730c99cfef9 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; @@ -234,6 +235,10 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => ByValueMarshalKindSupport.NotSupported; + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs index a4256b204d567..5280dc8521530 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -62,11 +63,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont return _innerMarshallingGenerator.Generate(info, context); } - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) - { - return _innerMarshallingGenerator.SupportsByValueMarshalKind(marshalKind, context); - } - public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) { if (IsPinningPathSupported(info, context)) @@ -107,5 +103,15 @@ private IEnumerable GeneratePinningPath(TypePositionInfo info, EmptyStatement()); } } + + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + if (marshalKind is ByValueContentsMarshalKind.In) + { + diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } + return _innerMarshallingGenerator.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); + } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs index 00f54099c90aa..3f1c29dd46efa 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs @@ -3,7 +3,7 @@ using System; using System.Collections.Generic; -using System.Text; +using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; @@ -164,7 +164,8 @@ IEnumerable GenerateStatementsFromInner(StubCodeContext context public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => _inner.GetNativeSignatureBehavior(info); public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => _inner.GetValueBoundaryBehavior(info, context); public bool IsSupported(TargetFramework target, Version version) => _inner.IsSupported(target, version); - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, StubCodeContext context) => _inner.SupportsByValueMarshalKind(marshalKind, context); + public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + => _inner.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => _inner.UsesNativeIdentifier(info, context); } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx index 8370628914cff..7d6bce45d75e0 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx @@ -198,4 +198,7 @@ The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf index b29bda89fad9a..d1b77745fcfd9 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf @@ -77,6 +77,11 @@ atributy [In] a [Out] + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. Určený parametr musí být zařazený ze spravovaného do nespravovaného, ale zařazovací typ {0} to nepodporuje. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf index 78b3c2a78de7f..6fa42586983dc 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf @@ -77,6 +77,11 @@ [In]- und [Out]-Attribute + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. Der angegebene Parameter muss von verwaltet zu nicht verwaltet gemarshallt werden, aber der Marshaller-Typ ‚{0}‘ unterstützt dies nicht. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf index ac5610acbc3e7..427cb980c3876 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf @@ -77,6 +77,11 @@ [In] and [Out] attributes + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. El parámetro especificado debe serializarse de administrado a no administrado, pero el tipo no administrado “{0}” no lo admite. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf index 0a0754cd76723..2d244d977ee4e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf @@ -77,6 +77,11 @@ Attributs [In] et [Out] + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. Le paramètre spécifié doit être marshalé de managé à non managé, mais le type marshaleur « {0} » ne le prend pas en charge. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf index 36745acf74385..cd0709044e682 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf @@ -77,6 +77,11 @@ Attributi [In] e [Out] + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. È necessario effettuare il marshalling del parametro specificato da gestito a non gestito, ma il tipo di gestore del marshalling '{0}' non lo supporta. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf index 50364e9ad2c01..d9ee76d8d126b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf @@ -77,6 +77,11 @@ 属性の[In]と[Out] + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. 指定されたパラメーターはマネージドからアンマネージドにマーシャリングする必要がありますが、マーシャラー型 '{0}' ではそれはサポートされていません。 diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf index 18dabcab08bf8..c0687c2d05955 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf @@ -77,6 +77,11 @@ [In] and [Out] attributes + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. 지정된 매개 변수를 관리형에서 비관리형으로 마샬링해야 하지만 마샬러 유형 '{0}'은(는) 지원하지 않습니다. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf index 75e7661fc43fd..56c7da77c1313 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf @@ -77,6 +77,11 @@ [In] and [Out] attributes + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. Określony parametr musi być kierowany z zarządzanego do niezarządzanego, ale typ marszałka „{0}” go nie obsługuje. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf index 01a1626f1c240..f2f154329b357 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf @@ -77,6 +77,11 @@ Atributos [In] e [Out] + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. O parâmetro especificado precisa ser marshalled de gerenciado para não gerenciado, mas o tipo de marshaller '{0}' não dá suporte a ele. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf index 863b1b30120e1..113ccc5be4a95 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf @@ -77,6 +77,11 @@ Атрибуты [In] и [Out] + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. Указанный параметр необходимо маршалировать из управляемого в неуправляемый, но тип маршаллера "{0}" не поддерживает это. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf index a939f8d453f9b..eaa92551a2ece 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf @@ -77,6 +77,11 @@ [In] and [Out] attributes + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. Belirtilen parametrenin yönetilenden yönetilmeyene doğru hazırlanması gerekiyor, ancak '{0}' hazırlayıcı türü bunu desteklemiyor. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf index 890a3a8e7caff..2ef2cfb76325a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf @@ -77,6 +77,11 @@ [In] 和 [Out] 属性 + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. 需要将指定的参数从托管封送到非托管,但封送程序类型“{0}”不支持它。 diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf index 522de0a3cd19e..6eab8a28fd1ea 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf @@ -77,6 +77,11 @@ [In] 與 [Out] 屬性 + + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. 指定的參數必須從受控封送處理到非受控,但封送處理程式類型 '{0}' 不支援。 diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs index cca4aa23ea2a9..2bca812b707d5 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs @@ -293,6 +293,7 @@ public void Set(int[][] array, int[] widths, int length) _data = array; _widths = widths; } + public void asds([MarshalUsing(ConstantElementCount = 10)] ref int[][][][] array) { } } [CustomMarshaller(typeof(int), MarshalMode.ElementIn, typeof(ThrowOn4thElementMarshalled))] diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs index 213e16ec78b75..33100b9e7ad24 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs @@ -216,8 +216,8 @@ partial interface INativeAPI int pSize, [MarshalUsing(CountElementName = "pInSize")] in {{collectionType}} pIn, in int pInSize, - int pRefSize, [MarshalUsing(CountElementName = "pRefSize")] ref {{collectionType}} pRef, + int pRefSize, [MarshalUsing(CountElementName = "pOutSize")] out {{collectionType}} pOut, out int pOutSize); } diff --git a/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs b/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs index 1af721d9dfc5c..12793e5290b07 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs @@ -4,14 +4,11 @@ using System; using System.Collections.Immutable; using System.Diagnostics; -using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Testing; -using Microsoft.CodeAnalysis.CSharp.Testing.XUnit; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Testing; using Microsoft.CodeAnalysis.Testing.Verifiers; @@ -106,7 +103,7 @@ public Test(TestTargetFramework targetFramework) SolutionTransforms.Add(CSharpVerifierHelper.GetTargetFrameworkAnalyzerOptionsProviderTransform(targetFramework)); } public Test(bool referenceAncillaryInterop) - :this(TestTargetFramework.Net) + : this(TestTargetFramework.Net) { if (referenceAncillaryInterop) { @@ -148,7 +145,7 @@ protected override ParseOptions CreateParseOptions() return new CSharpParseOptions(LanguageVersion.Preview, DocumentationMode.Diagnose); } - protected async override Task<(Compilation compilation, ImmutableArray generatorDiagnostics)> GetProjectCompilationAsync(Project project, IVerifier verifier, CancellationToken cancellationToken) + protected override async Task<(Compilation compilation, ImmutableArray generatorDiagnostics)> GetProjectCompilationAsync(Project project, IVerifier verifier, CancellationToken cancellationToken) { var (compilation, diagnostics) = await base.GetProjectCompilationAsync(project, verifier, cancellationToken); VerifyFinalCompilation(compilation); diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index eec7ff86b4275..eb816368e4f7d 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -381,9 +381,10 @@ public static IEnumerable CodeSnippetsToCompile() // By value non-array with [In, Out] attributes yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new[] { - VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + VerifyCS.Diagnostic(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) .WithLocation(0) - .WithArguments("The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior.", "p") + .WithArguments("[In] and [Out] attributes", "p") + .WithSeverity(DiagnosticSeverity.Hidden) } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("Out"), new[] { From 2fd1d44cd995b88df38f49f0dba1cea92630db9f Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Thu, 6 Jul 2023 15:38:00 -0700 Subject: [PATCH 04/26] Use one resources file for all generators and tests, change byvalue attr diags --- eng/resources.targets | 2 +- .../ComInterfaceGenerator.csproj | 1 + .../Resources/Strings.resx | 410 ------ .../Resources/Strings.resx | 761 +++++++--- .../gen/Common/Resources/xlf/Strings.cs.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.de.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.es.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.fr.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.it.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.ja.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.ko.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.pl.xlf | 1286 +++++++++++++++++ .../Common/Resources/xlf/Strings.pt-BR.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.ru.xlf | 1286 +++++++++++++++++ .../gen/Common/Resources/xlf/Strings.tr.xlf | 1286 +++++++++++++++++ .../Common/Resources/xlf/Strings.zh-Hans.xlf | 1286 +++++++++++++++++ .../Common/Resources/xlf/Strings.zh-Hant.xlf | 1286 +++++++++++++++++ .../GeneratorDiagnostics.cs | 22 +- .../LibraryImportGenerator.csproj | 1 + .../Microsoft.Interop.SourceGeneration.csproj | 1 + .../Resources/Strings.resx | 204 --- .../Resources/xlf/Strings.cs.xlf | 4 +- .../Resources/xlf/Strings.de.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.ko.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 +- .../Resources/xlf/Strings.zh-Hans.xlf | 4 +- .../Resources/xlf/Strings.zh-Hant.xlf | 4 +- .../ComInterfaceGenerator.Unit.Tests.csproj | 34 +- .../CompileFails.cs | 30 +- .../CompileFails.cs | 52 +- .../LibraryImportGenerator.Unit.Tests.csproj | 1 + 38 files changed, 17374 insertions(+), 915 deletions(-) delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/Strings.resx rename src/libraries/System.Runtime.InteropServices/gen/{LibraryImportGenerator => Common}/Resources/Strings.resx (57%) create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx diff --git a/eng/resources.targets b/eng/resources.targets index 65b880d91a7f7..582314a24b368 100644 --- a/eng/resources.targets +++ b/eng/resources.targets @@ -12,7 +12,7 @@ - + diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.csproj b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.csproj index a8fb6566d6627..124fcbac72af4 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.csproj +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.csproj @@ -11,6 +11,7 @@ RS2008;$(NoWarn) cs $(DefineConstants);MICROSOFT_INTEROP_COMINTERFACEGENERATOR + ../Common/Resources/Strings.resx diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/Strings.resx deleted file mode 100644 index 2d66fc739503b..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/Strings.resx +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Source-generated COM will ignore any configuration that is not supported. - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - - Specified configuration is not supported by source-generated COM. - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - - - Invalid 'VirtualMethodIndexAttribute' usage - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - - - Invalid 'GeneratedComInterfaceAttribute' usage. - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - - - Analysis for COM interface generation has failed. - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - - - The base COM interface failed to generate source. Code will not be generated for this interface. - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - {1} is details about which type/containing type is not accessible - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - {1} is details about which type/containing type is not accessible - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - - - Invalid 'GeneratedComClassAttribute' usage - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - - - Convert to 'GeneratedComInterface' - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - - - Convert to 'GeneratedComInterface' and allow unsafe code - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - - - The specified 'ComInterfaceOptions' are invalid. - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - Unnecessary marshalling info was provided and can be removed. - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx similarity index 57% rename from src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/Strings.resx rename to src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx index 2e528def1c88f..58aad49bfd818 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx @@ -117,18 +117,135 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + The provided graph has cycles and cannot be topologically sorted. + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + Count information for a given element at a given indirection level can only be specified once + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + Containing type '{0}' has accessibility '{1}'. + + + '{0}' has accessibility '{1}'. + + + [In] and [Out] attributes + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + Add missing custom type marshaller members + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + Analysis for COM interface generation has failed. + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + The base COM interface failed to generate source. Code will not be generated for this interface. + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. @@ -138,36 +255,105 @@ Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + Source-generated P/Invokes will ignore any configuration that is not supported. - + + Source-generated COM will ignore any configuration that is not supported. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + + The specified marshalling configuration is not supported by source-generated COM. {0}. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + Specified configuration is not supported by source-generated P/Invokes. + + Specified configuration is not supported by source-generated COM. + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + Convert to 'GeneratedComInterface' and allow unsafe code + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + Convert to 'GeneratedComInterface' + Convert to 'LibraryImport' + + Convert to 'LibraryImport' and enable unsafe code + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time @@ -177,42 +363,56 @@ Convert to 'LibraryImport' with '{0}' suffix - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + Marshaller type does not have the required shape - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + A marshaller for an element scenario cannot be stateful. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - - Invalid 'LibraryImportAttribute' usage + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + An entry-point type for marshalling a given type must not be 'null'. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - {1} is a message containing additional details about what is not valid + + The entry-point marshaller type for the type '{0}' must be not 'null' - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + The first parameter of the first method must be the same type as the return types of the second method. - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + The first parameters of the two methods must be the same type. + + + The first parameter of '{0}' and '{1}' must be the same type + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. @@ -220,144 +420,150 @@ The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - - The unmanaged type for a custom marshaller must be a C# unmanaged type. + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - - The return type of '{0}' must be unmanaged + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - An entry-point type for marshalling a given type must not be 'null'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - The entry-point marshaller type for the type '{0}' must be not 'null' + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - - The managed type for a custom marshaller must be non-null. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - The managed type for the entry-point marshaller type '{0}' must not be 'null' + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + Invalid 'CustomMarshallerAttribute' usage - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the method + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - - Specified type is not supported by source-generated P/Invokes + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + Invalid 'GeneratedComClassAttribute' usage - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + Invalid 'GeneratedComInterfaceAttribute' usage. - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + Invalid 'LibraryImportAttribute' usage - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + Specified managed type is invalid - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + Specified marshaller type is invalid - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + Invalid 'MarshalMode' value. - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + Invalid 'NativeMarshallingAttribute' usage - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + The specified 'ComInterfaceOptions' are invalid. - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + Marshaller type has incompatible method signatures - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - Add missing custom type marshaller members + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. @@ -365,41 +571,53 @@ The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - - Marshaller type does not have the required shape + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - - Invalid 'CustomMarshallerAttribute' usage + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - - Invalid 'NativeMarshallingAttribute' usage + + The managed type for a custom marshaller must be non-null. - - Specified marshaller type is invalid + + The managed type for the entry-point marshaller type '{0}' must not be 'null' - - Specified managed type is invalid + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - Marshaller type has incompatible method signatures + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. @@ -413,63 +631,93 @@ The type '{0}' must be a static class or a value type - - The return types of the two methods must be the same type. + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - - The return type of '{0}' must be the same type as the return type of '{1}' + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - - The return type the two method must be the expected type. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - - The return type of '{0}' must be '{1}' + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - - The first parameter of the first method must be the same type as the return types of the second method. + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - - The first parameter of '{0}' must be the same type as the return type of '{1}' + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - - The first parameters of the two methods must be the same type. + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - - The first parameter of '{0}' and '{1}' must be the same type + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - A marshaller for an element scenario cannot be stateful. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + LibraryImportAttribute requires unsafe code. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + The return type the two method must be the expected type. + + + The return type of '{0}' must be '{1}' + + + The return types of the two methods must be the same type. + + + The return type of '{0}' must be the same type as the return type of '{1}' + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. @@ -482,32 +730,115 @@ The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - - Convert to 'LibraryImport' and enable unsafe code + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - - Invalid 'MarshalMode' value. + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + The return type of '{0}' must be unmanaged + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + + + Specified type is not supported by source-generated COM Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. @@ -521,4 +852,20 @@ Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf new file mode 100644 index 0000000000000..d68e8f1655598 --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf new file mode 100644 index 0000000000000..8b4284482012b --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf new file mode 100644 index 0000000000000..de1416d822e03 --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf new file mode 100644 index 0000000000000..d0b865412ec85 --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf new file mode 100644 index 0000000000000..e2f73422caf8e --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf new file mode 100644 index 0000000000000..0457e2beb020c --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf new file mode 100644 index 0000000000000..760d42ac1f268 --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf new file mode 100644 index 0000000000000..3d0f84a77d6ef --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf new file mode 100644 index 0000000000000..b330f59bb9425 --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf new file mode 100644 index 0000000000000..123e6b615d3fe --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf new file mode 100644 index 0000000000000..489fe9561e2ec --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf new file mode 100644 index 0000000000000..ae97596b9d867 --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf new file mode 100644 index 0000000000000..67a3522f23d6b --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf @@ -0,0 +1,1286 @@ + + + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code + + + + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. + + + + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM + + + + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM + + + + Add missing custom type marshaller members + Add missing custom type marshaller members + + + + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. + + + + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. + + + + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. + + + + Analysis for COM interface generation has failed. + Analysis for COM interface generation has failed. + + + + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. + + + + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. + + + + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. + + + + The base COM interface failed to generate source. Code will not be generated for this interface. + The base COM interface failed to generate source. Code will not be generated for this interface. + + + + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. + + + + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' + + + + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. + + + + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded + + + + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + Casting between a 'ComImport' type and a source-generated COM type is not supported + Casting between a 'ComImport' type and a source-generated COM type is not supported + + + + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. + + + + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. + + + + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. + + + + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead + + + + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' + + + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. + + + + Source-generated COM will ignore any configuration that is not supported. + Source-generated COM will ignore any configuration that is not supported. + + + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + + + The specified marshalling configuration is not supported by source-generated COM. {0}. + The specified marshalling configuration is not supported by source-generated COM. {0}. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + + + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + + + Specified configuration is not supported by source-generated COM. + Specified configuration is not supported by source-generated COM. + + + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' + + + + Containing type '{0}' has accessibility '{1}'. + Containing type '{0}' has accessibility '{1}'. + + + + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work + + + + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code + + + + Convert to 'GeneratedComInterface' and allow unsafe code + Convert to 'GeneratedComInterface' and allow unsafe code + + + + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. + + + + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time + + + + Convert to 'GeneratedComInterface' + Convert to 'GeneratedComInterface' + + + + Convert to 'LibraryImport' + Convert to 'LibraryImport' + + + + Convert to 'LibraryImport' and enable unsafe code + Convert to 'LibraryImport' and enable unsafe code + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. + + + + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time + + + + Convert to 'LibraryImport' with '{0}' suffix + Convert to 'LibraryImport' with '{0}' suffix + + + + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code + + + + Marshaller type does not have the required shape + Marshaller type does not have the required shape + + + + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + This element cannot depend on '{0}' for collection size information without creating a dependency cycle + + + + Count information for a given element at a given indirection level can only be specified once + Count information for a given element at a given indirection level can only be specified once + + + + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} + + + + A marshaller for an element scenario cannot be stateful. + A marshaller for an element scenario cannot be stateful. + + + + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' + + + + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. + + + + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. + + + + An entry-point type for marshalling a given type must not be 'null'. + An entry-point type for marshalling a given type must not be 'null'. + + + + The entry-point marshaller type for the type '{0}' must be not 'null' + The entry-point marshaller type for the type '{0}' must be not 'null' + + + + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. + + + + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type + + + + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection + + + + The first parameter of the first method must be the same type as the return types of the second method. + The first parameter of the first method must be the same type as the return types of the second method. + + + + The first parameter of '{0}' must be the same type as the return type of '{1}' + The first parameter of '{0}' must be the same type as the return type of '{1}' + + + + The first parameters of the two methods must be the same type. + The first parameters of the two methods must be the same type. + + + + The first parameter of '{0}' and '{1}' must be the same type + The first parameter of '{0}' and '{1}' must be the same type + + + + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. + + + + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. + + + + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable + + + + The provided graph has cycles and cannot be topologically sorted. + The provided graph has cycles and cannot be topologically sorted. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + + + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. + + + + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. + + + + [In] and [Out] attributes + [In] and [Out] attributes + + + + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + + + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. + + + + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. + + + + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied + + + + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported + + + + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. + + + + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. + + + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + + + + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. + + + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + + + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + + + Invalid 'CustomMarshallerAttribute' usage + Invalid 'CustomMarshallerAttribute' usage + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. + + + + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. + + + + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. + + + + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + The provided value is not a known flag of the 'ExceptionMarshalling' enum. + + + + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. + + + + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. + + + + Invalid 'GeneratedComClassAttribute' usage + Invalid 'GeneratedComClassAttribute' usage + + + + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. + + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} + {1} is details about which type/containing type is not accessible + + + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. + + + + Invalid 'GeneratedComInterfaceAttribute' usage. + Invalid 'GeneratedComInterfaceAttribute' usage. + + + + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. + + + + Invalid 'LibraryImportAttribute' usage + Invalid 'LibraryImportAttribute' usage + + + + Specified managed type is invalid + Specified managed type is invalid + + + + Invalid 'MarshalMode' value. + Invalid 'MarshalMode' value. + + + + Specified marshaller type is invalid + Specified marshaller type is invalid + + + + Invalid 'NativeMarshallingAttribute' usage + Invalid 'NativeMarshallingAttribute' usage + + + + The specified 'ComInterfaceOptions' are invalid. + The specified 'ComInterfaceOptions' are invalid. + + + + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} + + + + Marshaller type has incompatible method signatures + Marshaller type has incompatible method signatures + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + + + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid + + + Invalid 'VirtualMethodIndexAttribute' usage + Invalid 'VirtualMethodIndexAttribute' usage + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. + + + + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' + + + + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' + + + + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. + + + + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. + + + + The managed type for a custom marshaller must be non-null. + The managed type for a custom marshaller must be non-null. + + + + The managed type for the entry-point marshaller type '{0}' must not be 'null' + The managed type for the entry-point marshaller type '{0}' must not be 'null' + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. + + + + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. + + + + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. + + + + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. + + + + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. + + + + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' + + + + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. + + + + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. + + + + The type '{0}' must be a static class or a value type + The type '{0}' must be a static class or a value type + + + + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type + + + + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type + + + + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. + + + + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. + + + + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. + + + + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. + + + + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute + + + + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. + + + + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. + + + + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. + + + + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. + + + + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. + + + + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + + + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + + + The return type the two method must be the expected type. + The return type the two method must be the expected type. + + + + The return type of '{0}' must be '{1}' + The return type of '{0}' must be '{1}' + + + + The return types of the two methods must be the same type. + The return types of the two methods must be the same type. + + + + The return type of '{0}' must be the same type as the return type of '{1}' + The return type of '{0}' must be the same type as the return type of '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime + + + + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' + + + + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM + + + + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. + + + + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. + + + + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. + + + + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' + + + + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' + + + + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller + + + + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. + + + + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' + + + + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' + + + + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter + + + + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter + + + + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. + + + + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' + + + + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. + + + + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type + + + + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} + {1} is details about which type/containing type is not accessible + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. + + + + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. + + + + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same + + + + '{0}' has accessibility '{1}'. + '{0}' has accessibility '{1}'. + + + + The unmanaged type for a custom marshaller must be a C# unmanaged type. + The unmanaged type for a custom marshaller must be a C# unmanaged type. + + + + The return type of '{0}' must be unmanaged + The return type of '{0}' must be unmanaged + + + + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. + + + + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method + + + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + + + + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. + + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} The generated source will not handle marshalling of parameter '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the parameter + + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. + + + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} The generated source will not handle marshalling of the return value of method '{1}'. + {0} is a message containing additional details about what is not supported +{1} is the name of the method + + + Specified type is not supported by source-generated P/Invokes + Specified type is not supported by source-generated P/Invokes + + + + Specified type is not supported by source-generated COM + Specified type is not supported by source-generated COM + + + + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info was provided and can be removed. + Unnecessary marshalling info was provided and can be removed. + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + + + + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters + + + + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters + + + + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter + + + + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter + + + + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs index c3de7263618a1..ad7f626e87a35 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs @@ -2,9 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Diagnostics; using Microsoft.CodeAnalysis; namespace Microsoft.Interop @@ -29,6 +26,7 @@ public class Ids private const string Category = "LibraryImportGenerator"; + /// public static readonly DiagnosticDescriptor InvalidAttributedMethodSignature = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, @@ -39,6 +37,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.InvalidAttributedMethodDescription))); + /// public static readonly DiagnosticDescriptor InvalidAttributedMethodContainingTypeMissingModifiers = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, @@ -49,6 +48,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.InvalidAttributedMethodDescription))); + /// public static readonly DiagnosticDescriptor InvalidStringMarshallingConfiguration = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, @@ -59,6 +59,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.InvalidStringMarshallingConfigurationDescription))); + /// public static readonly DiagnosticDescriptor ParameterTypeNotSupported = new DiagnosticDescriptor( Ids.TypeNotSupported, @@ -69,6 +70,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor ReturnTypeNotSupported = new DiagnosticDescriptor( Ids.TypeNotSupported, @@ -79,6 +81,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor ParameterTypeNotSupportedWithDetails = new DiagnosticDescriptor( Ids.TypeNotSupported, @@ -89,6 +92,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor ReturnTypeNotSupportedWithDetails = new DiagnosticDescriptor( Ids.TypeNotSupported, @@ -99,6 +103,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor ParameterConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, @@ -109,6 +114,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor ReturnConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, @@ -119,6 +125,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor MarshalAsParameterConfigurationNotSupported = new DiagnosticDescriptor( GeneratorDiagnostics.Ids.ConfigurationNotSupported, @@ -129,6 +136,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor MarshalAsReturnConfigurationNotSupported = new DiagnosticDescriptor( GeneratorDiagnostics.Ids.ConfigurationNotSupported, @@ -139,6 +147,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor ConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, @@ -149,6 +158,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor ConfigurationValueNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, @@ -159,6 +169,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor MarshallingAttributeConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, @@ -169,6 +180,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + /// public static readonly DiagnosticDescriptor CannotForwardToDllImport = new DiagnosticDescriptor( Ids.CannotForwardToDllImport, @@ -179,6 +191,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.CannotForwardToDllImportDescription))); + /// public static readonly DiagnosticDescriptor RequiresAllowUnsafeBlocks = new DiagnosticDescriptor( Ids.RequiresAllowUnsafeBlocks, @@ -189,6 +202,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksDescription))); + /// public static readonly DiagnosticDescriptor UnnecessaryParameterMarshallingInfo = new DiagnosticDescriptor( Ids.UnnecessaryMarshallingInfo, @@ -202,6 +216,8 @@ public class Ids { WellKnownDiagnosticTags.Unnecessary }); + + /// public static readonly DiagnosticDescriptor UnnecessaryReturnMarshallingInfo = new DiagnosticDescriptor( Ids.UnnecessaryMarshallingInfo, diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/LibraryImportGenerator.csproj b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/LibraryImportGenerator.csproj index 621caeaf96765..9710f54fbb82d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/LibraryImportGenerator.csproj +++ b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/LibraryImportGenerator.csproj @@ -10,6 +10,7 @@ Diagnostics in runtime use a different mechanism (docs/project/list-of-diagnostics.md) --> RS2008;$(NoWarn) cs + ../Common/Resources/Strings.resx diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Microsoft.Interop.SourceGeneration.csproj b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Microsoft.Interop.SourceGeneration.csproj index a1efa403dffbf..63f1d984c332f 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Microsoft.Interop.SourceGeneration.csproj +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Microsoft.Interop.SourceGeneration.csproj @@ -6,6 +6,7 @@ $(DefineConstants);MICROSOFT_INTEROP_SOURCEGENERATION true cs + ../Common/Resources/Strings.resx diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx deleted file mode 100644 index 7d6bce45d75e0..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/Strings.resx +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - - - The provided graph has cycles and cannot be topologically sorted. - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - - - Count information for a given element at a given indirection level can only be specified once - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - - - Containing type '{0}' has accessibility '{1}'. - - - '{0}' has accessibility '{1}'. - - - [In] and [Out] attributes - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf index d1b77745fcfd9..9020a49ae71e2 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf index 6fa42586983dc..2ce74b046e7dc 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf index 427cb980c3876..7524ccda0a894 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf index 2d244d977ee4e..a46be28e8f3cc 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf index cd0709044e682..c8733c95ce450 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf index d9ee76d8d126b..58ab64f377c48 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf index c0687c2d05955..696761242de9f 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf index 56c7da77c1313..05e3f53ee6c97 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf index f2f154329b357..a3b24c494c39d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf index 113ccc5be4a95..a0c7683813929 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf index eaa92551a2ece..cc282ac66b7e1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf index 2ef2cfb76325a..bd8c7e1601fd0 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf index 6eab8a28fd1ea..f4783d196b5e6 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf @@ -78,8 +78,8 @@ - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. - The `[In]` and `[Out]` attributes are not supported on by value value type parameters. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/ComInterfaceGenerator.Unit.Tests.csproj b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/ComInterfaceGenerator.Unit.Tests.csproj index 6766f8e39fb05..08ca1a56fa43c 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/ComInterfaceGenerator.Unit.Tests.csproj +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/ComInterfaceGenerator.Unit.Tests.csproj @@ -6,31 +6,21 @@ Preview enable true + ../../gen/Common/Resources/Strings.resx - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index 6414edf0ae50a..46233af677e3f 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -68,32 +68,36 @@ public static IEnumerable InvalidUnmanagedToManagedCodeSnippetsToCompi { CodeSnippets codeSnippets = new(GetAttributeProvider(generator)); + string safeHandleMarshallerDoesNotSupportManagedToUnmanaged = string.Format(SR.ManagedToUnmanagedMissingRequiredMarshaller, "global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller"); + string safeHandleMarshallerDoesNotSupportUnmanagedToManaged = string.Format(SR.UnmanagedToManagedMissingRequiredMarshaller, "global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller"); + string safeHandleMarshallerDoesNotSupportBidirectional = string.Format(SR.BidirectionalMissingRequiredMarshaller, "global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller"); // SafeHandles yield return new object[] { ID(), codeSnippets.BasicParametersAndModifiers("Microsoft.Win32.SafeHandles.SafeFileHandle"), new[] { - VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ReturnTypeNotSupportedWithDetails).WithLocation(0).WithArguments("The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type 'global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller' does not support it.", "Method"), - VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(1).WithArguments("The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type 'global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller' does not support it.", "value"), + VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ReturnTypeNotSupportedWithDetails).WithLocation(0).WithArguments(safeHandleMarshallerDoesNotSupportManagedToUnmanaged, "Method"), + VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(1).WithArguments(safeHandleMarshallerDoesNotSupportUnmanagedToManaged, "value"), // /0/Test0.cs(13,151): error SYSLIB1051: The type 'Microsoft.Win32.SafeHandles.SafeFileHandle' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter 'inValue'. - VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(2).WithArguments("The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type 'global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller' does not support it.", "inValue"), + VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(2).WithArguments(safeHandleMarshallerDoesNotSupportUnmanagedToManaged, "inValue"), // /0/Test0.cs(13,207): error SYSLIB1051: The type 'Microsoft.Win32.SafeHandles.SafeFileHandle' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter 'refValue'. - VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(3).WithArguments("The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type 'global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller' does not support it.", "refValue"), + VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(3).WithArguments(safeHandleMarshallerDoesNotSupportBidirectional, "refValue"), // /0/Test0.cs(13,264): error SYSLIB1051: The type 'Microsoft.Win32.SafeHandles.SafeFileHandle' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter 'outValue'. - VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(4).WithArguments("The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type 'global::System.Runtime.InteropServices.Marshalling.SafeHandleMarshaller' does not support it.", "outValue"), + VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails).WithLocation(4).WithArguments(safeHandleMarshallerDoesNotSupportManagedToUnmanaged, "outValue"), } }; // Marshallers with only support for their expected places in the signatures in // ManagedToUnmanaged marshal modes. - + string marshallerDoesNotSupportManagedToUnmanaged = string.Format(SR.ManagedToUnmanagedMissingRequiredMarshaller, "global::Marshaller"); + string marshallerDoesNotSupportUnmanagedToManaged = string.Format(SR.UnmanagedToManagedMissingRequiredMarshaller, "global::Marshaller"); DiagnosticResult invalidManagedToUnmanagedParameterDiagnostic = VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type 'global::Marshaller' does not support it.", "value"); + .WithArguments(marshallerDoesNotSupportManagedToUnmanaged, "value"); DiagnosticResult invalidUnmanagedToManagedParameterDiagnostic = VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type 'global::Marshaller' does not support it.", "value"); + .WithArguments(marshallerDoesNotSupportUnmanagedToManaged, "value"); DiagnosticResult invalidReturnTypeDiagnostic = VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ReturnTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type 'global::Marshaller' does not support it.", "Method"); + .WithArguments(marshallerDoesNotSupportManagedToUnmanaged, "Method"); CustomStructMarshallingCodeSnippets customStructMarshallingCodeSnippets = new(new CodeSnippets.Bidirectional(GetAttributeProvider(generator))); yield return new object[] { ID(), customStructMarshallingCodeSnippets.Stateless.NativeToManagedOnlyOutParameter, new[] { invalidManagedToUnmanagedParameterDiagnostic } }; yield return new object[] { ID(), customStructMarshallingCodeSnippets.Stateless.NativeToManagedOnlyReturnValue, new[] { invalidReturnTypeDiagnostic } }; @@ -105,9 +109,9 @@ public static IEnumerable InvalidUnmanagedToManagedCodeSnippetsToCompi public static IEnumerable StringMarshallingCodeSnippets(GeneratorKind generator) { - const string CustomStringMarshallingWithNoCustomTypeMessage = @"'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'."; - const string CustomTypeSpecifiedWithNoStringMarshallingCustom = @"'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified."; - const string StringMarshallingMustMatchBase = "The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface."; + string CustomStringMarshallingWithNoCustomTypeMessage = SR.InvalidStringMarshallingConfigurationMissingCustomType; + string CustomTypeSpecifiedWithNoStringMarshallingCustom = SR.InvalidStringMarshallingConfigurationNotCustom; + string StringMarshallingMustMatchBase = SR.GeneratedComInterfaceStringMarshallingMustMatchBase; CodeSnippets codeSnippets = new(GetAttributeProvider(generator)); (StringMarshalling, Type?) utf8Marshalling = (StringMarshalling.Utf8, null); @@ -370,7 +374,7 @@ public async Task ValidateInvalidManagedToUnmanagedCodeSnippets(string id, strin DiagnosticResult expectedDiagnostic = VerifyComInterfaceGenerator.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type 'global::Marshaller' does not support it.", "value"); + .WithArguments(string.Format(SR.ManagedToUnmanagedMissingRequiredMarshaller, "global::Marshaller"), "value"); await VerifyComInterfaceGenerator.VerifySourceGeneratorAsync(source, expectedDiagnostic); } diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index eb816368e4f7d..352a715e994a1 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -379,25 +379,19 @@ public static IEnumerable CodeSnippetsToCompile() } }; // By value non-array with [In, Out] attributes - yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new[] - { - VerifyCS.Diagnostic(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) - .WithLocation(0) - .WithArguments("[In] and [Out] attributes", "p") - .WithSeverity(DiagnosticSeverity.Hidden) - } }; + yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new Diagnostic[] { } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter.", "p") + .WithArguments(SR.InOutAttributesNotSupportedOnByValueParameters, "p") } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In, Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter.", "p") + .WithArguments(SR.InOutAttributesNotSupportedOnByValueParameters, "p") } }; // LCIDConversion @@ -413,13 +407,13 @@ public static IEnumerable CodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.ReturnTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'.", "Method"), + .WithArguments(SR.ArraySizeMustBeSpecified, "Method"), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(3) - .WithArguments("Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'.", "pRef"), + .WithArguments(SR.ArraySizeMustBeSpecified, "pRef"), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(4) - .WithArguments("Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'.", "pOut"), + .WithArguments(SR.ArraySizeMustBeSpecified, "pOut"), } }; yield return new object[] { ID(), CodeSnippets.BasicParametersAndModifiers(CodeSnippets.DisableRuntimeMarshalling), new[] { @@ -651,7 +645,7 @@ public static IEnumerable CodeSnippetsToCompile() yield return new object[] { ID(), customStructMarshallingCodeSnippets.NonStaticMarshallerEntryPoint, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupported).WithLocation(0).WithArguments("S", "p"), - VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported).WithLocation(10).WithArguments(""), + VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported).WithLocation(10).WithArguments(string.Format(SR.MarshallerTypeMustBeStaticClassOrStruct, "Marshaller", "S")), } }; yield return new object[] { ID(), customStructMarshallingCodeSnippets.Stateless.ManagedToNativeOnlyOutParameter, new[] { @@ -725,7 +719,7 @@ public static IEnumerable CodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(SR.ConstantAndElementCountInfoDisallowed), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(1) .WithArguments("Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'.", "pRef"), @@ -750,71 +744,71 @@ public static IEnumerable CodeSnippetsToCompile() .WithArguments("TestCollection", "p"), VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(10) - .WithArguments(""), + .WithArguments(string.Format(SR.MarshallerEntryPointTypeMustMatchArity, "Marshaller", "TestCollection")), } }; yield return new object[] { ID(), CodeSnippets.MarshalAsAndMarshalUsingOnReturnValue, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(string.Format(SR.DuplicateMarshallingInfo, "0")), } }; yield return new object[] { ID(), CodeSnippets.CustomElementMarshallingDuplicateElementIndirectionDepth, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(string.Format(SR.DuplicateMarshallingInfo, "1")), } }; yield return new object[] { ID(), CodeSnippets.CustomElementMarshallingUnusedElementIndirectionDepth, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(string.Format(SR.ExtraneousMarshallingInfo, "2", "1")), } }; yield return new object[] { ID(), CodeSnippets.RecursiveCountElementNameOnReturnValue, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(string.Format(SR.CyclicalCountInfo, "return-value")), VerifyCS.Diagnostic(GeneratorDiagnostics.ReturnTypeNotSupportedWithDetails) .WithLocation(1) - .WithArguments("The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element.", "Method"), + .WithArguments(SR.CollectionSizeParamTypeMustBeIntegral, "Method"), } }; yield return new object[] { ID(), CodeSnippets.RecursiveCountElementNameOnParameter, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(string.Format(SR.CyclicalCountInfo, "arr")), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(1) - .WithArguments("The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element.", "arr"), + .WithArguments(SR.CollectionSizeParamTypeMustBeIntegral, "arr"), } }; yield return new object[] { ID(), CodeSnippets.MutuallyRecursiveCountElementNameOnParameter, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(string.Format(SR.CyclicalCountInfo, "arr2")), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(1) .WithArguments("The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element.", "arr"), VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(2) - .WithArguments(""), + .WithArguments(string.Format(SR.CyclicalCountInfo, "arr")), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(3) - .WithArguments("The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element.", "arr2"), + .WithArguments("The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element.", "arr2") } }; yield return new object[] { ID(), CodeSnippets.MutuallyRecursiveSizeParamIndexOnParameter, new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(0) - .WithArguments(""), + .WithArguments(string.Format(SR.CyclicalCountInfo, "arr2")), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(1) .WithArguments("The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element.", "arr"), VerifyCS.Diagnostic(GeneratorDiagnostics.MarshallingAttributeConfigurationNotSupported) .WithLocation(2) - .WithArguments(""), + .WithArguments(string.Format(SR.CyclicalCountInfo, "arr")), VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(3) .WithArguments("The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element.", "arr2"), @@ -836,7 +830,7 @@ public static IEnumerable CodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only.", "p") + .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, "p") } }; } public static IEnumerable MyCodeSnippetsToCompile() @@ -845,7 +839,7 @@ public static IEnumerable MyCodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments("The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only.", "p") + .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, "p") } }; } diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/LibraryImportGenerator.Unit.Tests.csproj b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/LibraryImportGenerator.Unit.Tests.csproj index 9695eba3d8bda..085cea14f2254 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/LibraryImportGenerator.Unit.Tests.csproj +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/LibraryImportGenerator.Unit.Tests.csproj @@ -10,6 +10,7 @@ We don't want to enable the rest of the "good behaving analyzer" API rules on our tests as it is test code and not shipping code. --> $(NoWarn);RS1036 + ../../gen/Common/Resources/Strings.resx From e95fd7330c49cf0db79960e80018e05edc5ab758 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Thu, 6 Jul 2023 15:45:56 -0700 Subject: [PATCH 05/26] Fix changes to SR names --- .../GeneratorDiagnostics.cs | 92 ++- .../Resources/xlf/Strings.cs.xlf | 479 ------------- .../Resources/xlf/Strings.de.xlf | 479 ------------- .../Resources/xlf/Strings.es.xlf | 479 ------------- .../Resources/xlf/Strings.fr.xlf | 479 ------------- .../Resources/xlf/Strings.it.xlf | 479 ------------- .../Resources/xlf/Strings.ja.xlf | 479 ------------- .../Resources/xlf/Strings.ko.xlf | 479 ------------- .../Resources/xlf/Strings.pl.xlf | 479 ------------- .../Resources/xlf/Strings.pt-BR.xlf | 479 ------------- .../Resources/xlf/Strings.ru.xlf | 479 ------------- .../Resources/xlf/Strings.tr.xlf | 479 ------------- .../Resources/xlf/Strings.zh-Hans.xlf | 479 ------------- .../Resources/xlf/Strings.zh-Hant.xlf | 479 ------------- .../gen/Common/Resources/xlf/Strings.cs.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.de.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.es.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.fr.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.it.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.ja.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.ko.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.pl.xlf | 218 +++--- .../Common/Resources/xlf/Strings.pt-BR.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.ru.xlf | 218 +++--- .../gen/Common/Resources/xlf/Strings.tr.xlf | 218 +++--- .../Common/Resources/xlf/Strings.zh-Hans.xlf | 218 +++--- .../Common/Resources/xlf/Strings.zh-Hant.xlf | 218 +++--- .../GeneratorDiagnostics.cs | 96 +-- .../Resources/xlf/Strings.cs.xlf | 674 ----------------- .../Resources/xlf/Strings.de.xlf | 674 ----------------- .../Resources/xlf/Strings.es.xlf | 674 ----------------- .../Resources/xlf/Strings.fr.xlf | 674 ----------------- .../Resources/xlf/Strings.it.xlf | 674 ----------------- .../Resources/xlf/Strings.ja.xlf | 675 ------------------ .../Resources/xlf/Strings.ko.xlf | 674 ----------------- .../Resources/xlf/Strings.pl.xlf | 674 ----------------- .../Resources/xlf/Strings.pt-BR.xlf | 674 ----------------- .../Resources/xlf/Strings.ru.xlf | 674 ----------------- .../Resources/xlf/Strings.tr.xlf | 674 ----------------- .../Resources/xlf/Strings.zh-Hans.xlf | 674 ----------------- .../Resources/xlf/Strings.zh-Hant.xlf | 674 ----------------- .../Resources/xlf/Strings.cs.xlf | 147 ---- .../Resources/xlf/Strings.de.xlf | 147 ---- .../Resources/xlf/Strings.es.xlf | 147 ---- .../Resources/xlf/Strings.fr.xlf | 147 ---- .../Resources/xlf/Strings.it.xlf | 147 ---- .../Resources/xlf/Strings.ja.xlf | 147 ---- .../Resources/xlf/Strings.ko.xlf | 147 ---- .../Resources/xlf/Strings.pl.xlf | 147 ---- .../Resources/xlf/Strings.pt-BR.xlf | 147 ---- .../Resources/xlf/Strings.ru.xlf | 147 ---- .../Resources/xlf/Strings.tr.xlf | 147 ---- .../Resources/xlf/Strings.zh-Hans.xlf | 147 ---- .../Resources/xlf/Strings.zh-Hant.xlf | 147 ---- 54 files changed, 1237 insertions(+), 18686 deletions(-) delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.cs.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.de.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.es.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.fr.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.it.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ja.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ko.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pl.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pt-BR.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ru.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.tr.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hans.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hant.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.cs.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.de.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.es.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.fr.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.it.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ja.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ko.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pl.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pt-BR.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ru.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.tr.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hans.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hant.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf delete mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs index fb941b73d0814..f7ccf03284cb1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs @@ -2,8 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; -using System.Collections.Generic; -using System.Diagnostics; using Microsoft.CodeAnalysis; namespace Microsoft.Interop @@ -32,38 +30,38 @@ public class Ids private const string Category = "ComInterfaceGenerator"; - /// + /// public static readonly DiagnosticDescriptor RequiresAllowUnsafeBlocks = new DiagnosticDescriptor( Ids.RequiresAllowUnsafeBlocks, - GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksTitle)), - GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksMessage)), + GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksTitleCom)), + GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksMessageCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksDescription))); + description: GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor InvalidAttributedMethodSignature = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, GetResourceString(nameof(SR.InvalidVirtualMethodIndexAttributeUsage)), - GetResourceString(nameof(SR.InvalidAttributedMethodSignatureMessage)), + GetResourceString(nameof(SR.InvalidAttributedMethodSignatureMessageCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.InvalidAttributedMethodDescription))); + description: GetResourceString(nameof(SR.InvalidAttributedMethodDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor InvalidAttributedMethodContainingTypeMissingModifiers = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, GetResourceString(nameof(SR.InvalidVirtualMethodIndexAttributeUsage)), - GetResourceString(nameof(SR.InvalidAttributedMethodContainingTypeMissingModifiersMessage)), + GetResourceString(nameof(SR.InvalidAttributedMethodContainingTypeMissingModifiersMessageCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.InvalidAttributedMethodDescription))); + description: GetResourceString(nameof(SR.InvalidAttributedMethodDescriptionCom))); /// public static readonly DiagnosticDescriptor InvalidAttributedInterfaceMissingPartialModifiers = @@ -85,7 +83,7 @@ public class Ids Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.InvalidAttributedMethodDescription))); + description: GetResourceString(nameof(SR.InvalidAttributedMethodDescriptionCom))); /// public static readonly DiagnosticDescriptor InvalidStringMarshallingMismatchBetweenBaseAndDerived = @@ -161,18 +159,18 @@ public class Ids Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor ReturnTypeNotSupported = new DiagnosticDescriptor( Ids.TypeNotSupported, GetResourceString(nameof(SR.TypeNotSupportedTitle)), - GetResourceString(nameof(SR.TypeNotSupportedMessageReturn)), + GetResourceString(nameof(SR.TypeNotSupportedMessageReturnCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionCom))); /// public static readonly DiagnosticDescriptor ParameterTypeNotSupportedWithDetails = @@ -183,7 +181,7 @@ public class Ids Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionCom))); /// public static readonly DiagnosticDescriptor ReturnTypeNotSupportedWithDetails = @@ -194,84 +192,84 @@ public class Ids Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor ParameterConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageParameter)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleCom)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageParameterCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor ReturnConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageReturn)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleCom)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageReturnCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor MarshalAsParameterConfigurationNotSupported = new DiagnosticDescriptor( GeneratorDiagnostics.Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageParameter)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleCom)), + GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageParameterCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor MarshalAsReturnConfigurationNotSupported = new DiagnosticDescriptor( GeneratorDiagnostics.Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageReturn)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleCom)), + GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageReturnCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor ConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessage)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleCom)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor ConfigurationValueNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageValue)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleCom)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageValueCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionCom))); - /// + /// public static readonly DiagnosticDescriptor MarshallingAttributeConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageMarshallingInfo)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleCom)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageMarshallingInfoCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionCom))); /// public static readonly DiagnosticDescriptor MethodNotDeclaredInAttributedInterface = diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.cs.xlf deleted file mode 100644 index 9d66086d01a8b..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.cs.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Pokud chcete povolit předávání objektů tohoto typu do modelu COM a povolit nebezpečný kód, přidejte GeneratedComClassAttribute. - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Tento typ implementuje alespoň jeden typ s atributem GeneratedComInterfaceAttribute. Přidejte generatedComClassAttribute, aby bylo možné předat tento typ modelu COM a zpřístupnit rozhraní COM pro typy s generatedComInterfaceAttribute z objektů tohoto typu. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Přidáním generatedComClassAttribute do {0} povolíte předávání objektů typu {0} do modelu COM. - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Pokud chcete povolit předávání objektů tohoto typu do modelu COM, přidejte GeneratedComClassAttribute - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - Analýza požadovaná ke generování kódu pro toto rozhraní nebo metodu se nezdařila kvůli neočekávanému vzoru kódu. Pokud používáte novou nebo nekonvenční syntaxi, zvažte použití jiné syntaxe. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - Analýza rozhraní {0} se nezdařila. ComInterfaceGenerator nevygeneruje kód pro toto rozhraní. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - Analýza metody {0} se nezdařila. ComInterfaceGenerator nevygeneruje kód pro tuto metodu. - - - - Analysis for COM interface generation has failed. - Analýza generování rozhraní COM se nezdařila. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - Generování zdroje rozhraní COM vyžaduje, aby všechna základní rozhraní COM byla platná rozhraní. Vyřešte tuto diagnostiku tím, že opravíte všechny problémy v základním rozhraní. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - {0} rozhraní COM dědí z {1}, kde se vyskytují chyby. ComInterfaceGenerator nevygeneruje zdroj pro {0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - Základnímu rozhraní COM se nepodařilo vygenerovat zdroj. Kód se pro toto rozhraní nevygeneruje. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - GeneratedComInterface nemůže určovat ComInterfaceOptions.ManagedObjectWrapper nebo ComInterfaceOptions.ComObjectWrapper, pokud základní typ rozhraní neurčil možnosti nebo nezadal alespoň stejné možnosti. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - Převod mezi typem „ComImport“ a typem COM generovaným zdrojem není podporováno a za běhu selže. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Převod mezi typem „ComImport“ a typem COM generovaným zdrojem není podporováno. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Převod mezi typem „ComImport“ a typem COM generovaným zdrojem není podporováno. - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Třída s atributem GeneratedComClassAttribute musí implementovat alespoň jedno rozhraní s GeneratedComInterfaceAttribute, jinak nebude mít generovaný kód žádný efekt. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - Třída {0} s atributem GeneratedComClassAttribute neimplementuje žádná rozhraní s GeneratedComInterfaceAttribute. Zdroj se pro {0} nevygeneruje. - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - Hostování .NET COM s EnableComHosting podporuje jenom integrovaného zprostředkovatele komunikace s objekty COM. Nepodporuje zprostředkovatele komunikace s objekty COM vygenerovaného zdrojem s generatedComInterfaceAttribute. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - Hostování .NET COM s EnableComHosting nepodporuje rozhraní s GeneratedComInterfaceAttribute. Změňte všechna rozhraní vystavená modelem COM implementovaná {0} tak, aby místo toho používala System.Runtime.InteropServices.ComVisibleAttribute. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - Hostování .NET COM s EnableComHosting nepodporuje rozhraní s generatedComInterfaceAttribute - - - - Source-generated COM will ignore any configuration that is not supported. - Model COM vygenerovaný zdrojem bude ignorovat všechny nepodporované konfigurace. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Konfigurace „{0}“ není podporována modelem COM generovaným zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho „ComImport“. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - Zadaná konfigurace zařazování není podporována modelem COM generovaným zdrojem. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Zadaná konfigurace „{0}“ pro parametr „{1}“ není podporována modelem COM generovaným zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho ComImport. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Zadaná konfigurace „{0}“ pro návratovou hodnotu metody „{1}“ není podporována modelem COM generovaným zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho ComImport. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Zadaná hodnota „{0}“ pro „{1}“ není podporována modelem COM generovaným zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho ComImport. - - - - Specified configuration is not supported by source-generated COM. - Zadaná konfigurace není podporována modelem COM generovaným zdrojem. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - Převod tohoto rozhraní na generatedComInterfaceAttribute může způsobit neplatný kód a může vyžadovat další práci. - - - - Convert to 'GeneratedComInterface' and allow unsafe code - Převést na GeneratedComInterface a povolit nebezpečný kód - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Pokud chcete vygenerovat kód zařazování modelu COM při kompilaci, použijte atribut GeneratedComInterfaceAttribute místo ComImportAttribute. - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - Převod tohoto rozhraní API na GeneratedComInterfaceAttribute bude vyžadovat další kód, který poskytne vlastní zařazovače pro některé parametry. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Pokud chcete vygenerovat kód zařazování modelu COM při kompilaci, označte typ {0} atributem GeneratedComInterfaceAttribute místo ComImportAttribute. - - - - Convert to 'GeneratedComInterface' - Převést na GeneratedComInterface - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - Konfigurace „StringMarshalling“ a „StringMarshallingCustomType“ se musí shodovat se základním rozhraním COM. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Události nejsou konceptem COM, takže pro události instance na rozhraních COM generovaných zdrojem nebude vygenerován žádný kód spolupráce. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Událost instance {0} je deklarována v rozhraní {1}, ve kterém se používá GeneratedComInterfaceAttribute. - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - Deklarace události instance v typu s GeneratedComInterfaceAttribute se nepodporuje. - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Vlastnosti nejsou konceptem COM, takže pro vlastnosti instance na rozhraních COM generovaných zdrojem nebude vygenerován žádný kód spolupráce. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Vlastnost instance {0} je deklarována v rozhraní {1}, ve kterém je použit atribut GeneratedComInterfaceAttribute. - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - Deklarace vlastnosti instance v typu s GeneratedComInterfaceAttribute se nepodporuje. - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - Použití GeneratedComInterfaceAttribute a InterfaceTypeAttribute se nepodporuje s hodnotou ComInterfaceType {0}. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - GeneratedComInterfaceType nepodporuje hodnotu ComInterfaceType poskytnutou atributu InterfaceTypeAttribute ve stejném typu. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - Metoda „{0}“ je obsažena v typu „{1}“, který není označen jako „částečně provedený kód“. Generování zdroje modelu COM bude metodu „{0}“ ignorovat. - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - Obsahující typ metody s atributem VirtualMethodIndexAttribute nemá UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - Metody na rozhraních označených atributem „GeneratedComInterfaceAttribute“ by neměly být obecné povahy. Generování zdroje modelu COM bude obecné metody ignorovat. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - Metoda „{0}“ by neměla být v rozhraních označených atributem GeneratedComInterfaceAttribute obecné povahy. Generování zdroje modelu COM bude metodu „{0}“ ignorovat. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - Konfigurace ExceptionMarshalling a ExceptionMarshallingCustomType je neplatná. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - Konfigurace ExceptionMarshalling a ExceptionMarshallingCustomType u metody {0} je neplatná. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - ExceptionMarshallingCustomType musí být určený, pokud je vExceptionMarshalling nastavený na ExceptionMarshalling.Custom. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - ExceptionMarshalling by měl být nastavený na ExceptionMarshalling.Custom, když je pokud je určený ExceptionMarshallingCustomType. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - Zadaná hodnota není známý příznak výčtu ExceptionMarsnuming. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - Třídy s třídou GeneratedComClassAttribute musí implementovat jedno nebo více rozhraní s „GeneratedComInterfaceAttribute“, být označeny jako částečné a musí být neobecné. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - Třída {0} s atributem GeneratedComClassAttribute nebo jedním z jejích obsahujících typů není označen klíčovým slovem partial. - - - - Invalid 'GeneratedComClassAttribute' usage - Neplatné použití GeneratedComClassAttribute - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - Rozhraní s atributem GeneratedComInterfaceAttribute musí mít přístupnost public nebo internal a musí být částečná, neobecná a musí určovat identifikátor GUID s atributem System.Runtime.InteropServices.GuidAttribute. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - Rozhraní „{0}“ má atribut GeneratedComInterfaceAttribute, ale je obecné. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - Rozhraní „{0}“ má atribut „GeneratedComInterfaceAttribute“, ale není přístupný přes generovaný kód. Rozhraní a všechny obsahující typy musí mít přístupnost „internal“ nebo „public“, aby k němu vygenerovaný kód mohl přistupovat. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - Rozhraní {0} má atribut GeneratedComInterfaceAttribute, ale chybí atribut System.Runtime.InteropServices.GuidAttribute. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Neplatné použití atributu GeneratedComInterfaceAttribute - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - V rozhraní „{0}“ nebo jednom z jeho obsahujících typů chybí klíčové slovo „partial“. Pro „{0}“ se nevygeneruje kód. - - - - The specified 'ComInterfaceOptions' are invalid. - Zadaný parametr ComInterfaceOptions není platný. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - Zadaný parametr ComInterfaceOptions pro {0} není platný. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Konfigurace StringMarshalling a StringMarshallingCustomType je neplatná. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - StringMarshallingCustomType musí být určený, pokud je StringMarshalling nastavený na StringMarshalling.Custom. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - StringMarshalling by měl být nastavený na StringMarshalling.Custom, když je pokud je určený StringMarshallingCustomType. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - Konfigurace „StringMarshalling“ a „StringMarshallingCustomType“ v rozhraní „{0}“ je neplatná. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Konfigurace StringMarshalling a StringMarshallingCustomType u metody {0} je neplatná. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Neplatné použití VirtualMethodIndexAttribute - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Zadaná konfigurace atributu MarshalAsAttribute pro parametr {1} není podporovaná modelem COM generovaným zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho ComImport. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Zadaná konfigurace atributu MarshalAsAttribute pro návratovou hodnotu metody {1} není podporovaná modelem COM generovaným zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho ComImport. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Všechny metody musí být deklarované ve stejné částečné definici typu rozhraní GeneratedComInterface s atributy, aby se zajistil spolehlivý výpočet pro posuny tabulky virtuálních metod. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - Metoda {0} je deklarována v jiné částečné definici rozhraní {1} než definice s atributem GeneratedComInterface. - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - Metoda je deklarovaná v jiné částečné deklaraci než atribut GeneratedComInterface. - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Rozhraní s atributem GeneratedComInterfaceAttribute může být odvozeno pouze z jednoho jiného rozhraní s atributem GeneratedComInterfaceAttribute. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - Rozhraní „{0}“ je odvozeno ze dvou nebo více rozhraní s atributem GeneratedComInterfaceAttribute. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - Zadané rozhraní je odvozeno ze dvou nebo více rozhraní s atributem GeneratedComInterfaceAttribute. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - Musí se zadat ComInterfaceOptions.ManagedObjectWrapper nebo ComInterfaceOptions.ComObjectWrapper. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - GeneratedComInterfaceAttribute a GeneratedComClassAttribute vyžadují nebezpečný kód. Projekt se musí aktualizovat na <AllowUnsafeBlocks>true</AllowUnsafeBlocks>. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - GeneratedComInterfaceAttribute a GeneratedComClassAttribute vyžadují nebezpečný kód. Projekt se musí aktualizovat na <AllowUnsafeBlocks>true</AllowUnsafeBlocks>. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - GeneratedComInterfaceAttribute a GeneratedComClassAttribute vyžadují nebezpečný kód. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - Rozhraní COM Interop API na System.Runtime.InteropServices.Marshal nepodporují model COM generovaný zdrojem a za běhu selžou. - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - Metoda {0} podporuje pouze vzájemnou spolupráci COM založenou na modulu runtime a nebude fungovat s typem {1}. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - Rozhraní COM Interop API na System.Runtime.InteropServices.Marshal nepodporují model COM generovaný zdrojem - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - Typ „{0}“ zadaný jako „GeneratedComInterfaceAttribute.StringMarswebingCustomType“ není přístupný přes generovaný kód. Typ musí mít přístupnost alespoň „internal“. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - U typů, které nejsou podporovány modelem COM generovaným zdrojem, bude výsledný ukazatel funkce při zařazování zadaného typu spoléhat na základní modul runtime. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - Model COM vygenerovaný zdrojem nepodporuje typ „{0}“. Vygenerovaný zdroj nezpracuje zařazování parametru „{1}“. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Generovaný zdroj nebude zpracovávat zařazování parametru {1}. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - Model COM vygenerovaný zdrojem nepodporuje typ „{0}“. Vygenerovaný zdroj nebude zpracovávat zařazování návratové hodnoty metody „{1}“. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Generovaný zdroj nebude zpracovávat zařazování návratové hodnoty metody {1}. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Zadaný typ není podporován modelem COM generovaným zdrojem. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Poskytly se neúmyslné informace o zařazování. Tyto informace o zařazování lze odebrat bez jakékoli změny chování aplikace. - - - - Unnecessary marshalling info was provided and can be removed. - Byly poskytnuté nepotřebné informace o zařazování a dají se odebrat. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Byly poskytnuty zbytečné informace o zařazování {0} pro parametr {1}. - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Byly poskytnuty zbytečné informace o zařazování {0} pro návratový typ metody {1}. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.de.xlf deleted file mode 100644 index 73a4b7caed193..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.de.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Fügen Sie "GeneratedComClassAttribute" hinzu, um die Übergabe von Objekten dieses Typs an COM zu ermöglichen und unsicheren Code zuzulassen. - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Dieser Typ implementiert mindestens einen Typ mit dem GeneratedComInterfaceAttribute-Attribut. Fügen Sie "GeneratedComClassAttribute" hinzu, um die Übergabe dieses Typs an COM zu ermöglichen und die COM-Schnittstellen für die Typen mit dem GeneratedComInterfaceAttribute aus Objekten dieses Typs verfügbar zu machen. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Fügen Sie "GeneratedComClassAttribute" zu "{0}" hinzu, um die Übergabe von Objekten vom Typ "{0}" an COM zu ermöglichen. - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Fügen Sie "GeneratedComClassAttribute" hinzu, um die Übergabe von Objekten dieses Typs an COM zu ermöglichen. - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - Die Analyse, die erforderlich ist, um Code für diese Schnittstelle oder Methode zu erzeugen, ist aufgrund eines unerwarteten Codemusters fehlgeschlagen. Wenn Sie eine neue oder unkonventionelle Syntax verwenden, sollten Sie eine andere Syntax verwenden. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - Fehler bei der Analyse der Schnittstelle "{0}". ComInterfaceGenerator generiert keinen Code für diese Methode. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - Fehler bei der Analyse der Methode "{0}". ComInterfaceGenerator generiert keinen Code für diese Methode. - - - - Analysis for COM interface generation has failed. - Die Analyse für die COM-Schnittstellengenerierung ist fehlgeschlagen. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - Für die Generierung von COM-Schnittstellenquellen müssen alle COM-Basisschnittstellen gültige Schnittstellen sein. Beheben Sie alle Probleme auf der Basisschnittstelle, um diese Diagnose zu beheben. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - Die COM-Schnittstelle {0} erbt von {1}, das Fehler aufweist. ComInterfaceGenerator generiert keine Quelle für {0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - Die Basis-COM-Schnittstelle konnte die Quelle nicht generieren. Für diese Schnittstelle wird kein Code generiert. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - Ein "GeneratedComInterface" kann nur dann "ComInterfaceOptions.ManagedObjectWrapper" oder "ComInterfaceOptions.ComObjectWrapper" angeben, wenn der Basisschnittstellentyp keine Optionen angegeben oder mindestens dieselben Optionen angegeben hat. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - Die Umwandlung zwischen einem ComImport-Typ und einem quellgenerierten COM-Typ wird nicht unterstützt und wird zur Laufzeit fehlschlagen. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Die Umwandlung zwischen einem ComImport-Typ und einem quellgenerierten COM-Typ wird nicht unterstützt. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Die Umwandlung zwischen einem ComImport-Typ und einem quellgenerierten COM-Typ wird nicht unterstützt. - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Eine Klasse mit 'GeneratedComClassAttribute' muss mindestens eine Schnittstelle mit 'GeneratedComInterfaceAttribute' implementieren, sonst hat der generierte Code keine Wirkung. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - Die Klasse '{0}' mit 'GeneratedComClassAttribute' implementiert keine Schnittstellen mit 'GeneratedComInterfaceAttribute'. Die Quelle wird für '{0}' nicht generiert. - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - Das .NET COM-Hosting mit "EnableComHosting" unterstützt nur integrierte COM-Interop. Der vom Quellcode generierte COM-Interop mit "GeneratedComInterfaceAttribute" wird nicht unterstützt. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - Das .NET COM-Hosting mit "EnableComHosting" unterstützt keine Schnittstellen mit dem "GeneratedComInterfaceAttribute". Ändern Sie alle von "{0}" implementierten COM-verfügbar gemachten Schnittstellen, sodass stattdessen "System.Runtime.InteropServices.ComVisibleAttribute" verwendet wird. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - Das .NET COM-Hosting mit "EnableComHosting" unterstützt keine Schnittstellen mit "GeneratedComInterfaceAttribute". - - - - Source-generated COM will ignore any configuration that is not supported. - Quellgeneriertes COM ignoriert alle Konfigurationen, die nicht unterstützt werden. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Die Konfiguration "{0}" wird vom quellgenerierten COM nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „ComImport“. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - Die angegebene Marshallingkonfiguration wird vom quellgenerierten COM nicht unterstützt. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Die angegebene Konfiguration "{0}" für den Parameter "{1}" wird vom quellgenerierten COM nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „ComImport“. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Die angegebene Konfiguration "{0}" für den Rückgabewert der Methode "{1}" wird vom quellgenerierten COM nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „ComImport“. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Der angegebene Wert "{0}" für "{1}" wird vom quellgenerierten COM nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „ComImport“. - - - - Specified configuration is not supported by source-generated COM. - Die angegebene Konfiguration wird vom quellgenerierten COM nicht unterstützt. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - Das Konvertieren dieser Schnittstelle zur Verwendung von "GeneratedComInterfaceAttribute" erzeugt möglicherweise ungültigen Code und erfordert möglicherweise zusätzliche Arbeit. - - - - Convert to 'GeneratedComInterface' and allow unsafe code - In "GeneratedComInterface" konvertieren und unsicheren Code zulassen - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Verwenden Sie "GeneratedComInterfaceAttribute" anstelle von "ComImportAttribute", um COM-Marshallingcode zur Kompilierzeit zu generieren. - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - Zum Konvertieren dieser API in "GeneratedComInterfaceAttribute" ist zusätzlicher Code erforderlich, um benutzerdefinierte Marshaller für einige Parameter bereitzustellen. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Markieren Sie den Typ "{0}" mit "GeneratedComInterfaceAttribute" anstelle von "ComImportAttribute", um COM-Marshallingcode zur Kompilierzeit zu generieren. - - - - Convert to 'GeneratedComInterface' - In "GeneratedComInterface" konvertieren - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - Die Konfiguration von "StringMarshalling" und "StringMarshallingCustomType" muss mit der COM-Basisschnittstelle übereinstimmen. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Ereignisse sind kein Konzept in COM, daher wird kein Interopcode für Instanzereignisse auf von der Quelle generierten COM-Schnittstellen generiert. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Das Instanzereignis "{0}" wird in der Schnittstelle "{1}" deklariert, auf die das "GeneratedComInterfaceAttribute" angewendet wurde. - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - Das Deklarieren eines Instanzereignisses in einem Typ mit dem "GeneratedComInterfaceAttribute" wird nicht unterstützt. - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Eigenschaften sind kein Konzept in COM, daher wird kein Interopcode für Instanzeigenschaften auf von der Quelle generierten COM-Schnittstellen generiert. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Die Instanzeigenschaft "{0}" wird in der Schnittstelle "{1}" deklariert, auf die das "GeneratedComInterfaceAttribute" angewendet wurde. - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - Das Deklarieren einer Instanzeigenschaft in einem Typ mit dem "GeneratedComInterfaceAttribute" wird nicht unterstützt. - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - Die Verwendung von „GeneratedComInterfaceAttribute“ und „InterfaceTypeAttribute“ wird mit dem ComInterfaceType-Wert „{0}“ nicht unterstützt. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - „GeneratedComInterfaceType“ unterstützt den für „InterfaceTypeAttribute“ angegebenen ComInterfaceType-Wert für denselben Typ nicht. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - Die Methode "{0}" ist in einem Typ "{1}" enthalten, der nicht als "partiell" gekennzeichnet ist. Die COM-Quellgenerierung ignoriert die Methode "{0}". - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - Der Typ der Methode mit VirtualMethodIndexAttribute enthält kein UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - Methoden für Schnittstellen, die mit "GeneratedComInterfaceAttribute" gekennzeichnet sind, sollten nicht generisch sein. Die COM-Quellgenerierung ignoriert generische Methoden. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - Die Methode "{0}" sollte bei Schnittstellen, die mit "GeneratedComInterfaceAttribute" gekennzeichnet sind, nicht generisch sein. Die COM-Quellgenerierung ignoriert die Methode "{0}". - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - Die Konfiguration von „ExceptionMarshalling“ und „ExceptionMarshallingCustomType“ ist ungültig. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - Die Konfiguration von „ExceptionMarshalling“ und „ExceptionMarshallingCustomType“ für die Methode „{0}“ ist ungültig. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - „ExceptionMarshallingCustomType“ muss angegeben werden, wenn „ExceptionMarshalling“ auf „ExceptionMarshalling.Custom“ festgelegt ist. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - „ExceptionMarshalling“ muss auf „ExceptionMarshalling.Custom“ festgelegt werden, wenn „ExceptionMarshallingCustomType“ angegeben ist. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - Der angegebene Wert ist kein bekanntes Flag der „ExceptionMarshalling“-Enumeration. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - Klassen mit "GeneratedComClassAttribute" müssen mindestens eine Schnittstelle mit "GeneratedComInterfaceAttribute" implementieren, als "Partiell" gekennzeichnet und nicht generisch sein. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - Die Klasse '{0}' mit 'GeneratedComClassAttribute' oder einer der sie enthaltenden Typen ist nicht als 'partiell' gekennzeichnet. - - - - Invalid 'GeneratedComClassAttribute' usage - Ungültige Verwendung von "GeneratedComClassAttribute" - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - Schnittstellen, die mit 'GeneratedComInterfaceAttribute' attributiert sind, müssen über 'public' oder 'internal' verfügen und teilweise, nicht generisch sein und eine GUID mit 'System.Runtime.InteropServices.GuidAttribute' angeben. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - Die Schnittstelle "{0}" wird mit "GeneratedComInterfaceAttribute" attributiert, ist aber generisch. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - Die Schnittstelle '{0}' ist mit 'GeneratedComInterfaceAttribute' attributiert, kann aber nicht durch generierten Code zugegriffen werden. Die Schnittstelle und alle enthaltenden Typen müssen über den Zugriff 'internal' oder 'public' verfügen, damit generierter Code darauf zugreifen kann. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - Die Schnittstelle „{0}“ ist mit „GeneratedComInterfaceAttribute“ attribuiert, aber „System.Runtime.InteropServices.GuidAttribute“ fehlt. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Ungültige Verwendung von „GeneratedComInterfaceAttribute“. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - In der Schnittstelle "{0}" oder einem der enthaltenden Typen fehlt das Schlüsselwort "Partiell". Für "{0}" wird kein Code generiert. - - - - The specified 'ComInterfaceOptions' are invalid. - Die angegebenen 'ComInterfaceOptions' sind ungültig. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - Die angegebenen 'ComInterfaceOptions' auf '{0}' sind ungültig. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Die Konfiguration von \"StringMarshalling\" und \"StringMarshallingCustomType\" ist ungültig. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - \"StringMarshallingCustomType\" muss angegeben werden, wenn \"StringMarshalling\" auf \"StringMarshalling.Custom\" festgelegt ist. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - \"StringMarshalling\" muss auf \"StringMarshalling.Custom\" festgelegt werden, wenn \"StringMarshallingCustomType\" angegeben ist. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - Die Konfiguration von "StringMarshalling" und "StringMarshallingCustomType" für die Schnittstelle "{0}" ist ungültig. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Die Konfiguration von \"StringMarshalling\" und \"StringMarshallingCustomType\" für die Methode \"{0}\" ist ungültig. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Ungültige Verwendung von „VirtualMethodIndexAttribute“ - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Die angegebene Konfiguration „MarshalAsAttribute“ für den Parameter „{1}“ wird vom quellgenerierten COM nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „ComImport“. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Die angegebene Konfiguration „MarshalAsAttribute“ für den Rückgabewert der Methode „{1}“ wird vom quellgenerierten COM nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „ComImport“. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Alle Methoden müssen in derselben partiellen Definition eines Schnittstellentyps mit Attributen vom Typ "GeneratedComInterface" deklariert werden, um eine zuverlässige Berechnung für Tabellenoffsets virtueller Methoden sicherzustellen. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - Die Methode "{0}" ist für eine andere partielle Definition der Schnittstelle "{1}" als die Definition deklariert, die über das GeneratedComInterface-Attribut verfügt. - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - Die Methode wird in einer anderen partiellen Deklaration als das GeneratedComInterface-Attribut deklariert. - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Eine "GeneratedComInterfaceAttribute"-attributierte Schnittstelle kann nur von höchstens einer weiteren "GeneratedComInterfaceAttribute"-Attributschnittstelle abgeleitet werden. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - Die Schnittstelle '{0}' wird von mindestens zwei Schnittstellen abgeleitet, die mit "GeneratedComInterfaceAttribute" attributiert sind. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - Die angegebene Schnittstelle wird von mindestens zwei Schnittstellen abgeleitet, die "GeneratedComInterfaceAttribute" zugeordnet sind. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - Es muss entweder "ComInterfaceOptions.ManagedObjectWrapper" oder "ComInterfaceOptions.ComObjectWrapper" angegeben werden. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' und 'GeneratedComClassAttribute' erfordern unsicheren Code. Das Projekt muss mit '<AllowUnsafeBlocks>wahr</AllowUnsafeBlocks>' aktualisiert werden. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' und 'GeneratedComClassAttribute' erfordern unsicheren Code. Das Projekt muss mit '<AllowUnsafeBlocks>wahr</AllowUnsafeBlocks>' aktualisiert werden. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - GeneratedComInterfaceAttribute und GeneratedComClassAttribute erfordern unsicheren Code. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - COM-Interop-APIs auf "System.Runtime.InteropServices.Marshal" unterstützen keine vom Quellcode generierten COM-Dateien und schlagen zur Laufzeit fehl. - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - Die Methode "{0}" unterstützt nur laufzeitbasierte COM-Interop und funktioniert nicht mit dem Typ "{1}". - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - COM-Interop-APIs auf "System.Runtime.InteropServices.Marshal" unterstützen keine vom Quellcode generierten COM-Dateien. - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - Auf den als 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' angegebenen Typ '{0}' nicht durch generierten Code zugegriffen werden. Der Typ muss über mindestens 'internal'-Zugriffsmöglichkeiten verfügen. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - Bei Typen, die vom quellgenerierten COM nicht unterstützt werden, basiert der resultierende Funktionszeiger auf der zugrunde liegenden Laufzeit, um den angegebenen Typ zu marshallen. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - Der Typ "{0}" wird vom quellgenerierten COM nicht unterstützt. Die generierte Quelle verarbeitet das Marshalling des Parameters "{1}" nicht. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Die generierte Quelle verarbeitet das Marshalling des Parameters \"{1}\" nicht. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - Der Typ "{0}" wird vom quellgenerierten COM nicht unterstützt. Die generierte Quelle verarbeitet das Marshalling des Rückgabewerts der Methode "{1}" nicht. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Die generierte Quelle verarbeitet das Marshalling des Rückgabewerts der Methode \"{1}\" nicht. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Der angegebene Typ wird vom quellgenerierten COM nicht unterstützt. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Es wurden nicht benötigte Marshallinginformationen angegeben. Diese Marshallinginformationen können entfernt werden, ohne dass sich das Verhalten der Anwendung ändert. - - - - Unnecessary marshalling info was provided and can be removed. - Es wurden nicht benötigte Marshallinginformationen angegeben, die entfernt werden können. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Für den Parameter "{0}" wurden nicht benötigte Marshallinginformationen "{1}" angegeben. - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Für den Rückgabetyp der Methode "{0}" wurden nicht benötigte Marshallinginformationen "{1}" angegeben - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.es.xlf deleted file mode 100644 index a350df369389e..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.es.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Agregar "GeneratedComClassAttribute" para habilitar el paso de objetos de este tipo a COM y permitir código no seguro - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Este tipo implementa al menos un tipo con el atributo “GeneratedComInterfaceAttribute”. Agregue “GeneratedComClassAttribute” para habilitar el paso de este tipo a COM y exponer las interfaces COM para los tipos con “GeneratedComInterfaceAttribute” a partir de objetos de este tipo. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Agregar "GeneratedComClassAttribute" a “{0}” para habilitar el paso de objetos de tipo “{0}” a COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Agregar "GeneratedComClassAttribute" para habilitar el paso de objetos de este tipo a COM - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - Se ha producido un error en el análisis necesario para generar código para esta interfaz o método debido a un patrón de código inesperado. Si está usando sintaxis nueva o no convencional, considere la posibilidad de usar otra sintaxis. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - Error en el análisis de la interfaz "{0}". ComInterfaceGenerator no generará código para esta interfaz. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - Error en el análisis del método "{0}". ComInterfaceGenerator no generará código para este método. - - - - Analysis for COM interface generation has failed. - Error al analizar la generación de la interfaz COM. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - La generación de orígenes de interfaz COM requiere que todas las interfaces COM base sean interfaces válidas. Corrija los problemas de la interfaz base para resolver este diagnóstico. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - La interfaz {0} COM hereda de {1}, que tiene errores. ComInterfaceGenerator no generará el origen para {0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - La interfaz COM base no pudo generar el origen. No se generará código para esta interfaz. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - ''GeneratedComInterface'' no puede especificar ''ComInterfaceOptions.ManagedObjectWrapper'' o ''ComInterfaceOptions.ComObjectWrapper'' a menos que el tipo de interfaz base no especifique opciones o especifique al menos las mismas opciones. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - No se admite la conversión entre un tipo "ComImport" y un tipo COM generado por el origen y se producirá un error en tiempo de ejecución. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - No se admite la conversión entre un tipo 'ComImport' y un tipo COM generado por origen - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - No se admite la conversión entre un tipo 'ComImport' y un tipo COM generado por origen - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Una clase con "GeneratedComClassAttribute" debe implementar al menos una interfaz con "GeneratedComInterfaceAttribute" o el código generado sin efecto. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - La clase "{0}" con "GeneratedComClassAttribute" no implementa ninguna interfaz con "GeneratedComInterfaceAttribute". No se generará el origen para "{0}". - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - El hospedaje COM de .NET con "EnableComHosting" solo admite interoperabilidad COM integrada. No admite la interoperabilidad COM generada por origen con "GeneratedComInterfaceAttribute". - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - El hospedaje COM de .NET con “EnableComHosting” no admite interfaces con “GeneratedComInterfaceAttribute”. Cambie las interfaces expuestas a COM implementadas por “{0}” para usar “System.Runtime.InteropServices.ComVisibleAttribute” en su lugar - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - El hospedaje COM de .NET con “EnableComHosting” no admite interfaces con “GeneratedComInterfaceAttribute” - - - - Source-generated COM will ignore any configuration that is not supported. - COM generado por el origen omitirá cualquier configuración que no se admita. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuración "{0}" no es compatible con COM generado por origen. Si se requiere la configuración especificada, usa "ComImport" en su lugar. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - COM generado por origen no admite la configuración de serialización especificada. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuración "{0}" especificada para el parámetro "{1}" no es compatible con COM generado por el origen. Si se requiere la configuración especificada, use "ComImport" en su lugar. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuración "{0}" especificada para el valor devuelto del método "{1}" no es compatible con COM generado por origen. Si se requiere la configuración especificada, usa "ComImport" en su lugar. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - El valor especificado "{0}" para "{1}" no es compatible con COM generado por el origen. Si se requiere la configuración especificada, usa "ComImport" en su lugar. - - - - Specified configuration is not supported by source-generated COM. - COM generado por origen no admite la configuración especificada. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - Convertir esta interfaz para que use “GeneratedComInterfaceAttribute” puede producir código no válido y puede requerir trabajo adicional - - - - Convert to 'GeneratedComInterface' and allow unsafe code - Convertir en "GeneratedComInterface" y permitir código no seguro - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Usar “GeneratedComInterfaceAttribute” en lugar de “ComImportAttribute” para generar código de serialización COM en tiempo de compilación - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - La conversión de esta API a “GeneratedComInterfaceAttribute” requerirá código adicional para proporcionar serializadores personalizados para algunos parámetros. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Marcar el tipo “{0}” con “GeneratedComInterfaceAttribute” en lugar de “ComImportAttribute” para generar código de serialización COM en tiempo de compilación - - - - Convert to 'GeneratedComInterface' - Convertir en “GeneratedComInterface” - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - La configuración de "StringMarshalling" y "StringMarshallingCustomType" debe coincidir con la interfaz COM base. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Los eventos no representan un concepto en COM, de modo que no se generará código de interoperabilidad para eventos de instancia en interfaces COM generadas en origen. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - El evento de instancia ''{0}'' se declara en la interfaz ''{1}'', que tiene aplicado ''GeneratedComInterfaceAttribute'' - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - No se admite la declaración de un evento de instancia en un tipo con "GeneratedComInterfaceAttribute". - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Las propiedades no son un concepto en COM, por lo que no se generará código de interoperabilidad para las propiedades de instancia en interfaces COM generadas por el origen. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - La propiedad de instancia ''{0}'' se declara en la interfaz ''{1}'', que tiene aplicado ''GeneratedComInterfaceAttribute'' - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - No se admite la declaración de una propiedad de instancia en un tipo con "GeneratedComInterfaceAttribute". - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - No se admite el uso de "GeneratedComInterfaceAttribute" e "InterfaceTypeAttribute" con el valor "ComInterfaceType" '{0}'. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - 'GeneratedComInterfaceType' no admite el valor 'ComInterfaceType' proporcionado a 'InterfaceTypeAttribute' en el mismo tipo. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - El método "{0}" está contenido en un tipo "{1}" que no está marcado como "parcial". La generación de código fuente COM omitirá el método "{0}". - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - El tipo de método contenedor con VirtualMethodIndexAttribute no tiene un UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - Los métodos de las interfaces marcadas con "GeneratedComInterfaceAttribute" no deben ser genéricos. La generación de orígenes COM omitirá los métodos que son genéricos. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - El método "{0}" debe ser no genérico cuando se encuentra en interfaces marcadas con 'GeneratedComInterfaceAttribute'. La generación de código fuente COM omitirá el método "{0}". - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - La configuración de “ExceptionMarshalling” y “ExceptionMarshallingCustomType” no es válida. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - La configuración de “ExceptionMarshalling” y “ExceptionMarshallingCustomType” en el método “{0}” no es válida. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - Se deberá especificar “ExceptionMarshallingCustomType” cuando “ExceptionMarshalling” esté establecido en “ExceptionMarshalling.Custom”. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - ”ExceptionMarshalling” deberá establecerse en ”ExceptionMarshalling.Custom” cuando se especifique ”ExceptionMarshallingCustomType”. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - El valor proporcionado no es una marca conocida de la enumeración “ExceptionMarshalling”. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - Las clases con "GeneratedComClassAttribute" deben implementar una o varias interfaces con "GeneratedComInterfaceAttribute", marcarse como parciales y no ser genéricas. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - La clase "{0}" con "GeneratedComClassAttribute" o uno de sus tipos contenedores no está marcada como "partial". - - - - Invalid 'GeneratedComClassAttribute' usage - Uso de "GeneratedComClassAttribute" no válido - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - Las interfaces con atributos "GeneratedComInterfaceAttribute" deben tener accesibilidad "publica" o "interna" y ser parciales, no genéricas, y deben especificar un GUID con "System.Runtime.InteropServices.GuidAttribute". - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - La interfaz “{0}” tiene el atributo ”GeneratedComInterfaceAttribute”, pero es genérica. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - La interfaz '{0}' tiene el atributo 'GeneratedComInterfaceAttribute', pero el código generado no puede acceder a ella. La interfaz y todos los tipos contenedores deben tener accesibilidad "interna" o "publico" para que el código generado tenga acceso a ella. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - La interfaz '{0}' tiene atribuido 'GeneratedComInterfaceAttribute', pero falta 'System.Runtime.InteropServices.GuidAttribute'. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Uso de 'GeneratedComInterfaceAttribute' no válido. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - Falta la palabra clave 'partial' en la interfaz '{0}' o en uno de sus tipos contenedores. No se generará código para '{0}'. - - - - The specified 'ComInterfaceOptions' are invalid. - El elemento ''ComInterfaceOptions'' especificado no es válido. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - El elemento ''ComInterfaceOptions'' especificado en ''{0}'' no es válido. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - La configuración de “StringMarshalling” y “StringMarshallingCustomType” no es válida. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - Se debe especificar “StringMarshallingCustomType” cuando “StringMarshalling” esté establecido en “StringMarshalling.Custom”. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - “StringMarshalling” debe establecerse en “StringMarshalling.Custom” cuando “StringMarshallingCustomType” esté especificado. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - La configuración de "StringMarshalling" y "StringMarshallingCustomType" en la interfaz "{0}" no es válida. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - La configuración de “StringMarshalling” y “StringMarshallingCustomType” en el método “{0}” no es válida. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Uso de ”VirtualMethodIndexAttribute” no válido - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuración "MarshalAsAttribute" para el parámetro "{1}" no se admite en COM generado por código fuente. Si se requiere la configuración especificada, use `ComImport` en su lugar. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuración "MarshalAsAttribute" para el valor devuelto del método "{1}" no se admite en COM generado por código fuente. Si se requiere la configuración especificada, use `ComImport` en su lugar. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Todos los métodos deben declararse en la misma definición parcial de un tipo de interfaz con atributos "GeneratedComInterface" para garantizar un cálculo confiable de los desplazamientos de la tabla de métodos virtuales. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - El método "{0}" está declarado en una definición parcial diferente de la interfaz "{1}" que la definición que tiene el atributo "GeneratedComInterface" - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - El método se declara en una declaración parcial diferente a la del atributo "GeneratedComInterface". - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Una interfaz con atributos 'GeneratedComInterfaceAttribute' solo puede derivar de otra interfaz con atributos 'GeneratedComInterfaceAttribute'. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - El '{0}' de interfaz se deriva de dos o más interfaces atribuidas a 'GeneratedComInterfaceAttribute'. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - La interfaz especificada deriva de dos o más interfaces con atributos "GeneratedComInterfaceAttribute". - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - Debe especificarse ''ComInterfaceOptions.ManagedObjectWrapper'' o ''ComInterfaceOptions.ComObjectWrapper''. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - "GeneratedComInterfaceAttribute" y "GeneratedComClassAttribute" requieren código no seguro. El proyecto debe actualizarse con "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - "GeneratedComInterfaceAttribute" y "GeneratedComClassAttribute" requieren código no seguro. El proyecto debe actualizarse con "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - "GeneratedComInterfaceAttribute" y "GeneratedComClassAttribute" requieren código no seguro. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - Las API de interoperabilidad COM en “System.Runtime.InteropServices.Marshal” no admiten COM generado por origen y producirán un error en runtime - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - El método “{0}” solo admite interoperabilidad COM basada en tiempo de ejecución y no funcionará con el tipo “{1}” - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - Las API de interoperabilidad COM en “System.Runtime.InteropServices.Marshal” no admiten COM generado por origen - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - El código generado no puede acceder al tipo '{0}' especificado como 'GeneratedComInterfaceAttribute.StringMarshallingCustomType'. El tipo debe tener al menos accesibilidad "interna". {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - Para los tipos que no son compatibles con COM generado por el origen, el puntero de función resultante se basará en el tiempo de ejecución subyacente para serializar el tipo especificado. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - El tipo "{0}" no es compatible con COM generado por origen. El origen generado no controlará la serialización del parámetro "{1}". - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} El origen generado no controlará la serialización del parámetro “{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - El tipo "{0}" no es compatible con COM generado por origen. El origen generado no controlará la serialización del valor devuelto del método "{1}". - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} El código fuente generado no controlará la serialización del valor devuelto del método “{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - El tipo especificado no es compatible con COM generado por el origen - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.fr.xlf deleted file mode 100644 index 485bf1cc46341..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.fr.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Ajoutez 'GeneratedComClassAttribute' pour permettre le passage d'objets de ce type à COM et autoriser le code non sécurisé - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Ce type implémente au moins un type avec l'attribut 'GeneratedComInterfaceAttribute'. Ajoutez le 'GeneratedComClassAttribute' pour activer le passage de ce type à COM et exposer les interfaces COM pour les types avec le 'GeneratedComInterfaceAttribute' des objets de ce type. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Ajoutez le 'GeneratedComClassAttribute' à '{0}' pour permettre le passage d'objets de type '{0}' à COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Ajouter 'GeneratedComClassAttribute' pour permettre le passage d'objets de ce type à COM - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - L’analyse requise pour générer du code pour cette interface ou cette méthode a échoué en raison d’un modèle de code inattendu. Si vous utilisez une syntaxe nouvelle ou syntaxe correcte, utilisez une autre syntaxe. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - Nous n’avons pas pu analyser l’interface '{0}'. ComInterfaceGenerator ne générera pas de code pour cette interface. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - Nous n’avons pas pu analyser la méthode '{0}'. ComInterfaceGenerator ne générera pas de code pour cette méthode. - - - - Analysis for COM interface generation has failed. - L’analyse de la génération de l’interface COM a échoué. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - La génération de source d’interface COM nécessite que toutes les interfaces COM de base soient des interfaces valides. Corrigez les problèmes éventuels sur l’interface de base pour résoudre ce diagnostic. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - L’interface COM {0} hérite de {1}, qui comporte des erreurs. ComInterfaceGenerator ne génère pas de source pour {0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - L’interface COM de base n’a pas réussi à générer le code source. Le code ne sera pas généré pour cette interface. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - Un 'GeneratedComInterface' ne peut pas spécifier 'ComInterfaceOptions.ManagedObjectWrapper' ou 'ComInterfaceOptions.ComObjectWrapper' sauf si le type d’interface de base n’a pas spécifié d’options ou spécifié au moins les mêmes options. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - La conversion entre un type 'ComImport' et un type COM généré par la source n’est pas prise en charge et échouera au moment de l’exécution. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - La conversion entre un type 'ComImport' et un type COM généré par la source n'est pas prise en charge. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - La conversion entre un type 'ComImport' et un type COM généré par la source n'est pas prise en charge. - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Une classe avec « GeneratedComClassAttribute » doit implémenter au moins une interface avec « GeneratedComInterfaceAttribute » ou le code généré n’aura pas d’effet. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - La classe « {0} » avec « GeneratedComClassAttribute » n’implémente aucune interface avec « GeneratedComInterfaceAttribute ». La source ne sera pas générée pour « {0} ». - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - L'hébergement .NET COM avec 'EnableComHosting' ne prend en charge que l'interopérabilité COM intégrée. Il ne prend pas en charge l'interopérabilité COM générée par la source avec 'GeneratedComInterfaceAttribute'. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - L'hébergement .NET COM avec 'EnableComHosting' ne prend pas en charge les interfaces avec 'GeneratedComInterfaceAttribute'. Modifiez toutes les interfaces COM exposées implémentées par '{0}' pour utiliser le 'System.Runtime.InteropServices.ComVisibleAttribute' à la place - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - L'hébergement .NET COM avec 'EnableComHosting' ne prend pas en charge les interfaces avec 'GeneratedComInterfaceAttribute' - - - - Source-generated COM will ignore any configuration that is not supported. - COM généré par la source ignore toute configuration qui n’est pas prise en charge. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuration «{0}» n’est pas prise en charge par com généré par la source. Si la configuration spécifiée est requise, utilisez « ComImport » à la place. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - La configuration de marshaling spécifiée n’est pas prise en charge par COM généré par la source. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuration «{0}» spécifiée pour le paramètre «{1}» n’est pas prise en charge par com généré par la source. Si la configuration spécifiée est requise, utilisez « ComImport » à la place. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuration «{0}» spécifiée pour la valeur de retour de la méthode «{1}» n’est pas prise en charge par com généré par la source. Si la configuration spécifiée est requise, utilisez « ComImport » à la place. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La valeur spécifiée «{0}» pour «{1}» n’est pas prise en charge par com généré par la source. Si la configuration spécifiée est requise, utilisez « ComImport » à la place. - - - - Specified configuration is not supported by source-generated COM. - La configuration spécifiée n’est pas prise en charge par com généré par la source. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - La conversion de cette interface pour utiliser 'GeneratedComInterfaceAttribute' peut produire un code invalide et peut nécessiter un travail supplémentaire - - - - Convert to 'GeneratedComInterface' and allow unsafe code - Convertir en 'GeneratedComInterface' et autoriser le code non sécurisé - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Utilisez 'GeneratedComInterfaceAttribute' au lieu de 'ComImportAttribute' pour générer le code de marshaling COM au moment de la compilation - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - La conversion de cette API en "GeneratedComInterfaceAttribute" nécessitera du code supplémentaire pour fournir des marshallers personnalisés pour certains paramètres. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Marquez le type '{0}' avec 'GeneratedComInterfaceAttribute' au lieu de 'ComImportAttribute' pour générer le code de marshaling COM au moment de la compilation - - - - Convert to 'GeneratedComInterface' - Convertir en 'GeneratedComInterface' - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - La configuration de « StringMarshalling » et de « StringMarshallingCustomType » doit correspondre à l’interface COM de base. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Les événements ne sont pas un concept dans COM. Par conséquent, aucun code d’interopérabilité n’est généré à la source pour les événements d’instance sur les interfaces COM générées par la source. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - L’événement d’instance « {0} » est déclaré dans l’interface « {1} », à laquelle « GeneratedComInterfaceAttribute » est appliqué - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - La déclaration d’un événement d’instance dans un type avec « GeneratedComInterfaceAttribute » n’est pas prise en charge - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Les propriétés ne sont pas un concept dans COM. Par conséquent, aucun code d’interopérabilité n’est généré à la source pour les propriétés d’instance sur les interfaces COM générées par la source. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - La propriété d’instance « {0} » est déclarée dans l’interface « {1} », à laquelle « GeneratedComInterfaceAttribute » est appliqué - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - La déclaration d’une propriété d’instance dans un type avec « GeneratedComInterfaceAttribute » n’est pas prise en charge - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - L’utilisation de 'GeneratedComInterfaceAttribute' et 'InterfaceTypeAttribute' n’est pas prise en charge avec la valeur 'ComInterfaceType' '{0}'. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - 'GeneratedComInterfaceType' ne prend pas en charge la valeur 'ComInterfaceType' fournie à 'InterfaceTypeAttribute' sur le même type. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - La méthode '{0}' est contenue dans un type '{1}' qui n’est pas marqué 'partial'. La génération de source COM ignore la méthode '{0}'. - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - Le type conteneur de méthode avec VirtualMethodIndexAttribute n’a pas de UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - Les méthodes sur les interfaces marquées avec « GeneratedComInterfaceAttribute » doivent être non génériques. La génération de source COM ignore les méthodes génériques. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - La méthode '{0}' doit être non générique sur les interfaces marquées avec l’attribut GeneratedComInterfaceAttribute. La génération de source COM ignore la méthode '{0}'. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - La configuration de « ExceptionMarshalling » et de « ExceptionMarshallingCustomType » est non valide. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - La configuration de « ExceptionMarshalling » et de « ExceptionMarshallingCustomType » sur la méthode « {0} » est non valide. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - « ExceptionMarshallingCustomType » doit être spécifié quand « ExceptionMarshalling » a la valeur « ExceptionMarshalling.Custom ». - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - « ExceptionMarshalling » doit avoir la valeur « ExceptionMarshalling.Custom » quand « ExceptionMarshallingCustomType » est spécifié. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - La valeur fournie n’est pas un indicateur connu de l’énumération « ExceptionMarshalling ». - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - Les classes avec 'GeneratedComClassAttribute' doivent implémenter une ou plusieurs interfaces avec 'GeneratedComInterfaceAttribute', être marquées comme partielles et non génériques. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - La classe « {0} » avec « GeneratedComClassAttribute » ou l’un de ses types conteneurs n’est pas marqué comme « partielle ». - - - - Invalid 'GeneratedComClassAttribute' usage - Utilisation de 'GeneratedComClassAttribute' non valide - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - Les interfaces attribuées avec 'GeneratedComInterfaceAttribute' doivent avoir une accessibilité 'publique' ou "interne" et être partielles, non génériques, et doivent spécifier un GUID avec 'System.Runtime.InteropServices.GuidAttribute'. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - L’interface '{0}' est attribuée à 'GeneratedComInterfaceAttribute', mais est générique. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - L’interface '{0}' est attribuée à 'GeneratedComInterfaceAttribute' mais n’est pas accessible par le code généré. L’interface et tous les types contenants doivent avoir l’accessibilité 'interne' ou 'publique' pour que le code généré y accède. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - L’interface « {0} » est attribuée à « GeneratedComInterfaceAttribute » mais « System.Runtime.InteropServices.GuidAttribute » est manquant. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Utilisation de « GeneratedComInterfaceAttribute » non valide. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - Le mot clé 'partial' est manquant dans l’interface '{0}' ou l’un de ses types conteneurs. Le code ne sera pas généré pour '{0}'. - - - - The specified 'ComInterfaceOptions' are invalid. - Les 'ComInterfaceOptions' spécifiées ne sont pas valides. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - Les 'ComInterfaceOptions' spécifiées sur « {0} » ne sont pas valides. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - La configuration de « StringMarshalling » et de « StringMarshallingCustomType » n’est pas valide. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - « StringMarshallingCustomType » doit être spécifié quand « StringMarshalling » a la valeur « StringMarshalling.Custom ». - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - « StringMarshalling » doit être défini sur « StringMarshalling.Custom » quand « StringMarshallingCustomType » est spécifié. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - La configuration de « StringMarshalling » et de « StringMarshallingCustomType » n’est sur l’interface ’{0}’ pas valide. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - La configuration de « StringMarshalling » et de « StringMarshallingCustomType » n’est sur la méthode « {0} » pas valide. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Utilisation de « VirtualMethodIndexAttribute » non valide - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuration « MarshalAsAttribute » spécifiée pour le paramètre «{1}» n’est pas prise en charge par com généré par la source. Si la configuration spécifiée est requise, utilisez « ComImport » à la place. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configuration « MarshalAsAttribute » spécifiée pour la valeur de retour de la méthode «{1}» n’est pas prise en charge par com généré par la source. Si la configuration spécifiée est requise, utilisez « ComImport » à la place. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Toutes les méthodes doivent être déclarées dans la même définition partielle d’un type d’interface avec attribut « GeneratedComInterface » pour garantir un calcul fiable des décalages de table de méthodes virtuelles. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - La méthode « {0} » est déclarée sur une autre définition partielle de l’interface « {1} » que la définition qui a l’attribut « GeneratedComInterface » - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - La méthode est déclarée dans une déclaration partielle différente de l’attribut « GeneratedComInterface ». - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Une interface avec attribut 'GeneratedComInterfaceAttribute' ne peut dériver que d’une seule autre interface avec attribut 'GeneratedComInterfaceAttribute'. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - L’interface '{0}' est dérivée de deux interfaces ou plus attribuées avec 'GeneratedComInterfaceAttribute'. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - L’interface spécifiée dérive de deux ou plusieurs interfaces avec attribut 'GeneratedComInterfaceAttribute'. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - 'ComInterfaceOptions.ManagedObjectWrapper' ou 'ComInterfaceOptions.ComObjectWrapper' doit être spécifié. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - « GeneratedComInterfaceAttribute » et « GeneratedComClassAttribute » nécessitent du code non sécurisé. Le projet doit être mis à jour avec « <AllowUnsafeBlocks>true</AllowUnsafeBlocks> ». - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - « GeneratedComInterfaceAttribute » et « GeneratedComClassAttribute » nécessitent du code non sécurisé. Le projet doit être mis à jour avec « <AllowUnsafeBlocks>true</AllowUnsafeBlocks> ». - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - « GeneratedComInterfaceAttribute » et « GeneratedComClassAttribute » nécessitent du code non sécurisé. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - Les API COM Interop sur 'System.Runtime.InteropServices.Marshal' ne prennent pas en charge COM généré par la source et échoueront lors de l'exécution - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - La méthode '{0}' ne prend en charge que l'interopérabilité COM basée sur l'exécution et ne fonctionnera pas avec le type '{1}' - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - Les API COM Interop sur 'System.Runtime.InteropServices.Marshal' ne prennent pas en charge COM généré par la source - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - Le type '{0}' spécifié en tant que 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' n’est pas accessible par le code généré. Le type doit avoir au moins l’accessibilité 'interne'. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - Pour les types qui ne sont pas pris en charge par com généré par la source, le pointeur de fonction résultant s’appuie sur le runtime sous-jacent pour marshaler le type spécifié. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - Le type '{0}' n’est pas pris en charge par COM généré par la source. La source générée ne gère pas le marshaling du paramètre «{1}». - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} La source générée ne gère pas le marshaling du paramètre « {1} ». - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - Le type '{0}' n’est pas pris en charge par COM généré par la source. La source générée ne gère pas le marshaling de la valeur de retour de la méthode '{1}'. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} La source générée ne gère pas le marshaling de la valeur de retour de la méthode « {1} ». - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Le type spécifié n’est pas pris en charge par com généré par la source - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Des informations de triage inutiles ont été fournies. Ces informations de regroupement peuvent être supprimées sans aucune modification du comportement de l'application. - - - - Unnecessary marshalling info was provided and can be removed. - Des informations de rassemblement inutiles ont été fournies et peuvent être supprimées. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Des informations de regroupement inutiles '{0}' ont été fournies pour le paramètre '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Des informations de regroupement inutiles '{0}' ont été fournies pour le type de retour de la méthode '{1}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.it.xlf deleted file mode 100644 index 1682b45f96f77..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.it.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Aggiungere 'GeneratedComClassAttribute' per consentire il passaggio di oggetti di questo tipo a COM e consentire il codice non gestito - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Questo tipo implementa almeno un tipo con l'attributo 'GeneratedComInterfaceAttribute'. Aggiungere l'attributo 'GeneratedComClassAttribute' per consentire il passaggio di questo tipo a COM e l'esposizione delle interfacce COM per i tipi con l'attributo 'GeneratedComInterfaceAttribute' dagli oggetti di questo tipo. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Aggiungere 'GeneratedComClassAttribute' a '{0}' per abilitare il passaggio di oggetti di tipo '{0}' a COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Aggiungere 'GeneratedComClassAttribute' per consentire il passaggio di oggetti di questo tipo a COM. - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - L'analisi necessaria per generare il codice per questa interfaccia o per questo metodo non è riuscita a causa di un modello di codice imprevisto. Se si usa una sintassi nuova o non intenzionale, provare a usare un'altra sintassi. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - L'analisi dell’interfaccia '{0}' non è riuscita. ComInterfaceGenerator non genererà codice per questa interfaccia. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - L'analisi del metodo '{0}' non è riuscita. ComInterfaceGenerator non genererà codice per questo metodo. - - - - Analysis for COM interface generation has failed. - L'analisi per la generazione dell'interfaccia COM non è riuscita. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - La generazione dell'origine dell'interfaccia COM richiede che tutte le interfacce COM di base siano interfacce valide. Risolvere eventuali problemi nell'interfaccia di base per risolvere questa diagnostica. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - L'interfaccia COM {0} eredita da {1} che contiene errori. ComInterfaceGenerator non genererà l'origine per {0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - L'interfaccia COM di base non è riuscita a generare l'origine. Il codice non verrà generato per questa interfaccia. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - Un elemento 'GeneratedComInterface' non può specificare 'ComInterfaceOptions.ManagedObjectWrapper' o 'ComInterfaceOptions.ComObjectWrapper' a meno che il tipo di interfaccia di base non specifichi opzioni o non specifichi almeno le stesse opzioni. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - Il cast tra un tipo 'ComImport' e un tipo COM generato dall'origine non è supportato e avrà esito negativo in fase di esecuzione - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Il cast tra un tipo 'ComImport' e un tipo COM generato dall'origine non è supportato - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Il cast tra un tipo 'ComImport' e un tipo COM generato dall'origine non è supportato - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Una classe con 'GeneratedComClassAttribute' deve implementare almeno un'interfaccia con 'GeneratedComInterfaceAttribute' oppure il codice generato senza alcun effetto. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - La classe '{0}' con 'GeneratedComClassAttribute' non implementa interfacce con 'GeneratedComInterfaceAttribute'. L'origine non verrà generata per '{0}'. - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - L'hosting COM .NET con 'EnableComHosting' supporta solo l'interoperabilità COM predefinita. Non supporta l'interoperabilità COM generata dall’origine con 'GeneratedComInterfaceAttribute'. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - L'hosting COM .NET con 'EnableComHosting' non supporta le interfacce con 'GeneratedComInterfaceAttribute'. Modificare tutte le interfacce esposte a COM implementate da '{0}' in modo da usare 'System.Runtime.InteropServices.ComVisibleAttribute'. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - L'hosting COM .NET con 'EnableComHosting' non supporta le interfacce con 'GeneratedComInterfaceAttribute'. - - - - Source-generated COM will ignore any configuration that is not supported. - I COM generati dall'origine ignoreranno qualsiasi configurazione non supportata. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configurazione '{0}' non è supportata dai COM generati dall'origine. Se la configurazione specificata è obbligatoria, usa un attributo `ComImport`. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - La configurazione di marshalling specificata non è supportata dai COM generati dall'origine. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configurazione '{0}' specificata per il parametro '{1}' non è supportata dai COM generati dall'origine. Se la configurazione specificata è obbligatoria, usare un attributo `ComImport`. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configurazione '{0}' specificata per il valore restituito del metodo '{1}' non è supportata dai COM generati dall'origine. Se la configurazione specificata è obbligatoria, usare un attributo `ComImport` normale. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Il valore '{0}' specificato per '{1}' non è supportato dai COM generati dall'origine. Se la configurazione specificata è obbligatoria, usare un attributo `ComImport`. - - - - Specified configuration is not supported by source-generated COM. - La configurazione specificata non è supportata dai COM generati dall'origine. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - La conversione di questa interfaccia per l'uso di 'GeneratedComInterfaceAttribute' può produrre codice non valido e può richiedere lavoro aggiuntivo - - - - Convert to 'GeneratedComInterface' and allow unsafe code - Converti in 'GeneratedComInterface' e consenti codice non gestito - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Usare 'GeneratedComInterfaceAttribute' invece di 'ComImportAttribute' per generare codice di marshalling COM in fase di compilazione - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - La conversione di questa API in 'GeneratedComInterfaceAttribute' richiederà codice aggiuntivo per fornire marshaller personalizzati per alcuni parametri. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Contrassegnare il tipo '{0}' con 'GeneratedComInterfaceAttribute' invece di 'ComImportAttribute' per generare codice di marshalling COM in fase di compilazione - - - - Convert to 'GeneratedComInterface' - Converti in 'GeneratedComInterface' - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - La configurazione di 'StringMarshalling' e 'StringMarshallingCustomType' deve corrispondere all'interfaccia COM di base. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Gli eventi non sono concetti in COM quindi non verrà generato codice di interoperabilità per gli eventi dell’istanza nelle interfacce COM generate dall'origine. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - L'evento dell’istanza '{0}' è dichiarato nell'interfaccia '{1}' a cui è applicato 'GeneratedComInterfaceAttribute' - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - La dichiarazione di un evento dell’istanza in un tipo con 'GeneratedComInterfaceAttribute' non è supportata - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Le proprietà non sono concetti in COM quindi non verrà generato codice di interoperabilità per le proprietà dell'istanza nelle interfacce COM generate dall'origine. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - La proprietà dell’istanza '{0}' è dichiarata nell'interfaccia '{1}' a cui è applicato 'GeneratedComInterfaceAttribute' - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - La dichiarazione di una proprietà dell’istanza in un tipo con 'GeneratedComInterfaceAttribute' non è supportata - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - L'uso di 'GeneratedComInterfaceAttribute' e 'InterfaceTypeAttribute' non è supportato con il valore '{0}' di 'ComInterfaceType'. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - 'GeneratedComInterfaceType' non supporta il valore 'ComInterfaceType' fornito a 'InterfaceTypeAttribute' nello stesso tipo. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - Il metodo '{0}' è contenuto in un tipo '{1}' non contrassegnato come 'partial'. La generazione dell'origine COM ignorerà il metodo '{0}'. - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - Il tipo contenitore del metodo con VirtualMethodIndexAttribute non contiene un oggetto UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - I metodi nelle interfacce contrassegnate con l’attributo 'GeneratedComInterfaceAttribute' devono essere non generici. La generazione di origini COM ignorerà i metodi generici. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - Il metodo '{0}' deve essere non generico nelle interfacce contrassegnate con l'attributo 'GeneratedComInterfaceAttribute'. La generazione di origini COM ignorerà il metodo '{0}'. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - La configurazione di 'ExceptionMarshalling' e 'ExceptionMarshallingCustomType' non è valida. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - La configurazione di 'ExceptionMarshalling' e 'ExceptionMarshallingCustomType' nel metodo '{0}' non è valida. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - È necessario specificare 'ExceptionMarshallingCustomType' quando 'ExceptionMarshalling' è impostato su 'ExceptionMarshalling.Custom'. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - 'ExceptionMarshalling' deve essere impostato su 'ExceptionMarshalling.Custom' quando è specificato 'ExceptionMarshallingCustomType'. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - Il valore specificato non è un flag noto dell'enumerazione 'ExceptionMarshalling'. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - Le classi con 'GeneratedComClassAttribute' devono implementare una o più interfacce con 'GeneratedComInterfaceAttribute', essere contrassegnate come parziali e non generiche. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - La classe '{0}' con 'GeneratedComClassAttribute' o uno dei tipi che lo contengono non è contrassegnata come 'partial'. - - - - Invalid 'GeneratedComClassAttribute' usage - Utilizzo di 'GeneratedComClassAttribute' non valido - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - Le interfacce con attributo 'GeneratedComInterfaceAttribute' devono avere accessibilità "pubblica" o "interna" ed essere parziali, non generiche e devono specificare un GUID con 'System.Runtime.InteropServices.GuidAttribute'. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - L'interfaccia '{0}' ha l'attributo 'GeneratedComInterfaceAttribute' ma è generico. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - '{0}' dell'interfaccia è con attributo 'GeneratedComInterfaceAttribute' ma non è accessibile dal codice generato. L'interfaccia e tutti i tipi contenitore devono avere l'accessibilità "interna" o "pubblica" per consentire al codice generato di accedervi. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - L'interfaccia '{0}' è attribuita con 'GeneratedComInterfaceAttribute' ma 'System.Runtime.InteropServices.GuidAttribute' è mancante. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Utilizzo di 'GeneratedComInterfaceAttribute' non valido. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - Nell'interfaccia '{0}' o in uno dei tipi che lo contengono manca la parola chiave 'partial'. Il codice non verrà generato per '{0}'. - - - - The specified 'ComInterfaceOptions' are invalid. - L’elemento 'ComInterfaceOptions' specificato non è valido. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - L’elemento 'ComInterfaceOptions' specificato in '{0}' non è valido. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - La configurazione di 'StringMarshalling' e 'StringMarshallingCustomType' non è valida. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - È necessario specificare 'StringMarshallingCustomType' quando 'StringMarshalling' è impostato su 'StringMarshalling.Custom'. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' deve essere impostato su 'StringMarshalling.Custom' quando è specificato 'StringMarshallingCustomType'. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - La configurazione di 'StringMarshalling' e 'StringMarshallingCustomType' nell’interfaccia '{0}' non è valida. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - La configurazione di 'StringMarshalling' e 'StringMarshallingCustomType' nel metodo '{0}' non è valida. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Utilizzo di 'VirtualMethodIndexAttribute' non valido - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configurazione 'MarshalAsAttribute' specificata per il parametro '{1}' non è supportata dai COM generati dall'origine. Se la configurazione specificata è obbligatoria, usare un attributo 'ComImport'. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - La configurazione 'MarshalAsAttribute' specificata per il valore restituito del metodo '{1}' non è supportata dai COM generati dall'origine. Se la configurazione specificata è obbligatoria, usare un attributo 'ComImport' normale. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Tutti i metodi devono essere dichiarati nella stessa definizione parziale di un tipo di interfaccia con attributo 'GeneratedComInterface' per garantire un calcolo affidabile per gli offset della tabella dei metodi virtuali. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - Il metodo '{0}' è dichiarato in una definizione parziale diversa dell'interfaccia '{1}' rispetto alla definizione con l'attributo 'GeneratedComInterface' - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - Il metodo è dichiarato in una dichiarazione parziale diversa rispetto all'attributo 'GeneratedComInterface'. - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Un'interfaccia con attributo 'GeneratedComInterfaceAttribute' può derivare solo da un'altra interfaccia con attributi 'GeneratedComInterfaceAttribute'. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - L’interfaccia '{0}' deriva da due o più interfacce con attributo 'GeneratedComInterfaceAttribute'. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - L'interfaccia specificata deriva da due o più interfacce con attributi 'GeneratedComInterfaceAttribute'. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - È necessario specificare 'ComInterfaceOptions.ManagedObjectWrapper' o 'ComInterfaceOptions.ComObjectWrapper'. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - GeneratedComInterfaceAttribute e 'GeneratedComClassAttribute' richiedono codice non gestito. Il progetto deve essere aggiornato con '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - GeneratedComInterfaceAttribute e 'GeneratedComClassAttribute' richiedono codice non gestito. Il progetto deve essere aggiornato con '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - 'GeneratedComInterfaceAttribute' e 'GeneratedComClassAttribute' richiedono codice non sicuro. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - Le API di interoperabilità COM su 'System.Runtime.InteropServices.Marshal' non supportano i COM generati dall’origine e avranno esito negativo in fase di esecuzione - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - Il metodo '{0}' supporta solo l'interoperabilità COM basata sul runtime e non funzionerà con il tipo '{1}' - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - Le API di interoperabilità COM su 'System.Runtime.InteropServices.Marshal' non supportano i COM generati dall’origine - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - Il tipo '{0}' specificato come 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' non è accessibile dal codice generato. Il tipo deve avere almeno accessibilità "interna". {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - Per i tipi non supportati dai COM generati dall'origine, il puntatore funzione risultante si baserà sul runtime sottostante per effettuare il marshalling del tipo specificato. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - Il tipo '{0}' non è supportato dai COM generati dall'origine. L'origine generata non gestirà il marshalling del parametro '{1}'. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} L'origine generata non gestirà il marshalling del parametro '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - Il tipo '{0}' non è supportato dai CONM generati dall'origine. L'origine generata non gestirà il marshalling del valore restituito del metodo '{1}'. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} L'origine generata non gestirà il marshalling del valore restituito del metodo '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Il tipo specificato non è supportato da COM generati dall'origine - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Sono state specificate informazioni di marshalling non necessarie. Queste informazioni di marshalling possono essere rimosse senza alcuna modifica nel comportamento dell'applicazione. - - - - Unnecessary marshalling info was provided and can be removed. - Sono state fornite informazioni di marshalling non necessarie e possono essere rimosse. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Informazioni di mashalling '{0}' non necessarie fornite per il parametro '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Sono state fornite informazioni di mashalling '{0}' non necessarie per il tipo restituito del metodo '{1}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ja.xlf deleted file mode 100644 index 79a9d2c21b148..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ja.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - 'GeneratedComClassAttribute' を追加して、この型のオブジェクトを COM に渡し、安全でないコードを許可できるようにします - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - この型は、'GeneratedComInterfaceAttribute' 属性を持つ少なくとも 1 つの型を実装します。'GeneratedComClassAttribute' を追加して、この型を COM に渡し、この型のオブジェクトから 'GeneratedComInterfaceAttribute' を持つ型の COM インターフェイスを公開できるようにします。 - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - 'GeneratedComClassAttribute' を '{0}' に追加して、型 '{0}' のオブジェクトを COM に渡すことを有効にします - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - 'GeneratedComClassAttribute' を追加して、この型のオブジェクトを COM に渡すことを有効にします - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - 予期しないコード パターンのため、このインターフェイスまたはメソッドのコードを生成するために必要な分析が失敗しました。新しい構文または従来とは異なる構文を使用している場合は、他の構文の使用を検討してください。 - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - インターフェイス '{0}' の分析に失敗しました。ComInterfaceGenerator はこのインターフェイスのコードを生成しません。 - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - メソッド '{0}' の分析に失敗しました。ComInterfaceGenerator はこのメソッドのコードを生成しません。 - - - - Analysis for COM interface generation has failed. - COM インターフェイス生成の分析に失敗しました。 - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - COM インターフェイス ソースを生成するには、すべてのベース COM インターフェイスが有効なインターフェイスである必要があります。この診断を解決するには、ベース インターフェイスの問題を修正してください。 - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - COM インターフェイス {0} は {1} から継承していますが、エラーがあります。 ComInterfaceGenerator は {0} のソースを生成しません。 - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - ベース COM インターフェイスはソースを生成できませんでした。このインターフェイスのコードは生成されません。 - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - 基底インターフェイスの型でオプションが指定されていないか、少なくとも同じオプションが指定されていない限り、'GeneratedComInterface' では 'ComInterfaceOptions.ManagedObjectWrapper' または 'ComInterfaceOptions.ComObjectWrapper' を指定できません。 - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - 'ComImport' 型とソース生成 COM 型の間でのキャストはサポートされていないため、実行時に失敗します - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 'ComImport' 型とソース生成 COM 型の間でのキャストはサポートされていません - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 'ComImport' 型とソース生成 COM 型の間でのキャストはサポートされていません - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - 'GeneratedComClassAttribute' を持つクラスは、'GeneratedComInterfaceAttribute' を持つインターフェイスを少なくとも 1 つ実装する必要があります。そうでない場合、生成されたコードの効果がなくなります。 - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - 'GeneratedComClassAttribute' を持つクラス '{0}' は、'GeneratedComInterfaceAttribute' を持つインターフェイスを実装しません。'{0}' のソースは生成されません。 - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - 'EnableComHosting' を使用した .NET COM ホスティングでは、組み込みの COM 相互運用機能のみがサポートされます。ソース生成 COM 相互運用機能と 'GeneratedComInterfaceAttribute' はサポートされていません。 - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - 'EnableComHosting' を使用した .NET COM ホスティングでは、'GeneratedComInterfaceAttribute' のインターフェイスはサポートされていません。'{0}' によって実装された COM 公開インターフェイスを変更して、代わりに 'System.Runtime.InteropServices.ComVisibleAttribute' を使用するようにします - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - 'EnableComHosting' を使用した .NET COM ホスティングでは、'GeneratedComInterfaceAttribute' のインターフェイスはサポートされていません - - - - Source-generated COM will ignore any configuration that is not supported. - ソース生成済みの COM は、サポートされていない構成を無視します。 - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{0}' 構成は、ソース生成済みの COM ではサポートされていません。指定した構成が必要な場合は、代わりに 'ComImport' を使用してください。 - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - 指定されたマーシャリング構成は、ソース生成済みの COM ではサポートされていません。{0}。 - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - パラメーター '{1}' に指定された '{0}' 構成は、ソース生成済みの COM ではサポートされていません。指定した構成が必要な場合は、代わりに 'ComImport' を使用してください。 - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - メソッド '{0}' の戻り値に指定された '{1}' 構成は、ソース生成済みの COM ではサポートされていません。指定した構成が必要な場合は、代わりに 'ComImport' を使用してください。 - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{1}' に指定された値 '{0}' は、ソース生成済みの COM ではサポートされていません。指定した構成が必要な場合は、代わりに 'ComImport' を使用してください。 - - - - Specified configuration is not supported by source-generated COM. - 指定された構成は、ソース生成済みの COM ではサポートされていません。 - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - このインターフェイスを 'GeneratedComInterfaceAttribute' を使用するように変換すると、無効なコードが生成され、追加の作業が必要になる場合があります - - - - Convert to 'GeneratedComInterface' and allow unsafe code - 'GeneratedComInterface' に変換し、安全でないコードを許可する - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - コンパイル時に COM マーシャリング コードを生成するには、'ComImportAttribute' ではなく 'GeneratedComInterfaceAttribute' を使用します - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - この API を 'GeneratedComInterfaceAttribute' に変換するには、一部のパラメーターにカスタム マーシャラーを提供するために追加のコードが必要です。 - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - コンパイル時に COM マーシャリング コードを生成するには、型 '{0}' を 'ComImportAttribute' ではなく 'GeneratedComInterfaceAttribute' でマークします - - - - Convert to 'GeneratedComInterface' - 'GeneratedComInterface' に変換する - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - 'StringMarshalling' および 'StringMarshallingCustomType' の構成は、ベース COM インターフェイスと一致する必要があります。 - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - イベントは COM の概念ではないため、ソース生成 COM インターフェイス上のインスタンス イベントに対して相互運用コードはソース生成されません。 - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - インスタンス イベント '{0}' は、'GeneratedComInterfaceAttribute' が適用されているインターフェイス '{1}' で宣言されています - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - 'GeneratedComInterfaceAttribute' を含む型のインスタンス イベントの宣言はサポートされていません - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - プロパティは COM の概念ではないため、ソース生成 COM インターフェイス上のインスタンス プロパティに対して相互運用コードはソース生成されません。 - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - インスタンス プロパティ '{0}' は、'GeneratedComInterfaceAttribute' が適用されているインターフェイス '{1}' で宣言されています - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - 'GeneratedComInterfaceAttribute' を含む型のインスタンス プロパティの宣言はサポートされていません - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - 'GeneratedComInterfaceAttribute' および 'InterfaceTypeAttribute' は、'ComInterfaceType' の値 '{0}' ではサポートされていません。 - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - 'GeneratedComInterfaceType' は、同じ型の 'InterfaceTypeAttribute' への 'ComInterfaceType' 値の入力をサポートしていません。 - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - メソッド '{0}' は、'partial' とマークされていない型 '{1}' に含まれています。COM ソース生成はメソッド '{0}' を無視します。 - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - VirtualMethodIndexAttribute を持つ包含型のメソッドに UnmanagedObjectUnwrapperAttribute がありません。 - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - 'GeneratedComInterfaceAttribute' でマークされたインターフェイス上のメソッドは非ジェネリックである必要があります。COM ソース生成は、ジェネリック メソッドを無視します。 - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - 'GeneratedComInterfaceAttribute' でマークされたインターフェイスでは、メソッド '{0}' は非ジェネリックである必要があります。COM ソース生成はメソッド '{0}' を無視します。 - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - 'ExceptionMarshalling' と 'ExceptionMarshallingCustomType' の構成が無効です。 - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - メソッド '{0}' の 'ExceptionMarshalling' と 'ExceptionMarstailingCustomType' の構成が無効です。 {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - 'ExceptionMarshalling' が 'ExceptionMarshalling.Custom' に設定されている場合は、'ExceptionMarshallingCustomType' を指定する必要があります。 - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - 'ExceptionMarshallingCustomType' が指定されている場合は、'ExceptionMarshalling' を 'ExceptionMarshalling.Custom' に設定する必要があります。 - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - 指定された値は、'ExceptionMarshalling' 列挙型の既知のフラグではありません。 - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - 'GeneratedComClassAttribute' を持つクラスは、'GeneratedComInterfaceAttribute' を持つ 1 つ以上のインターフェイスを実装し、'partial' に設定し、非ジェネリックにする必要があります。 - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - 'GeneratedComClassAttribute' を含むクラス '{0}'、またはそのクラスを含む型の 1 つが 'partial' としてマークされていません。 - - - - Invalid 'GeneratedComClassAttribute' usage - 'GeneratedComClassAttribute' の使用法が無効です - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - 'GeneratedComInterfaceAttribute' の属性を持つインターフェイスは、'public' または 'internal アクセシビリティを持ち、部分的で、非ジェネリックである必要があり、'System.Runtime.InteropServices.GuidAttribute' で GUID を指定する必要があります。 - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - インターフェイス '{0}' は 'GeneratedComInterfaceAttribute' で属性付けされていますが、ジェネリックです。 - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - インターフェイス '{0}' には 'GeneratedComInterfaceAttribute' 属性が設定されていますが、生成されたコードからはアクセスできません。生成されたコードがこのインターフェイスとそのすべての包含型にアクセスするには、アクセシビリティ 'internal' または 'public' が必要です。{1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - インターフェイス '{0}' の属性は 'GeneratedComInterfaceAttribute' ですが、'System.Runtime.InteropServices.GuidAttribute' がありません。 - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - 'GeneratedComInterfaceAttribute' の使用法が無効です。 - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - インターフェイス '{0}' またはそのインターフェイスを含む型の 1 つに 'partial' キーワード (keyword) がありません。'{0}'のコードは生成されません。 - - - - The specified 'ComInterfaceOptions' are invalid. - 指定された 'ComInterfaceOptions' が無効です。 - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - '' で指定された '{0}' の 'ComInterfaceOptions' が無効です。{1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' と 'StringMarshallingCustomType' の構成が無効です。 - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshalling' が 'StringMarshalling.Custom' に設定されている場合は、'StringMarshallingCustomType' を指定する必要があります。 - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshallingCustomType' が指定されている場合、'StringMarshalling' を 'StringMarshalling.Custom' に設定する必要があります。 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - インターフェイス '{0}' の 'StringMarshalling' および 'StringMarshallingCustomType' の構成が無効です。 {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - メソッド '{0}' の 'StringMarshalling' と 'StringMarshallingCustomType' の構成が無効です。{1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - 'VirtualMethodIndexAttribute' の使用法が無効です - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - パラメーター '{1}' に指定された 'MarshalAsAttribute' 構成は、ソース生成済みの COM ではサポートされていません。指定した構成が必要な場合は、代わりに 'ComImport' を使用してください。 - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - メソッド '{1}' の戻り値に指定された 'MarshalAsAttribute' 構成は、ソース生成済みの COM ではサポートされていません。指定した構成が必要な場合は、代わりに 'ComImport' を使用してください。 - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - 仮想メソッド テーブルのオフセットを確実に計算するには、'GeneratedComInterface' 属性インターフェイスの種類の同じ部分定義で、すべてのメソッドを宣言する必要があります。 - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - メソッド '{0}' は、'GeneratedComInterface' 属性を持つ定義とは異なるインターフェイス '{1}' の部分定義で宣言されています - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - メソッドは、'GeneratedComInterface' 属性とは異なる部分宣言で宣言されています。 - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - 'GeneratedComInterfaceAttribute' 属性インターフェイスは、最大 1 つのその他の 'GeneratedComInterfaceAttribute' 属性インターフェイスからのみ派生できます。 - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - インターフェイス '{0}' は、'GeneratedComInterfaceAttribute' 属性が設定された 2 つ以上のインターフェイスから派生しています。 - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - 指定されたインターフェイスは、2 つ以上の 'GeneratedComInterfaceAttribute' 属性インターフェイスから派生しています。 - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - 'ComInterfaceOptions.ManagedObjectWrapper' または 'ComInterfaceOptions.ComObjectWrapper' を指定する必要があります。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' および 'GeneratedComClassAttribute' にはアンセーフ コードが必要です。プロジェクトは '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' で更新する必要があります。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' および 'GeneratedComClassAttribute' にはアンセーフ コードが必要です。プロジェクトは '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' で更新する必要があります。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - 'GeneratedComInterfaceAttribute' および 'GeneratedComClassAttribute' にはアンセーフ コードが必要です。 - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - 'System.Runtime.InteropServices.Marshal' 上の COM 相互運用 API はソース生成 COM をサポートしていないため、実行時に失敗します - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - メソッド '{0}' はランタイム ベースの COM 相互運用のみをサポートし、型 '{1}' では機能しません - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - 'System.Runtime.InteropServices.Marshal' 上の COM 相互運用 API は、ソース生成 COM をサポートしていません - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' として指定された型 '{0}' は、生成されたコードからアクセスできません。この型には少なくともアクセシビリティ 'internal' が必要です。{1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - ソース生成済みの COM でサポートされていない型である場合、生成された関数ポインターは、基礎となるなるランタイムに依存して、指定された型をマーシャリングします。 - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - 型 '{0}' は、ソース生成済みの COM ではサポートされていません。生成されたソースは、パラメーター '{1}' のマーシャリングを処理しません。 - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 生成されたソースはパラメーター '{1}' のマーシャリングを処理しません。 - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - 型 '{0}' は、ソース生成済みの COM ではサポートされていません。生成されたソースは、メソッド '{1}' の戻り値のマーシャリングを処理しません。 - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 生成されたソースは、メソッド '{1}' の戻り値のマーシャリングを処理しません。 - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - 指定された型は、ソース生成済みの COM ではサポートされていません - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - 不要なマーシャリング情報が提供されました。このマーシャリング情報は、アプリケーションの動作を変更することなく削除できます。 - - - - Unnecessary marshalling info was provided and can be removed. - 不要なマーシャリング情報が指定されたため、削除できます。 - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - パラメーター '{1}' に不要なマーシャリング情報 '{0}' が指定されました - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - メソッド '{1}' の戻り値の型に不要なマーシャリング情報 '{0}' が指定されました - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ko.xlf deleted file mode 100644 index 32a10fbe836ab..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ko.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - 이 유형의 개체를 COM에 전달하고 안전하지 않은 코드를 허용하려면 'GeneratedComClassAttribute'를 추가하세요. - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - 이 유형은 'GeneratedComInterfaceAttribute' 특성이 있는 하나 이상의 유형을 구현합니다. 이 형식을 COM에 전달하고 이 형식의 개체에서 'GeneratedComInterfaceAttribute'가 있는 형식에 대한 COM 인터페이스를 노출하려면 'GeneratedComClassAttribute'를 추가합니다. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - '{0}' 유형의 개체를 COM에 전달할 수 있도록 'GeneratedComClassAttribute'를 '{0}'에 추가 - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - 이 유형의 개체를 COM에 전달할 수 있도록 'GeneratedComClassAttribute' 추가 - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - 예기치 않은 코드 패턴으로 인해 이 인터페이스 또는 메서드에 대한 코드를 생성하는 데 필요한 분석이 실패했습니다. 새 구문 또는 이례적 구문을 사용하는 경우 다른 구문을 사용하는 것이 좋습니다. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - '{0}' 인터페이스를 분석하지 못했습니다. ComInterfaceGenerator에서 이 인터페이스에 대한 코드를 생성하지 않습니다. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - '{0}' 메서드를 분석하지 못했습니다. ComInterfaceGenerator에서 이 메서드에 대한 코드를 생성하지 않습니다. - - - - Analysis for COM interface generation has failed. - COM 인터페이스 생성에 대한 분석이 실패했습니다. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - COM 인터페이스 원본을 생성하려면 모든 COM 기본 인터페이스가 유효해야 합니다. 기본 인터페이스의 문제를 수정하여 이 진단을 해결하세요. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - COM 인터페이스 {0}이(가) 오류가 있는 {1}에서 상속됩니다. ComInterfaceGenerator는 {0}에 대한 원본을 생성하지 않습니다. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - 베이스 COM 인터페이스에서 소스를 생성하지 못했습니다. 이 인터페이스에 대한 코드가 생성되지 않습니다. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - 기본 인터페이스 형식이 옵션을 지정하지 않았거나, 최소한 동일한 옵션을 지정하지 않은 경우 'GeneratedComInterface'는 'ComInterfaceOptions.ManagedObjectWrapper' 또는 'ComInterfaceOptions.ComObjectWrapper'를 지정할 수 없습니다. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - 'ComImport' 형식과 소스 생성 COM 형식 간의 캐스팅은 지원되지 않으며 런타임에 실패합니다. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 'ComImport' 형식과 소스 생성 COM 형식 간 캐스팅은 지원되지 않습니다. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 'ComImport' 형식과 소스 생성 COM 형식 간 캐스팅은 지원되지 않습니다. - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - 'GeneratedComClassAttribute'가 있는 클래스는 'GeneratedComInterfaceAttribute'가 있는 하나 이상의 인터페이스를 구현해야 합니다. 그렇지 않으면 생성된 코드가 효과가 없습니다. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - 'GeneratedComClassAttribute'가 있는 '{0}' 클래스는 'GeneratedComInterfaceAttribute'가 있는 인터페이스를 구현하지 않습니다. '{0}'에 대해 원본이 생성되지 않습니다. - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - 'EnableComHosting'을 사용한 .NET COM 호스팅은 기본 제공 COM interop만 지원합니다. 'GeneratedComInterfaceAttribute'와의 소스 생성 COM 상호 운용성을 지원하지 않습니다. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - 'EnableComHosting'을 사용한 .NET COM 호스팅은 'GeneratedComInterfaceAttribute'를 사용한 인터페이스를 지원하지 않습니다. 대신 'System.Runtime.InteropServices.ComVisibleAttribute'를 사용하도록 '{0}'에 의해 구현된 모든 COM 노출 인터페이스를 변경합니다. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - 'EnableComHosting'을 사용한 .NET COM 호스팅은 'GeneratedComInterfaceAttribute'를 사용한 인터페이스를 지원하지 않습니다. - - - - Source-generated COM will ignore any configuration that is not supported. - 소스 생성 COM은 지원되지 않는 구성을 무시합니다. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{0}' 구성은 원본 생성 COM에서 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 'ComImport'를 사용합니다. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - 지정된 마샬링 구성은 원본 생성 COM에서 지원되지 않습니다. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 매개 변수 '{1}'에 대해 지정된 '{0}' 구성이 원본 생성 COM에서 지원되지 않습니다. 지정된 구성이 필요한 경우 'ComImport’를 대신 사용합니다. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 메서드 '{1}'의 반환 값에 대해 지정된 '{0}' 구성은 소스 생성 COM에서 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 'ComImport'를 사용합니다. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{1}'에 대해 지정된 값 '{0}'은(는) 원본 생성 COM에서 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 'ComImport'를 사용합니다. - - - - Specified configuration is not supported by source-generated COM. - 지정된 구성은 원본 생성 COM에서 지원되지 않습니다. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - 이 인터페이스를 'GeneratedComInterfaceAttribute'를 사용하도록 변환하면 잘못된 코드가 생성될 수 있으며 추가 작업이 필요할 수 있습니다. - - - - Convert to 'GeneratedComInterface' and allow unsafe code - 'GeneratedComInterface'로 변환하고 안전하지 않은 코드 허용 - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - 컴파일 시간에 COM 마샬링 코드를 생성하려면 'ComImportAttribute' 대신 'GeneratedComInterfaceAttribute'를 사용하세요. - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - 이 API를 'GeneratedComInterfaceAttribute'로 변환하려면 일부 매개 변수에 대한 사용자 지정 마샬러를 제공하는 추가 코드가 필요합니다. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - 컴파일 시간에 COM 마샬링 코드를 생성하려면 'ComImportAttribute' 대신 'GeneratedComInterfaceAttribute'로 '{0}' 유형을 표시하세요. - - - - Convert to 'GeneratedComInterface' - 'GeneratedComInterface'로 변환 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - 'StringMarshalling' 및 'StringMarshallingCustomType'의 구성은 기본 COM 인터페이스와 일치해야 합니다. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - 이벤트는 COM의 개념이 아니므로 소스 생성 COM 인터페이스의 인스턴스 이벤트에 대해 interop 코드가 생성되지 않습니다. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - 'GeneratedComInterfaceAttribute'가 적용된 '{1}' 인터페이스에서 '{0}' 인스턴스 이벤트가 선언되었습니다. - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - 'GeneratedComInterfaceAttribute'를 사용하는 형식의 인스턴스 이벤트 선언은 지원되지 않습니다. - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - 속성은 COM의 개념이 아니므로 소스 생성 COM 인터페이스의 인스턴스 속성에 대해 interop 코드가 생성되지 않습니다. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - 'GeneratedComInterfaceAttribute'가 적용된 '{1}' 인터페이스에서 '{0}' 인스턴스 속성이 선언되었습니다. - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - 'GeneratedComInterfaceAttribute'를 사용하는 형식의 인스턴스 속성 선언은 지원되지 않습니다. - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - 'GeneratedComInterfaceAttribute' 및 'InterfaceTypeAttribute'는 'ComInterfaceType' 값 '{0}'에서 지원되지 않습니다. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - 'GeneratedComInterfaceType'은 동일한 유형의 'InterfaceTypeAttribute'에 제공된 'ComInterfaceType' 값을 지원하지 않습니다. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - 메서드 '{0}'은(는) 'partial'로 표시되지 않은 '{1}' 형식에 포함되어 있습니다. COM 원본 생성은 '{0}' 메서드를 무시합니다. - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - VirtualMethodIndexAttribute를 사용하는 메서드 포함 형식에 UnmanagedObjectUnwrapperAttribute가 없습니다. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - 'GeneratedComInterfaceAttribute'로 표시된 인터페이스의 메서드는 제네릭이 아니어야 합니다. COM 원본 생성은 제네릭 메서드를 무시합니다. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - 'GeneratedComInterfaceAttribute'로 표시된 인터페이스에서 '{0}' 메서드는 제네릭이 아니어야 합니다. COM 원본 생성은 '{0}' 메서드를 무시합니다. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - 'ExceptionMarshalling' 및 'ExceptionMarshallingCustomType'의 구성이 잘못되었습니다. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - 메서드 '{0}'의 'ExceptionMarshalling' 및 'ExceptionMarshallingCustomType'의 구성이 잘못되었습니다. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - 'ExceptionMarshalling'이 'ExceptionMarshalling.Custom'으로 설정된 경우 'ExceptionMarshallingCustomType'을 지정해야 합니다. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - 'ExceptionMarshallingCustomType'이 지정된 경우 'ExceptionMarshalling'은 'ExceptionMarshalling.Custom'으로 설정해야 합니다. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - 제공된 값은 'ExceptionMarshalling' 열거형의 알려진 플래그가 아닙니다. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - 'GeneratedComClassAttribute'가 있는 클래스는 'GeneratedComInterfaceAttribute'를 사용하여 인터페이스를 하나 이상 구현하고 'partial'로 표시되어야 하며 제네릭이 아니어야 합니다. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - 'GeneratedComClassAttribute'가 있는 클래스 '{0}' 또는 포함된 형식 중 하나가 'partial'로 표시되어 있지 않습니다. - - - - Invalid 'GeneratedComClassAttribute' usage - 'GeneratedComClassAttribute' 사용이 잘못되었습니다. - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - 'GeneratedComInterfaceAttribute'로 특성이 지정된 인터페이스에는 'public' 또는 'internal' 접근성이 있어야 하며 부분적이고 제네릭이 아니어야 하며 'System.Runtime.InteropServices.GuidAttribute'를 사용하여 GUID를 지정해야 합니다. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - '{0}' 인터페이스는 'GeneratedComInterfaceAttribute'로 특성이 지정되지만 제네릭입니다. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - 인터페이스 '{0}'은(는) 'GeneratedComInterfaceAttribute'로 특성이 지정되었지만 생성된 코드에서 액세스할 수 없습니다. 인터페이스와 포함된 모든 형식에는 액세스하기 위해 생성된 코드에 대한 접근성 'internal' 또는 'public'이 있어야 합니다. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - 인터페이스 '{0}'에 'GeneratedComInterfaceAttribute'이(가) 지정되었지만 'System.Runtime.InteropServices.GuidAttribute'이(가) 누락되었습니다. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - 잘못된 'GeneratedComInterfaceAttribute' 사용법입니다. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - '{0}' 인터페이스 또는 해당 포함된 형식 중 하나에 'partial' 키워드가 없습니다. '{0}'에 대한 코드가 생성되지 않습니다. - - - - The specified 'ComInterfaceOptions' are invalid. - 지정한 'ComInterfaceOptions'가 잘못되었습니다. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - '{0}'에 지정한 'ComInterfaceOptions'가 잘못되었습니다. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' 및 'StringMarshallingCustomType'의 구성이 잘못되었습니다. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshalling'이 'StringMarshalling.Custom'으로 설정된 경우 'StringMarshallingCustomType'을 지정해야 합니다. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshallingCustomType'이 지정된 경우 'StringMarshalling'은 'StringMarshalling.Custom'으로 설정되어야 합니다. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - '{0}' 인터페이스의 'StringMarshalling' 및 'StringMarshallingCustomType' 구성이 잘못되었습니다. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - '{0}' 메서드의 'StringMarshalling' 및 'StringMarshallingCustomType' 구성이 잘못되었습니다. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - 잘못된 'VirtualMethodIndexAttribute' 사용 - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 매개 변수 '{1}'에 대해 지정된 'MarshalAsAttribute' 구성은 소스 생성 COM에서 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 'ComImport'를 사용합니다. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 메서드 '{1}'의 반환 값에 대해 지정된 'MarshalAsAttribute' 구성은 소스 생성 COM에서 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 'ComImport'를 사용합니다. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - 모든 메서드는 가상 메서드 테이블 오프셋에 대한 신뢰할 수 있는 계산을 보장하기 위해 'GeneratedComInterface' 속성 인터페이스 유형의 동일한 부분 정의에서 선언되어야 합니다. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - 메서드 '{0}'은(는) 'GeneratedComInterface' 특성이 있는 정의가 아닌 인터페이스 '{1}'의 다른 부분 정의에서 선언되었습니다. - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - 메소드가 'GeneratedComInterface' 속성과 다른 부분 선언에서 선언되었습니다. - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - 'GeneratedComInterfaceAttribute' 특성 인터페이스는 하나의 다른 'GeneratedComInterfaceAttribute' 특성 인터페이스에서만 파생될 수 있습니다. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - 인터페이스 '{0}'은(는) 'GeneratedComInterfaceAttribute'가 있는 두 개 이상의 인터페이스에서 파생됩니다. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - 지정한 인터페이스는 두 개 이상의 'GeneratedComInterfaceAttribute' 특성 인터페이스에서 파생됩니다. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - 'ComInterfaceOptions.ManagedObjectWrapper' 또는 'ComInterfaceOptions.ComObjectWrapper'를 지정해야 합니다. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' 및 'GeneratedComClassAttribute'에는 안전하지 않은 코드가 필요합니다. 프로젝트를 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'로 업데이트해야 합니다. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' 및 'GeneratedComClassAttribute'에는 안전하지 않은 코드가 필요합니다. 프로젝트를 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'로 업데이트해야 합니다. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - 'GeneratedComInterfaceAttribute' 및 'GeneratedComClassAttribute'에는 안전하지 않은 코드가 필요합니다. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - 'System.Runtime.InteropServices.Marshal'의 COM Interop API는 소스 생성 COM을 지원하지 않으며 런타임에 실패합니다. - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - '{0}' 메서드는 런타임 기반 COM 상호 운용성만 지원하며 '{1}' 유형에서는 작동하지 않습니다. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - 'System.Runtime.InteropServices.Marshal'의 COM Interop API는 소스 생성 COM을 지원하지 않습니다. - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - 생성된 코드에서 'GeneratedComInterfaceAttribute.StringMarscingingCustomType'으로 지정된 '{0}' 형식에 액세스할 수 없습니다. 형식에는 최소한 'internal' 접근성이 있어야 합니다. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - 원본 생성 COM에서 지원하지 않는 형식의 경우 결과 함수 포인터는 기본 런타임을 사용하여 지정된 형식을 마샬링합니다. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - 형식 '{0}'은(는) 원본 생성 COM에서 지원되지 않습니다. 생성된 원본은 '{1}' 매개 변수의 마샬링을 처리하지 않습니다. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 생성된 소스는 '{1}' 매개 변수의 마샬링을 처리하지 않습니다. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - '{0}' 형식은 원본 생성 COM에서 지원되지 않습니다. 생성된 원본은 '{1}' 메서드의 반환 값 마샬링을 처리하지 않습니다. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 생성된 소스는 '{1}' 메서드의 반환 값 마샬링을 처리하지 않습니다. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - 지정된 형식은 원본 생성 COM에서 지원되지 않습니다. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pl.xlf deleted file mode 100644 index 02cc1ac62c104..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pl.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Dodaj atrybut „GeneratedComClassAttribute”, aby umożliwić przekazywanie obiektów tego typu do modelu COM i zezwalać na niebezpieczny kod - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Ten typ implementuje co najmniej jeden typ z atrybutem „GeneratedComInterfaceAttribute”. Dodaj atrybut „GeneratedComClassAttribute”, aby umożliwić przekazywanie tego typu do modelu COM i uwidacznianie interfejsów COM dla typów z atrybutem „GeneratedComInterfaceAttribute” z obiektów tego typu. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Dodaj atrybut „GeneratedComClassAttribute” do „{0}”, aby umożliwić przekazywanie obiektów typu „{0}” do modelu COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Dodaj atrybut „GeneratedComClassAttribute”, aby umożliwić przekazywanie obiektów tego typu do modelu COM - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - Analiza wymagana do wygenerowania kodu dla tego interfejsu lub metody nie powiodła się z powodu nieoczekiwanego wzorca kodu. Jeśli używasz nowej składni lub nieszablonowej składni, rozważ użycie innej składni. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - Analiza interfejsu „{0}” nie powiodła się. Element ComInterfaceGenerator nie wygeneruje kodu dla tego interfejsu. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - Analiza metody „{0}” nie powiodła się. Element ComInterfaceGenerator nie wygeneruje kodu dla tej metody. - - - - Analysis for COM interface generation has failed. - Analiza generowania interfejsu COM nie powiodła się. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - Generowanie źródła interfejsu COM wymaga, aby wszystkie podstawowe interfejsy COM były prawidłowymi interfejsami. Rozwiąż wszelkie problemy z interfejsem podstawowym, aby rozwiązać ten problem diagnostyczny. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - Interfejs COM {0} dziedziczy po {1}, który zawiera błędy. Program ComInterfaceGenerator nie wygeneruje źródła dla {0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - Podstawowy interfejs COM nie może wygenerować źródła. Kod nie zostanie wygenerowany dla tego interfejsu. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - Element „GeneratedComInterface” nie może określać elementu „ComInterfaceOptions.ManagedObjectWrapper” lub „ComInterfaceOptions.ComObjectWrapper”, chyba że podstawowy typ interfejsu nie określił opcji lub określił co najmniej te same opcje. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - Rzutowanie między typem „ComImport” i wygenerowanym przez źródło typem COM nie jest obsługiwane i zakończy się niepowodzeniem w czasie wykonywania - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Rzutowanie między typem „ComImport” i wygenerowanym przez źródło typem COM nie jest obsługiwane - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Rzutowanie między typem „ComImport” i wygenerowanym przez źródło typem COM nie jest obsługiwane - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Klasa z atrybutem „GeneratedComClassAttribute” musi implementować co najmniej jeden interfejs z atrybutem „GeneratedComInterfaceAttribute” lub wygenerowany kod bez efektu. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - Klasa „{0}” z atrybutem „GeneratedComClassAttribute” nie implementuje żadnych interfejsów z atrybutem „GeneratedComInterfaceAttribute”. Źródło nie zostanie wygenerowane dla „{0}”. - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - Hosting modelu COM platformy .NET z elementem „EnableComHosting” obsługuje tylko wbudowaną usługę międzyoperacyjną modelu COM. Nie obsługuje usługi międzyoperacyjnej modelu COM wygenerowanej przez źródło przy użyciu atrybutu „GeneratedComInterfaceAttribute”. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - Hosting modelu COM platformy .NET z elementem „EnableComHosting” nie obsługuje interfejsów z atrybutem „GeneratedComInterfaceAttribute”. Zmień wszystkie interfejsy ujawnione przez model COM zaimplementowane przez „{0}”, aby zamiast tego użyć atrybutu „System.Runtime.InteropServices.ComVisibleAttribute” - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - Hosting modelu COM platformy .NET z elementem „EnableComHosting” nie obsługuje interfejsów z atrybutem „GeneratedComInterfaceAttribute” - - - - Source-generated COM will ignore any configuration that is not supported. - COM wygenerowany przez źródło zignoruje każdą konfigurację, która nie jest obsługiwana. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Konfiguracja „{0}” nie jest obsługiwana przez COM generowany przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast niej `ComImport`. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - Określona konfiguracja skierowania nie jest obsługiwana przez COM generowany źródłowo. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Określona konfiguracja „{0}” dla parametru „{1}” nie jest obsługiwana przez COM generowany przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast niej `ComImport`. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Określona konfiguracja „{0}” dla wartości zwracanej metody „{1}” nie jest obsługiwana przez COM generowany przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast niej `ComImport`. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Określona wartość „{0}” dla „{1}” nie jest obsługiwana przez COM generowany przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast niej `ComImport`. - - - - Specified configuration is not supported by source-generated COM. - Określona konfiguracja nie jest obsługiwana przez COM wygenerowany przez źródło. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - Przekonwertowanie tego interfejsu w celu użycia atrybutu „GeneratedComInterfaceAttribute” może spowodować wygenerowanie nieprawidłowego kodu i może wymagać dodatkowej pracy - - - - Convert to 'GeneratedComInterface' and allow unsafe code - Konwertuj na element „GeneratedComInterface” i zezwalaj na niebezpieczny kod - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Użyj atrybutu „GeneratedComInterfaceAttribute” zamiast „ComImportAttribute”, aby wygenerować kod marshallingu modelu COM w czasie kompilacji - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - Przekonwertowanie tego interfejsu API na atrybut „GeneratedComInterfaceAttribute” będzie wymagać dodatkowego kodu w celu udostępnienia niestandardowych organizatorów dla niektórych parametrów. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Oznacz typ „{0}” atrybutem „GeneratedComInterfaceAttribute” zamiast „ComImportAttribute”, aby wygenerować kod marshallingu modelu COM w czasie kompilacji - - - - Convert to 'GeneratedComInterface' - Konwertowanie na element „GeneratedComInterface” - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - Konfiguracja elementów „StringMarssourceing” i „StringMarsxtingCustomType” musi być zgodna z podstawowym interfejsem COM. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Zdarzenia nie są koncepcją w modelu COM, więc żaden kod międzyoperacyjny nie będzie generowany dla zdarzeń wystąpień w interfejsach COM generowanych źródłowo. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Zdarzenie wystąpienia „{0}” jest zadeklarowane w interfejsie „{1}”, w którym zastosowano atrybut „GeneratedComInterfaceAttribute” - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - Deklarowanie zdarzenia wystąpienia w typie z atrybutem „GeneratedComInterfaceAttribute” nie jest obsługiwane - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Te właściwości nie są koncepcją w modelu COM, dlatego nie zostanie wygenerowany kod międzyoperacyjny dla właściwości wystąpienia w interfejsach COM generowanych źródłowo. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Właściwość wystąpienia „{0}” jest zadeklarowana w interfejsie „{1}”, do którego zastosowano atrybut „GeneratedComInterfaceAttribute” - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - Deklarowanie właściwości wystąpienia w typie z atrybutem „GeneratedComInterfaceAttribute” nie jest obsługiwane - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - Użycie atrybutów „GeneratedComInterfaceAttribute” i „InterfaceTypeAttribute” nie jest obsługiwane w przypadku wartości „ComInterfaceType” „{0}”. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - Typ „GeneratedComInterfaceType” nie obsługuje wartości „ComInterfaceType” dostarczonej do atrybutu „InterfaceTypeAttribute” w tym samym typie. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - Metoda „{0}” jest zawarta w typie „{1}”, który nie jest oznaczony jako „częściowy”. Generowanie źródła COM zignoruje metodę „{0}”. - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - Zawieranie typu metody z atrybutem VirtualMethodIndexAttribute nie ma atrybutu UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - Metody w interfejsach oznaczone atrybutem „GeneratedComInterfaceAttribute” powinny być nie-ogólne. Generowanie źródła COM zignoruje metody, które są ogólne. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - Metoda „{0}” powinna być nie-ogólna w interfejsach oznaczonych atrybutem „GeneratedComInterfaceAttribute”. Generowanie źródła COM zignoruje metodę „{0}”. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - Konfiguracja elementów „ExceptionMarshalling” i „ExceptionMarshallingCustomType” jest nieprawidłowa. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - Konfiguracja elementów „ExceptionMarshalling” i „ExceptionMarshallingCustomType” w metodzie „{0}” jest nieprawidłowa. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - Element „ExceptionMarshallingCustomType” musi być określony kiedy „ExceptionMarshalling” jest ustawiony na „ExceptionMarshalling.Custom”. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - Element „ExceptionMarshalling” powinien być ustawiony na „ExceptionMarshalling.Custom” kiedy typ „ExceptionMarshallingCustomType” jest określony. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - Podana wartość nie jest znaną flagą wyliczenia „'ExceptionMarshalling”. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - Klasy z atrybutem „GeneratedComClassAttribute” muszą implementować co najmniej jeden interfejs z atrybutem „GeneratedComInterfaceAttribute”, być oznaczone jako częściowe i nie być ogólne. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - Klasa „{0}” z atrybutem „GeneratedComClassAttribute” lub jednym z jej typów zawierających nie jest oznaczona jako „partial”. - - - - Invalid 'GeneratedComClassAttribute' usage - Nieprawidłowe użycie elementu „GeneratedComClassAttribute” - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - Interfejsy z atrybutem „GeneratedComInterfaceAttribute” muszą mieć ułatwienia dostępu „publiczny” lub „wewnętrzny”, muszą być częściowe, nie być ogóle, i muszą określać identyfikator GUID z atrybutem „System.Runtime.InteropServices.GuidAttribute”. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - Interfejs „{0}” ma atrybut „GeneratedComInterfaceAttribute”, ale jest ogólny. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - Interfejs „{0}” ma atrybut „GeneratedComInterfaceAttribute”, ale nie jest dostępny za pomocą wygenerowanego kodu. Interfejs i wszystkie zawierające go typy muszą mieć ułatwienia dostępu „wewnętrzny” lub „publiczny”, aby wygenerowany kod mógł uzyskać do niego dostęp. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - Interfejs „{0}” ma atrybut „GeneratedComInterfaceAttribute”, ale brakuje atrybutu „System.Runtime.InteropServices.GuidAttribute”. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Nieprawidłowe użycie atrybutu „GeneratedComInterfaceAttribute”. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - W interfejsie „{0}” lub jednym z jego typów zawierających brakuje słowa kluczowego „partial”. Kod nie zostanie wygenerowany dla „{0}”. - - - - The specified 'ComInterfaceOptions' are invalid. - Określone opcje „ComInterfaceOptions” są nieprawidłowe. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - Określone opcje „ComInterfaceOptions” w „{0}” są nieprawidłowe. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Konfiguracja elementów „StringMarshalling” i „StringMarshallingCustomType” jest nieprawidłowa. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - Element „StringMarshallingCustomType” należy określić, gdy element „StringMarshalling” ma wartość „StringMarshalling.Custom”. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - Element „StringMarshalling” należy ustawić na wartość „StringMarshalling.Custom”, gdy określono element „StringMarshallingCustomType”. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - Konfiguracja elementów „StringMarshalling” i „StringMarshallingCustomType” w interfejsie „{0}” jest nieprawidłowa. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Konfiguracja elementów „StringMarshalling” i „StringMarshallingCustomType” w metodzie „{0}” jest nieprawidłowa. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Nieprawidłowe użycie elementu "VirtualMethodIndexAttribute" - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Określona konfiguracja atrybutu „MarshalAsAttribute” dla parametru „{1}” nie jest obsługiwana przez COM generowany przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast niej polecenia `ComImport`. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Określona konfiguracja atrybutu „MarshalAsAttribute” dla wartości zwracanej metody „{1}” nie jest obsługiwana przez COM generowany przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast niej polecenia `ComImport`. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Wszystkie metody muszą być zadeklarowane w tej samej częściowej definicji przypisanego typu interfejsu „GeneratedComInterface” w celu zapewnienia niezawodnego obliczania przesunięć tabeli metod wirtualnych. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - Metoda „{0}” jest zadeklarowana w innej częściowej definicji interfejsu „{1}” niż definicja, która ma atrybut „GeneratedComInterface” - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - Metoda jest zadeklarowana w innej deklaracji częściowej niż atrybut „GeneratedComInterface”. - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Interfejs z atrybutem „GeneratedComInterfaceAttribute” może pochodzić tylko z co najwyżej jednego interfejsu z atrybutem „GeneratedComInterfaceAttribute”. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - Interfejs „{0}” pochodzi z co najmniej dwóch interfejsów z atrybutem „GeneratedComInterfaceAttribute”. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - Określony interfejs pochodzi z co najmniej dwóch interfejsów z atrybutem „GeneratedComInterfaceAttribute”. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - Należy określić element „ComInterfaceOptions.ManagedObjectWrapper” lub „ComInterfaceOptions.ComObjectWrapper”. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Atrybut „GeneratedComInterfaceAttribute” i „GeneratedComClassAttribute” wymagają niebezpiecznego kodu. Projekt musi zostać zaktualizowany za pomocą polecenia „<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Atrybut „GeneratedComInterfaceAttribute” i „GeneratedComClassAttribute” wymagają niebezpiecznego kodu. Projekt musi zostać zaktualizowany za pomocą polecenia „<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - Atrybuty „GeneratedComInterfaceAttribute” i „GeneratedComClassAttribute” wymagają niebezpiecznego kodu. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - Interfejsy API usługi międzyoperacyjnej modelu COM w elemencie „System.Runtime.InteropServices.Marshal” nie obsługują generowanego przez źródło modelu COM i nie będą działać w środowisku uruchomieniowym - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - Metoda „{0}” obsługuje tylko usługę międzyoperacyjną modelu COM opartą na środowisku uruchomieniowym i nie będzie działać z typem „{1}” - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - Interfejsy API usługi międzyoperacyjnej modelu COM w elemencie „System.Runtime.InteropServices.Marshal” nie obsługują generowanego przez źródło modelu COM - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - Typ „{0}” określony jako „GeneratedComInterfaceAttribute.StringMarshallingCustomType” jest niedostępny za pomocą wygenerowanego kodu. Typ musi mieć co najmniej ułatwienia dostępu „wewnętrzny”. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - W przypadku typów, które nie są obsługiwane przez COM wygenerowany przez źródło, wynikowy wskaźnik funkcji będzie polegał na bazowym środowisku uruchomieniowym w celu skierowania określonego typu. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - Typ „{0}” nie jest obsługiwany przez COM generowany przez źródło. Wygenerowane źródło nie będzie obsługiwać skierowania parametru „{1}”. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Wygenerowane źródło nie obsługuje skierowania parametru „{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - Typ „{0}” nie jest obsługiwany przez COM generowany przez źródło. Wygenerowane źródło nie będzie obsługiwać skierowania wartości zwracanej przez metodę „{1}”. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0}Wygenerowane źródło nie obsługuje skierowania wartości zwracanej przez metodę „{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Określony typ nie jest obsługiwany przez źródłowy COM - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pt-BR.xlf deleted file mode 100644 index c981a70c244d0..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.pt-BR.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Adicionar 'GeneratedComClassAttribute' para habilitar a passagem de objetos desse tipo para COM e permitir código não seguro - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Esse tipo implementa pelo menos um tipo com o atributo 'GeneratedComInterfaceAttribute'. Adicione o 'GeneratedComClassAttribute' para habilitar a passagem desse tipo para COM e expor as interfaces COM para os tipos com o 'GeneratedComInterfaceAttribute' de objetos desse tipo. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Adicione o 'GeneratedComClassAttribute' a '{0}' para habilitar a passagem de objetos do tipo '{0}' para COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Adicionar 'GeneratedComClassAttribute' para habilitar a passagem de objetos deste tipo para COM - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - A análise necessária para gerar código para essa interface ou método falhou devido a um padrão de código inesperado. Se você estiver usando sintaxe nova ou não convencional, considere usar outra sintaxe. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - Falha na análise da interface '{0}'. ComInterfaceGenerator não gerará código para esta interface. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - Falha na análise do método '{0}'. ComInterfaceGenerator não gerará código para este método. - - - - Analysis for COM interface generation has failed. - A análise da geração da interface COM falhou. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - A geração de fonte de interface COM requer que todas as interfaces COM base sejam interfaces válidas. Corrija quaisquer problemas na interface base para resolver este diagnóstico. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - A interface COM {0} herda de {1}, que contém erros. ComInterfaceGenerator não irá gerar fonte para{0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - A interface COM base falhou ao gerar a fonte. O código não será gerado para esta interface. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - Um 'GeneratedComInterface' não pode especificar 'ComInterfaceOptions.ManagedObjectWrapper' ou 'ComInterfaceOptions.ComObjectWrapper' a menos que o tipo de interface base não especifique opções ou especifique pelo menos as mesmas opções. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - A conversão entre um tipo 'ComImport' e um tipo COM gerado pela fonte não é suportada e falhará no tempo de execução - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Não há suporte para a conversão entre um tipo 'ComImport' e um tipo COM gerado pela origem - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Não há suporte para a conversão entre um tipo 'ComImport' e um tipo COM gerado pela origem - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Uma classe com "GeneratedComClassAttribute" deve implementar pelo menos uma interface com "GeneratedComInterfaceAttribute" ou então o código gerado não terá efeito. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - A classe "{0}" com "GeneratedComClassAttribute" não implementa nenhuma interface com "GeneratedComInterfaceAttribute". A origem não será gerada para "{0}". - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - A hospedagem .NET COM com 'EnableComHosting' suporta apenas interoperabilidade COM integrada. Ele não dá suporte à interoperabilidade COM gerada pela origem com 'GeneratedComInterfaceAttribute'. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - A hospedagem .NET COM com 'EnableComHosting' não dá suporte interfaces com o 'GeneratedComInterfaceAttribute'. Altere quaisquer interfaces COM expostas implementadas por '{0}' para usar o 'System.Runtime.InteropServices.ComVisibleAttribute' em vez disso - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - A hospedagem .NET COM com 'EnableComHosting' não dá suporte a interfaces com 'GeneratedComInterfaceAttribute' - - - - Source-generated COM will ignore any configuration that is not supported. - Um COM gerado pela origem ignorará qualquer configuração sem suporte. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Um COM gerado pela origem não dá suporte à configuração '{0}'. Se a configuração especificada for necessária, use um 'ComImport' em vez disso. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - Um COM gerado pela origem não dá suporte à configuração de realização de marshaling especificada. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Um COM gerado pela origem não dá suporte à configuração '{0}' especificada para o parâmetro '{1}'. Se a configuração especificada for necessária, use 'ComImport' em vez disso. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Um Com gerado pela origem não dá suporte à configuração “{0}” especificada para o valor retornado do método “{1}”. Se a configuração especificada for necessária, use `ComImport` em vez disso. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Um COM gerado pela origem não dá suporte ao valor '{0}' especificado para '{1}'. Se a configuração especificada for necessária, use `ComImport' em vez disso. - - - - Specified configuration is not supported by source-generated COM. - Um COM gerado pela origem não dá suporte a uma configuração especificada. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - Converter esta interface para usar 'GeneratedComInterfaceAttribute' pode produzir código inválido e pode exigir trabalho adicional - - - - Convert to 'GeneratedComInterface' and allow unsafe code - Converter para 'GeneratedComInterface' e permitir código não seguro - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Use 'GeneratedComInterfaceAttribute' em vez de 'ComImportAttribute' para gerar código de empacotamento COM em tempo de compilação - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - A conversão desta API para 'GeneratedComInterfaceAttribute' exigirá código adicional para fornecer empacotadores personalizados para alguns parâmetros. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Marque o tipo '{0}' com 'GeneratedComInterfaceAttribute' em vez de 'ComImportAttribute' para gerar o código de empacotamento COM em tempo de compilação - - - - Convert to 'GeneratedComInterface' - Converter para 'GeneratedComInterface' - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - A configuração de 'StringMarshalling' e 'StringMarshallingCustomType' deve corresponder à interface COM base. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Os eventos não são um conceito em COM, portanto, nenhum código de interoperabilidade será gerado para eventos de instância em interfaces COM geradas pela origem. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - O evento de instância "{0}" é declarado na interface "{1}", que tem "GeneratedComInterfaceAttribute" aplicado - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - Não há suporte para declarar um evento de instância em um tipo com "GeneratedComInterfaceAttribute" - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - As propriedades não são um conceito em COM, portanto, nenhum código de interoperabilidade será gerado para propriedades de instância em interfaces COM geradas pela origem. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - A propriedade de instância "{0}" é declarada na interface "{1}", que tem "GeneratedComInterfaceAttribute" aplicado - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - Não há suporte para declarar uma propriedade de instância em um tipo com "GeneratedComInterfaceAttribute" - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - Não há suporte para o uso de 'GeneratedComInterfaceAttribute' e 'InterfaceTypeAttribute' com o valor 'ComInterfaceType' '{0}'. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - 'GeneratedComInterfaceType' não dá suporte ao valor 'ComInterfaceType' fornecido a 'InterfaceTypeAttribute' no mesmo tipo. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - O método '{0}' está contido em um tipo '{1}' que não está marcado como 'partial'. A geração de origem do COM ignorará o método '{0}'. - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - O tipo de método que contém VirtualMethodIndexAttribute não tem um UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - Métodos em interfaces marcados com 'GeneratedComInterfaceAttribute' não devem ser genéricos. A geração de origem do COM ignorará os métodos genéricos. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - O método '{0}' não deve ser genérico em interfaces marcadas com 'GeneratedComInterfaceAttribute'. A geração de origem do COM ignorará o método '{0}'. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - A configuração de 'ExceptionMarshalling' e 'ExceptionMarshallingCustomType' é inválida. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - A configuração de 'ExceptionMarshalling' e 'ExceptionMarshallingCustomType' no método '{0}' é inválida. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - 'ExceptionMarshallingCustomType' deve ser especificado quando 'ExceptionMarshalling' está definido como 'ExceptionMarshalling.Custom'. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - 'ExceptionMarshalling' deve ser definido como 'ExceptionMarshalling.Custom' quando 'ExceptionMarshallingCustomType' é especificado. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - O valor fornecido não é um sinalizador conhecido da enumeração 'ExceptionMarshalling'. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - As classes com 'GeneratedComClassAttribute' devem implementar uma ou mais interfaces com 'GeneratedComInterfaceAttribute', ser marcadas como parciais e não genéricas. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - A classe "{0}" com "GeneratedComClassAttribute" ou um de seus tipos contidos não está marcada como "parcial". - - - - Invalid 'GeneratedComClassAttribute' usage - Uso inválido de 'GeneratedComClassAttribute' - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - As interfaces atribuídas com 'GeneratedComInterfaceAttribute' devem ter acessibilidade 'pública' ou 'interna' e ser parciais, não genéricas e devem especificar um GUID com 'System.Runtime.InteropServices.GuidAttribute'. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - A interface "{0}" é atribuída com "GeneratedComInterfaceAttribute", mas é genérica. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - A interface '{0}' é atribuída com 'GeneratedComInterfaceAttribute', mas não é acessível pelo código gerado. A interface e todos os tipos de conteúdo devem ter acessibilidade 'interna' ou 'pública' para que o código gerado possa acessá-lo. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - A interface "{0}" é atribuída com "GeneratedComInterfaceAttribute", mas "System.Runtime.InteropServices.GuidAttribute" está ausente. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Uso de "GeneratedComInterfaceAttribute" inválido. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - A interface '{0}' ou um de seus tipos contém a palavra-chave 'parcial' ausente. O código não será gerado para '{0}'. - - - - The specified 'ComInterfaceOptions' are invalid. - As 'ComInterfaceOptions' especificadas são inválidas. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - As 'ComInterfaceOptions' especificadas em '{0}' são inválidas. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - A configuração de 'StringMarshalling' e 'StringMarshallingCustomType' é inválida. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' deve ser especificado quando 'StringMarshalling' está definido como 'StringMarshalling.Custom'. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' deve ser definido como 'StringMarshalling.Custom' quando 'StringMarshallingCustomType' for especificado. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - A configuração de 'StringMarshalling' e 'StringMarshallingCustomType' na interface '{0}' é inválida. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - A configuração de 'StringMarshalling' e 'StringMarshallingCustomType' no método '{0}' é inválida. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Uso inválido de 'VirtualMethodIndexAttribute' - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - A configuração especificada "MarshalAsAttribute" para o parâmetro "{1}" não tem suporte do COM gerado pela origem. Se a configuração especificada for necessária, use "ComImport" no lugar. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - A configuração especificada "MarshalAsAttribute" para o valor retornado do método "{1}" não tem suporte do COM gerado pela origem. Se a configuração especificada for necessária, use "ComImport" no lugar. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Todos os métodos devem ser declarados na mesma definição parcial de um tipo de interface atribuído a "GeneratedComInterface" para garantir um cálculo confiável para deslocamentos de tabela de métodos virtuais. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - O método "{0}" é declarado em uma definição parcial diferente da interface "{1}" que a definição que tem o atributo "GeneratedComInterface" - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - O método é declarado em uma declaração parcial diferente do atributo "GeneratedComInterface". - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Uma interface atribuída a 'GeneratedComInterfaceAttribute' só pode derivar de no máximo uma outra interface atribuída a 'GeneratedComInterfaceAttribute'. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - A interface '{0}' é derivada de duas ou mais interfaces atribuídas com 'GeneratedComInterfaceAttribute'. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - A interface especificada deriva de duas ou mais interfaces atribuídas a 'GeneratedComInterfaceAttribute'. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - 'ComInterfaceOptions.ManagedObjectWrapper' ou 'ComInterfaceOptions.ComObjectWrapper' deve ser especificado. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - "GeneratedComInterfaceAttribute" e "GeneratedComClassAttribute" exigem código não seguro. O projeto deve ser atualizado com "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - "GeneratedComInterfaceAttribute" e "GeneratedComClassAttribute" exigem código não seguro. O projeto deve ser atualizado com "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - "GeneratedComInterfaceAttribute" e "GeneratedComClassAttribute" exigem código não seguro. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - As APIs de interoperabilidade COM em 'System.Runtime.InteropServices.Marshal' não dá suporte a COM gerado na origem e falharão no tempo de execução - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - O método '{0}' suporta apenas interoperabilidade COM baseada em tempo de execução e não funcionará com o tipo '{1}' - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - APIs de interoperabilidade COM em 'System.Runtime.InteropServices.Marshal' não dá suporte a COM gerado na origem - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - O tipo '{0}' especificado como 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' não é acessível pelo código gerado. O tipo deve ter pelo menos acessibilidade 'interna'. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - Para tipos sem suporte para um COM gerado pela origem, o ponteiro de função resultante dependerá do tempo de execução subjacente para realizar marshaling no tipo especificado. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - Um COM gerado pela origem não dá suporte ao tipo '{0}'. A origem gerada não realizará marshalling do parâmetro '{1}'. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} A origem gerada não manipulará o marshalling do parâmetro '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - Um COM gerado pela origem não dá suporte ao tipo '{0}'. A origem gerada não realizará marshaling do valor de retorno do método '{1}'. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} A origem gerada não manipulará o marshalling do valor retornado do método '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Um COM gerado pela origem não dá suporte ao tipo especificado. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Informações desnecessárias de organização foram fornecidas. Essas informações de empacotamento podem ser removidas sem qualquer alteração no comportamento do aplicativo. - - - - Unnecessary marshalling info was provided and can be removed. - Informações de organização desnecessárias foram fornecidas e podem ser removidas. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Informações de organização desnecessárias '{0}' foram fornecidas para o parâmetro '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Informações desnecessárias de empacotamento '{0}' foram fornecidas para o tipo de retorno do método '{1}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ru.xlf deleted file mode 100644 index f4d13d1b39b7b..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.ru.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Добавьте "GeneratedComClassAttribute", чтобы включить передачу объектов этого типа в COM и разрешить небезопасный код - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Этот тип реализует по крайней мере один тип с атрибутом "GeneratedComInterfaceAttribute". Добавьте "GeneratedComClassAttribute", чтобы разрешить передачу этого типа в COM и предоставление COM-интерфейсов для типов с "GeneratedComInterfaceAttribute" из объектов этого типа. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - Добавьте "GeneratedComClassAttribute" к "{0}", чтобы включить передачу объектов типа "{0}" в COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Добавьте "GeneratedComClassAttribute", чтобы включить передачу объектов этого типа в COM - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - Произошел сбой анализа, необходимого для создания кода для этого интерфейса или метода, из-за непредвиденного шаблона кода. Если вы используйте новый или нестандартный синтаксис, попробуйте использовать другой синтаксис. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - Сбой анализа интерфейса "{0}". ComInterfaceGenerator не будет создавать код для этого интерфейса. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - Сбой анализа метода "{0}". ComInterfaceGenerator не будет создавать код для этого метода. - - - - Analysis for COM interface generation has failed. - Сбой анализа для создания COM-интерфейсу. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - Для создания источника COM-интерфейса все базовые COM-интерфейсы должны быть допустимыми. Устраните все проблемы в базовом интерфейсе, чтобы разрешить это диагностическое уведомление. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - COM-интерфейс {0} наследует от {1}, где есть ошибки. ComInterfaceGenerator не будет создавать источник для {0}. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - Базовому COM-интерфейсу не удалось создать источник. Код не будет создан для этого интерфейса. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - Параметр "GeneratedComInterface" не может указывать "ComInterfaceOptions.ManagedObjectWrapper" или "ComInterfaceOptions.ComObjectWrapper" кроме случаев, когда базовый тип интерфейса не указывает параметры или указывает по крайней мере те же параметры. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - Приведение типа "ComImport" к типу COM, созданному источником, не поддерживается и завершится ошибкой во время выполнения. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Приведение типа "ComImport" к типу COM, созданному источником, не поддерживается - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - Приведение типа "ComImport" к типу COM, созданному источником, не поддерживается - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - Класс с "GeneratedComClassAttribute" должен реализовывать по крайней мере один интерфейс с "GeneratedComInterfaceAttribute", иначе сгенерированный код не будет иметь эффекта. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - Класс "{0}" с "GeneratedComClassAttribute" не реализует интерфейсы с "GeneratedComInterfaceAttribute". Источник не будет создан для "{0}". - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - Размещение .NET COM с "EnableComHosting" поддерживает только встроенное COM-взаимодействие. Не поддерживается COM-взаимодействие, созданное источником, с "GeneratedComInterfaceAttribute". - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - Размещение .NET COM с "EnableComHosting" не поддерживает интерфейсы с "GeneratedComInterfaceAttribute". Измените все доступные в COM интерфейсы, реализованные с помощью "{0}", на использование "System.Runtime.InteropServices.ComVisibleAttribute" - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - Размещение .NET COM с "EnableComHosting" не поддерживает интерфейсы с "GeneratedComInterfaceAttribute" - - - - Source-generated COM will ignore any configuration that is not supported. - Модель COM генератора исходного кода будет игнорировать любую неподдерживаемую конфигурацию. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Конфигурация "{0}" не поддерживается моделью COM генератора исходного кода. Если указанная конфигурация обязательна, используйте "ComImport". - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - Указанная конфигурация маршалинга не поддерживается моделью COM генератора исходного кода. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Указанная конфигурация "{0}" для параметра "{1}" не поддерживается моделью COM генератора исходного кода. Если указанная конфигурация обязательна, используйте "ComImport". - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Указанная конфигурация "{0}" для возвращаемого значения метода "{1}" не поддерживается моделью COM генератора исходного кода. Если указанная конфигурация обязательна, используйте "ComImport". - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Указанное значение "{0}" для "{1}" не поддерживается моделью COM генератора исходного кода. Если указанная конфигурация обязательна, используйте "ComImport". - - - - Specified configuration is not supported by source-generated COM. - Указанная конфигурация не поддерживается моделью COM генератора исходного кода. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - Преобразование этого интерфейса для использования "GeneratedComInterfaceAttribute" может создать недопустимый код и потребовать дополнительной работы - - - - Convert to 'GeneratedComInterface' and allow unsafe code - Преобразовать в "GeneratedComInterface" и разрешить небезопасный код - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Используйте "GeneratedComInterfaceAttribute" вместо "ComImportAttribute" для создания кода маршалирования COM во время компиляции - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - Преобразование этого API в "GeneratedComInterfaceAttribute" потребует дополнительного кода для предоставления настраиваемых маршалеров для некоторых параметров. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Помечайте тип "{0}" с помощью "GeneratedComInterfaceAttribute" вместо "ComImportAttribute" для создания кода маршалирования COM во время компиляции - - - - Convert to 'GeneratedComInterface' - Преобразовать в "GeneratedComInterface" - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - Конфигурация "StringMarshalling" и "StringMarshallingCustomType" должна соответствовать базовому COM-интерфейсу. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - События не являются концепцией в COM, поэтому источник не будет генерировать код взаимодействия для событий экземпляра в COM-интерфейсах, создаваемых источником. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Событие экземпляра "{0}" объявлено в интерфейсе "{1}", к которому применен атрибут GeneratedComInterfaceAttribute - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - Объявление события экземпляра в типе с атрибутом GeneratedComInterfaceAttribute не поддерживается - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Свойства не являются концепцией в COM, поэтому источник не будет генерировать код взаимодействия для свойств экземпляра в COM-интерфейсах, создаваемых источником. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - Свойство экземпляра "{0}" объявлено в интерфейсе "{1}", к которому применен атрибут GeneratedComInterfaceAttribute - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - Объявление свойства экземпляра в типе с атрибутом GeneratedComInterfaceAttribute не поддерживается - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - Использование GeneratedComInterfaceAttribute и InterfaceTypeAttribute не поддерживается со значением ComInterfaceType "{0}". - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - GeneratedComInterfaceType не поддерживает значение ComInterfaceType, указанное для InterfaceTypeAttribute того же типа. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - Метод "{0}" содержится в типе "{1}", который не помечен как "partial". Генерация исходного кода модели COM будет игнорировать метод "{0}". - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - У содержащего типа метода с VirtualMethodIndexAttribute нет атрибута UnmanagedObjectUnwrapperAttribute. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - Методы для интерфейсов с атрибутом "GeneratedComInterfaceAttribute" должны быть неуниверсальными. Генерация исходного кода модели COM будет игнорировать универсальные методы. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - Метод "{0}" должен быть неуниверсальным для интерфейсов с атрибутом "GeneratedComInterfaceAttribute". Генерация исходного кода модели COM будет игнорировать метод "{0}". - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - Недопустимая конфигурация ExceptionMarshalling и ExceptionMarshallingCustomType. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - Недопустимая конфигурация ExceptionMarshalling и ExceptionMarshallingCustomType в методе "{0}". {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - Необходимо указать ExceptionMarshallingCustomType, если для ExceptionMarshalling настроено значение ExceptionMarshalling.Custom. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - ExceptionMarshalling должен иметь значение ExceptionMarshalling.Custom, если указано ExceptionMarshallingCustomType. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - Указанное значение не является известным флагом перечисления ExceptionMarshalling. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - Классы с "GeneratedComClassAttribute" должны реализовывать один или несколько интерфейсов с "GeneratedComInterfaceAttribute", помечаться как частичные и быть неуниверсальными. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - Класс "{0}" с "GeneratedComClassAttribute" или один из его содержащих типов не помечен как "частичный". - - - - Invalid 'GeneratedComClassAttribute' usage - Недопустимое использование "GeneratedComClassAttribute" - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - Интерфейсы с атрибутом GeneratedComInterfaceAttribute должны обеспечивать уровень доступности public или internal, быть частичными, не универсальными и должны указывать GUID с помощью System.Runtime.InteropServices.GuidAttribute. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - Интерфейс "{0}" использует атрибут GeneratedComInterfaceAttribute, но является универсальным. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - Интерфейс "{0}" содержит атрибут GeneratedComInterfaceAttribute, но недоступен с помощью созданного кода. Для доступа с помощью созданного кода к интерфейсу и всем содержащим типам они должны обеспечивать уровень доступности internal или public. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - Для "{0}" интерфейса указан атрибут GeneratedComInterfaceAttribute, но отсутствует атрибут System.Runtime.InteropServices.GuidAttribute. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Недопустимое применение GeneratedComInterfaceAttribute. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - В интерфейсе "{0}" или одном из его содержащих типов отсутствует ключевое слово "partial". Код не будет создан для "{0}". - - - - The specified 'ComInterfaceOptions' are invalid. - Указанный параметр "ComInterfaceOptions" недопустим. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - Указанный параметр "ComInterfaceOptions" в "{0}" недопустим. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Конфигурация \"StringMarshalling\" и \"StringMarshallingCustomType\" недопустима. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - Если для \"StringMarshalling\" задано значение \"StringMarshalling.Custom\", необходимо указать \"StringMarshallingCustomType\". - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - Если указано \"StringMarshallingCustomType\", для \"StringMarshalling\" следует задать значение \"StringMarshalling.Custom\". - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - Конфигурация "StringMarshalling" и "StringMarshallingCustomType" в интерфейсе "{0}" недопустима. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Конфигурация \"StringMarshalling\" и \"StringMarshallingCustomType\" в методе \"{0}\" недопустима. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Недопустимое использование VirtualMethodIndexAttribute - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Указанная конфигурация "MarshalAsAttribute" для параметра "{1}" не поддерживается моделью COM, сгенерированной источником. Если указанная конфигурация обязательна, используйте "ComImport". - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - Указанная конфигурация "MarshalAsAttribute" для возвращаемого значения метода "{1}" не поддерживается моделью COM, сгенерированной источником. Если указанная конфигурация обязательна, используйте "ComImport". - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Все методы должны быть объявлены в одном частичном определении типа интерфейса с атрибутом GeneratedComInterface, чтобы обеспечить надежное вычисление смещений таблицы виртуальных методов. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - Метод "{0}" объявлен в частичном определении интерфейса "{1}", отличном от определения с атрибутом GeneratedComInterface - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - Метод объявлен в частичном объявлении, отличном от атрибута GeneratedComInterface. - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - Интерфейс с атрибутом GeneratedComInterfaceAttribute может быть производным не более чем от одного другого интерфейса с атрибутом "GeneratedComInterfaceAttribute". - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - Интерфейс "{0}" является производным от двух или более интерфейсов, атрибутированных с помощью "GeneratedComInterfaceAttribute". - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - Указанный интерфейс является производным от двух или более интерфейсов с атрибутом "GeneratedComInterfaceAttribute". - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - Необходимо указать "ComInterfaceOptions.ManagedObjectWrapper" или "ComInterfaceOptions.ComObjectWrapper". - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Для "GeneratedComInterfaceAttribute" и "GeneratedComClassAttribute" требуется небезопасный код. Проект необходимо обновить с использованием значения "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Для "GeneratedComInterfaceAttribute" и "GeneratedComClassAttribute" требуется небезопасный код. Проект необходимо обновить с использованием значения "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - Для "GeneratedComInterfaceAttribute" и "GeneratedComClassAttribute" требуется небезопасный код. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - API COM-взаимодействия в "System.Runtime.InteropServices.Marshal" не поддерживают COM, созданные источником и вызовут сбой во время выполнения - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - Метод "{0}" поддерживает только COM-взаимодействие на основе среды выполнения и не будет работать с типом "{1}" - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - API COM-взаимодействия в "System.Runtime.InteropServices.Marshal" не поддерживают COM, созданные источником - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - Тип "{0}", указанный как GeneratedComInterfaceAttribute.StringMarshallingCustomType, недоступен с помощью созданного кода. Тип должен обеспечивать уровень доступности internal как минимум. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - Для типов, которые не поддерживаются моделью COM генератора исходного кода, результирующий указатель на функцию будет выполнять маршалинг указанного типа на базе используемой среды выполнения. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - Тип "{0}" не поддерживается моделью COM генератора исходного кода. Созданный исходный код не будет обрабатывать маршалинг параметра "{1}". - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Созданный источник не будет обрабатывать маршализацию параметра \"{1}\". - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - Тип "{0}" не поддерживается моделью COM генератора исходного кода. Созданный исходный код не будет обрабатывать маршалинг возвращаемого значения метода "{1}". - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Созданный источник не будет обрабатывать маршализацию возвращаемого значения метода \"{1}\". - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Указанный тип не поддерживается моделью COM генератора исходного кода. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Указаны ненужные сведения маршалирования. Эти сведения маршалирования можно удалить без каких-либо изменений в работе приложения. - - - - Unnecessary marshalling info was provided and can be removed. - Указаны ненужные сведения маршалирования, которые можно удалить. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Указаны ненужные сведения маршалирования "{0}" для параметра "{1}" - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Указаны ненужные сведения маршалирования "{0}" для типа возвращаемого значения метода "{1}" - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.tr.xlf deleted file mode 100644 index 1b0ac3e739b76..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.tr.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - Bu türdeki nesnelerin COM'a geçirilmesini etkinleştirmek ve güvenli olmayan koda izin vermek için 'GeneratedComClassAttribute' ekleyin - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - Bu tür, 'GeneratedComInterfaceAttribute' özniteliğine sahip en az bir tür uygular. Bu türü COM'a geçirmeyi ve bu türdeki nesnelerden 'GeneratedComInterfaceAttribute' içeren türler için COM arabirimlerini açığa çıkarmayı etkinleştirmek için 'GeneratedComClassAttribute' ekleyin. - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - '{0}' türündeki nesneleri COM'a geçirmeyi etkinleştirmek için 'GeneratedComClassAttribute' öğesini '{0}'a ekleyin - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - Bu türdeki nesneleri COM'a geçirmeyi etkinleştirmek için 'GeneratedComClassAttribute' ekleyin - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - Bu arabirim veya yöntem için kod oluşturmak için gerekli analiz beklenmeyen bir kod deseni nedeniyle başarısız oldu. Yeni veya alışılmadık bir söz dizimi kullanıyorsanız başka bir söz dizimi kullanmayı deneyin. - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - ‘{0}’ arabiriminin analizi başarısız oldu. ComInterfaceGenerator bu arabirim için kod oluşturmayacak. - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - ‘{0}’ yönteminin analizi başarısız oldu. ComInterfaceGenerator bu yöntem için kod oluşturmayacak. - - - - Analysis for COM interface generation has failed. - COM arabirimi oluşturma analizi başarısız oldu. - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - COM arabiriminin kaynak oluşturabilmesi için tüm temel COM arabirimlerinin geçerli arabirimler olması gerekiyor. Bu tanılamayı çözmek için temel arabirimdeki sorunları düzeltin. - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - {0} COM arabirimi hata içeren {1} konumundan devralıyor. ComInterfaceGenerator, {0} için kaynak oluşturamaz. - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - Temel COM arabirimi, kaynak oluşturamadı. Bu arabirim için kod oluşturulmayacak. - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - Temel arabirim seçenekleri belirtmediği veya en azından aynı seçenekleri belirttiği sürece bir 'GeneratedComInterface' arabirimi 'ComInterfaceOptions.ManagedObjectWrapper' veya 'ComInterfaceOptions.ComObjectWrapper' seçeneğini belirtemez. - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - 'ComImport' türü ile kaynak tarafından oluşturulan COM türü arasında dönüştürme desteklenmiyor ve çalışma zamanında başarısız olacak - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 'ComImport' türü ile kaynak tarafından oluşturulan COM türü arasında dönüştürme desteklenmiyor - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 'ComImport' türü ile kaynak tarafından oluşturulan COM türü arasında dönüştürme desteklenmiyor - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - 'GeneratedComClassAttribute' içeren bir sınıf, 'GeneratedComInterfaceAttribute' özniteliğine sahip en az bir arabirim uygulamalıdır. Aksi halde oluşturulan kodun etkisi yoktur. - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - 'GeneratedComClassAttribute' içeren '{0}' sınıfı, 'GeneratedComInterfaceAttribute' içeren arabirimler uygulamıyor. Kaynak, '{0}' için oluşturulmayacak. - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - 'EnableComHosting' ile .NET COM barındırma, yalnızca yerleşik COM birlikte çalışmayı destekler. 'GeneratedComInterfaceAttribute' ile kaynak tarafından oluşturulan COM birlikte çalışmasını desteklemez. - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - 'EnableComHosting' ile barındırma .NET COM, 'GeneratedComInterfaceAttribute' ile arabirimleri desteklemez. Bunun yerine 'System.Runtime.InteropServices.ComVisibleAttribute' kullanmak için '{0}' tarafından uygulanan COM'a maruz kalan arabirimleri değiştirin - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - 'EnableComHosting' ile barındırma .NET COM, 'GeneratedComInterfaceAttribute' ile arabirimleri desteklemez - - - - Source-generated COM will ignore any configuration that is not supported. - Kaynak tarafından oluşturulan COM, desteklenmeyen herhangi bir yapılandırmayı yoksayar. - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{0}' yapılandırması, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine "ComImport" kullanın. - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - Belirtilen sıralama yapılandırması, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{1}' parametresi için belirtilen '{0}' yapılandırması, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine "ComImport" kullanın. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{1}' yönteminin dönüş değeri için belirtilen '{0}' yapılandırması, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine "ComImport" kullanın. - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{1}' için belirtilen '{0}' değeri, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine "ComImport" kullanın. - - - - Specified configuration is not supported by source-generated COM. - Belirtilen yapılandırma, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - Bu arabirimin 'GeneratedComInterfaceAttribute' kullanmak üzere dönüştürülmesi geçersiz kod üretebilir ve ek çalışma gerektirebilir - - - - Convert to 'GeneratedComInterface' and allow unsafe code - 'GeneratedComInterface'e dönüştürün ve güvenli olmayan koda izin verin - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Derleme zamanında COM hazırlayıcı kodunu oluşturmak için 'ComImportAttribute' yerine 'GeneratedComInterfaceAttribute' kullanın - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - Bu API'yi 'GeneratedComInterfaceAttribute'e dönüştürmek, bazı parametreler için özel hazırlayıcılar sağlamak üzere ek kod gerektirecektir. - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - Derleme zamanında COM hazırlayıcı kodunu oluşturmak için "ComImportAttribute" yerine "GeneratedComInterfaceAttribute" ile '{0}' türünü işaretleyin - - - - Convert to 'GeneratedComInterface' - 'GeneratedComInterface'e Dönüştür - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - 'StringMarshalling' ve 'StringMarshallingCustomType' yapılandırması temel COM arabirimiyle eşleşmelidir. - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - Olaylar COM'da kavram olarak değerlendirilmez, bu nedenle kaynak tarafından oluşturulan COM arabirimleri üzerinde örnek olaylar için birlikte çalışma kodu oluşturulmaz. - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - '{0}' örnek olayı '{1}' arabiriminde bildirildi ve bu arabirimde 'GeneratedComInterfaceAttribute' uygulanmış - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - 'GeneratedComInterfaceAttribute' içeren bir tür içinde bir örnek olay bildirilmesi desteklenmiyor - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - Özellikler COM'da kavram olarak değerlendirilmez, bu nedenle kaynak tarafından oluşturulan COM arabirimleri üzerinde örnek özellikler için birlikte çalışma kodu oluşturulmaz. - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - '{0}' örnek özelliği '{1}' arabiriminde bildirildi ve bu arabirimde 'GeneratedComInterfaceAttribute' uygulanmış - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - 'GeneratedComInterfaceAttribute' içeren bir tür içinde bir örnek özellik bildirilmesi desteklenmiyor - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - 'GeneratedComInterfaceAttribute' ve 'InterfaceTypeAttribute' kullanımı, 'ComInterfaceType' değeri '{0}' ile desteklenmiyor. - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - "GeneratedComInterfaceType", aynı türde "InterfaceTypeAttribute" öğesine sağlanan "ComInterfaceType" değerini desteklemiyor. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - '{0}' yöntemi, 'kısmi' olarak işaretlenmemiş bir '{1}' türünde yer alıyor. COM kaynak üretimi, '{0}' yöntemini yok sayacaktır. - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - VirtualMethodIndexAttribute içeren metot türünün UnmanagedObjectUnwrapperAttribute değeri yok. - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - 'GeneratedComInterfaceAttribute' ile işaretlenmiş ara birimlerdeki yöntemler genel olmamalıdır. COM kaynak oluşturma, genel yöntemleri yok sayacaktır. - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - 'GeneratedComInterfaceAttribute' ile işaretlenmiş arabirimlerde '{0}' yöntemi genel olmamalıdır. COM kaynak üretimi, '{0}' yöntemini yok sayacaktır. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - 'ExceptionMarshalling' ve 'ExceptionMarshallingCustomType' yapılandırması geçersiz. - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - '{0}' yönteminde 'ExceptionMarshalling' ve 'ExceptionMarshallingCustomType' yapılandırması geçersiz. {1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - 'ExceptionMarshalling' 'ExceptionMarshalling.Custom' olarak ayarlandığında 'ExceptionMarshallingCustomType' belirtilmelidir. - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - 'ExceptionMarshallingCustomType' belirtilirken 'ExceptionMarshalling', 'ExceptionMarshalling.Custom' olarak ayarlanmalıdır. - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - Sağlanan değer bilinen bir 'ExceptionMarshalling' sabit listesi bayrağı değil. - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - 'GeneratedComClassAttribute' içeren sınıflar 'GeneratedComInterfaceAttribute' ile bir veya daha fazla arabirim uygulamalı, kısmi olarak işaretlenmeli ve genel olmayan olmalıdır. - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - 'GeneratedComClassAttribute' veya bunun kapsayan türlerinden birini içeren '{0}' sınıfı 'kısmi' olarak işaretli değil. - - - - Invalid 'GeneratedComClassAttribute' usage - Geçersiz 'GeneratedComClassAttribute' kullanımı - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - 'GeneratedComInterfaceAttribute' özniteliğine sahip arabirimler 'public' veya 'internal' erişilebilirlik özelliğine sahip olmalı, kısmi olmalı, genel olmamalı ve 'System.Runtime.InteropServices.GuidAttribute' ile bir GUID belirtmelidir. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - '{0}' 'GeneratedComInterfaceAttribute' özniteliğine sahip ancak genel. - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - '{0}' arabirimi 'GeneratedComInterfaceAttribute' özniteliğine sahip ancak oluşturulan kod ile bu arabirime erişilemiyor. Arabirim ve tüm kapsayan türler, oluşturulan kodun bu arabirime erişebilmesi için 'internal' veya 'public' erişilebilirlik özelliğine sahip olmalıdır. {1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - '{0}' arabirimi 'GeneratedComInterfaceAttribute' özniteliğine sahip ancak 'System.Runtime.InteropServices.GuidAttribute' eksik. - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - Geçersiz 'GeneratedComInterfaceAttribute' kullanımı. - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - '{0}' arabirimi veya kapsayan türlerden birinde 'partial' anahtar sözcüğü eksik. '{0}' için kod üretilmeyecek. - - - - The specified 'ComInterfaceOptions' are invalid. - Belirtilen 'ComInterfaceOptions' geçersiz. - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - '{0}' üzerinde 'ComInterfaceOptions' geçersiz. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' ve 'StringMarshallingCustomType' yapılandırması geçersiz. - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshalling' 'StringMarshalling.Custom' olarak ayarlandığında 'StringMarshallingCustomType' belirtilmelidir. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshallingCustomType' belirtilirken 'StringMarshalling', 'StringMarshalling.Custom' olarak ayarlanmalıdır. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - '{0}' arabirimindeki 'StringMarshalling' ve 'StringMarshallingCustomType' yapılandırması geçersiz. {1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - '{0}' metodundaki 'StringMarshalling' ve 'StringMarshallingCustomType' yapılandırması geçersiz. {1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - Geçersiz 'VirtualMethodIndexAttribute' kullanımı - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{1}' parametresi için belirtilen 'MarshalAsAttribute' yapılandırması, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine "ComImport" kullanın. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - '{1}' yönteminin dönüş değeri için belirtilen 'MarshalAsAttribute' yapılandırması, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine "ComImport" kullanın. - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - Tüm yöntemler, sanal yöntem tablosu uzaklıkları için güvenilir hesaplamayı sağlamak amacıyla 'GeneratedComInterface' özniteliğine sahip arabirim türünün aynı kısmi tanımında bildirilmiş olmalıdır. - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - '{0}' metodu, 'GeneratedComInterface' özniteliğinin sahip olduğu tanımdan daha farklı '{1}' arabiriminin kısmi tanımında bildirilmiştir. - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - Metot, 'GeneratedComInterface' özniteliğinden farklı bir kısmi bildirimde bildirilmiş. - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - 'GeneratedComInterfaceAttribute' özniteliğine sahip arabirim yalnızca, 'GeneratedComInterfaceAttribute' özniteliğine sahip en fazla bir başka arabirimden türetilebilir. - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - '{0}' arabirimi, 'GeneratedComInterfaceAttribute' özniteliğine sahip iki veya daha fazla arabirimden türetildi. - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - Belirtilen arabirim 'GeneratedComInterfaceAttribute' özniteliğine sahip iki veya daha fazla arabirimden türetildi. - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - 'ComInterfaceOptions.ManagedObjectWrapper' veya 'ComInterfaceOptions.ComObjectWrapper' belirtilmelidir. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' ve 'GeneratedComClassAttribute' güvenli olmayan kod gerektiriyor. Projenin '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' ile güncelleştirilmiş olması gerekiyor. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' ve 'GeneratedComClassAttribute' güvenli olmayan kod gerektiriyor. Projenin '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' ile güncelleştirilmiş olması gerekiyor. - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - 'GeneratedComInterfaceAttribute' ve 'GeneratedComClassAttribute' güvenli olmayan kod gerektiriyor. - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - 'System.Runtime.InteropServices.Marshal' üzerindeki COM ile birlikte çalışma API'leri, kaynak tarafından oluşturulan COM'u desteklemez ve çalışma zamanında başarısız olur - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - '{0}' yöntemi yalnızca çalışma zamanı tabanlı COM birlikte çalışmayı destekler ve '{1}' türüyle çalışmaz - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - 'System.Runtime.InteropServices.Marshal' üzerindeki COM ile birlikte çalışma API'leri, kaynak tarafından oluşturulan COM'u desteklemez - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' olarak belirtilen '{0}' türüne, oluşturulan kod ile erişilemiyor. Tür, en azından 'internal' erişilebilirlik özelliğine sahip olmalıdır. {1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - Kaynak tarafından oluşturulan COM tarafından desteklenmeyen türler için, ortaya çıkan işlev işaretçisi, belirtilen türü sıralamak için temeldeki çalışma zamanına güvenir. - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - '{0}' türü, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Üretilen kaynak, '{1}' parametresinin sıralamasını işlemeyecektir. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Oluşturulan kaynak '{1}' parametresinin sıralamasını işlemez. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - '{0}' türü, kaynak tarafından oluşturulan COM tarafından desteklenmiyor. Oluşturulan kaynak, '{1}' yönteminin dönüş değerinin sıralamasını işlemez. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Oluşturulan kaynak, '{1}' metodunun dönüş değerinin sıralamasını işlemez. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - Belirtilen tür, kaynak tarafından oluşturulan COM tarafından desteklenmiyor - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hans.xlf deleted file mode 100644 index 237e9fec91789..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hans.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - 添加“GeneratedComClassAttribute”以启用将此类对象传递到 COM,并允许不安全代码 - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - 此类型至少实现一个具有“GeneratedComInterfaceAttribute”属性的类型。添加“GeneratedComClassAttribute”以允许将此类型传递到 COM,并公开具有此类型的对象的“GeneratedComInterfaceAttribute”的类型的 COM 接口。 - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - 将“GeneratedComClassAttribute”添加到“{0}”以启用将“{0}”类型的对象传递到 COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - 添加“GeneratedComClassAttribute”以启用将此类型的对象传递到 COM - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - 由于意外的代码模式,为此接口或方法生成代码所需的分析失败。如果你使用的是新语法或非常规语法,请考虑使用其他语法。 - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - 接口“{0}”的分析失败。ComInterfaceGenerator 将不会为此接口生成代码。 - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - 方法“{0}”的分析失败。ComInterfaceGenerator 将不会为此方法生成代码。 - - - - Analysis for COM interface generation has failed. - COM 接口生成分析失败。 - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - COM 接口源生成要求所有基本 COM 接口都是有效接口。修复基本接口上的任何问题以解决此诊断。 - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - COM 接口 {0} 继承自 {1},具有错误。ComInterfaceGenerator 不会为 {0} 生成源。 - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - 基本 COM 接口无法生成源。不会为此接口生成代码。 - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - "GeneratedComInterface" 不能指定 "ComInterfaceOptions.ManagedObjectWrapper" 或 "ComInterfaceOptions.ComObjectWrapper",除非基接口类型未指定选项或至少指定了相同的选项。 - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - 不支持在“ComImport”类型和源生成的 COM 类型之间强制转换,并且会在运行时失败 - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 不支持在“ComImport”类型和源生成的 COM 类型之间强制转换 - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 不支持在“ComImport”类型和源生成的 COM 类型之间强制转换 - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - 具有“GeneratedComClassAttribute”的类必须至少实现一个具有“GeneratedComInterfaceAttribute”的接口,否则生成的代码不起作用。 - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - 具有“GeneratedComClassAttribute”的类 {0} 不实现具有“GeneratedComInterfaceAttribute”的任何接口。不会为“{0}”生成源。 - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - 具有“EnableComHosting”的 .NET COM 托管仅支持内置 COM 互操作。它不支持源生成的 COM 与“GeneratedComInterfaceAttribute”的互操作。 - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - 具有“EnableComHosting”的 .NET COM 托管不支持具有“GeneratedComInterfaceAttribute”的接口。将“{0}”实现的任何 COM 公开接口更改为改用“System.Runtime.InteropServices.ComVisibleAttribute” - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - 具有“EnableComHosting”的 .NET COM 托管不支持具有“GeneratedComInterfaceAttribute”的接口 - - - - Source-generated COM will ignore any configuration that is not supported. - 源生成的 COM 将忽略任何不受支持的配置。 - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 源生成的 COM 不支持 "{0}" 配置。如果需要指定的配置,请改用 `ComImport`。 - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - 源生成的 COM 不支持指定的封送配置。{0}。 - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 源生成的 COM 不支持方法“{0}”参数“{1}”配置。如果需要指定配置,请改用 `ComImport`。 - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 源生成的 COM 不支持方法“{0}”返回值的指定“{1}”配置。如果需要指定配置,请改用 `ComImport`。 - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 源生成的 COM 不支持为 "{1}" 指定的值 "{0}"。如果需要指定的配置,请改用 `ComImport`。 - - - - Specified configuration is not supported by source-generated COM. - 源生成的 COM 不支持指定的配置。 - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - 将此接口转换为使用“GeneratedComInterfaceAttribute”可能会产生无效代码,并且可能需要执行其他工作 - - - - Convert to 'GeneratedComInterface' and allow unsafe code - 转换为“GeneratedComInterface”并允许不安全的代码 - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - 使用“GeneratedComInterfaceAttribute”而不是“ComImportAttribute”以在编译时生成 COM 封送代码 - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - 将此 API 转换为“GeneratedComInterfaceAttribute”将需要其他代码来为某些参数提供自定义封送程序。 - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - 使用“GeneratedComInterfaceAttribute”而不是“ComImportAttribute”标记类型“{0}”,以便在编译时生成 COM 封送代码 - - - - Convert to 'GeneratedComInterface' - 转换为“GeneratedComInterface” - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - "StringMarshalling" 和 "StringMarshallingCustomType" 的配置必须与基本 COM 接口匹配。 - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - 事件不是 COM 的概念,因此不会为源生成的 COM 接口上的实例事件生成互操作代码。 - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - 实例事件“{0}”在接口“{1}”中声明,该接口应用了“GeneratedComInterfaceAttribute” - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - 不支持在具有“GeneratedComInterfaceAttribute”的类型中声明实例事件 - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - 属性在 COM 中不是概念,因此不会为源生成的 COM 接口上的实例属性生成互操作代码。 - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - 实例属性“{0}”在接口“{1}”中声明,该接口应用了“GeneratedComInterfaceAttribute” - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - 不支持在具有“GeneratedComInterfaceAttribute”的类型中声明实例属性 - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - “ComInterfaceType”值“{0}”不支持使用“GeneratedComInterfaceAttribute”和“InterfaceTypeAttribute”。 - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - “GeneratedComInterfaceType”不支持提供给同一类型的“InterfaceTypeAttribute”的“ComInterfaceType”值。 - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - 方法 "{0}" 包含在未标记为 "partial" 的类型 "{1}" 中。COM 源生成将忽略方法 "{0}"。 - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - 包含 VirtualMethodIndexAttribute 的方法类型没有 UnmanagedObjectUnwrapperAttribute。 - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - 标记为 "GeneratedComInterfaceAttribute" 的接口上的方法应为非泛型。COM 源生成将忽略泛型方法。 - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - 在标记为 "GeneratedComInterfaceAttribute" 的接口上时,方法 "{0}" 应为非泛型。COM 源生成将忽略方法 "{0}"。 - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - “ExceptionMarshalling” 和 “ExceptionMarshallingCustomType” 的配置无效。 - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - 方法“{0}”上的 “ExceptionMarshalling” 和 “ExceptionMarshallingCustomType” 配置无效。{1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - 当 “ExceptionMarshalling” 设置为 “ExceptionMarshalling.Custom” 时,必须指定 “ExceptionMarshallingCustomType”。 - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - 指定 “ExceptionMarshallingCustomType” 时,应将 “ExceptionMarshalling” 设置为 “ExceptionMarshalling.Custom”。 - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - 提供的值不是 “ExceptionMarshalling” 枚举的已知标志。 - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - 具有“GeneratedComClassAttribute”的类必须执行一个或多个具有“GeneratedComInterfaceAttribute”的接口,并标记为部分和非泛型。 - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - 具有“GeneratedComClassAttribute”或其包含类型之一的类“{0}”未标记为“部分”。 - - - - Invalid 'GeneratedComClassAttribute' usage - “GeneratedComClassAttribute”用法无效 - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - 通过 "GeneratedComInterfaceAttribute" 特性化的接口必须具有 "public" 或 "internal" 可访问性,必须是部分的、非泛型的,并且必须使用 "System.Runtime.InteropServices.GuidAttribute" 指定 GUID。 - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - “{0}”接口通过 "GeneratedComInterfaceAttribute" 特性化,但为泛型接口。 - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - 接口 "GeneratedComInterfaceAttribute" 通过“{0}”进行特性化,但生成的代码无法访问它。该接口和所有包含类型必须具有 "internal" 或 "public" 可访问下,生成的代码才能访问它。{1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - 接口“{0}”会通过 “GeneratedComInterfaceAttribute” 特性化,但缺少“System.Runtime.InteropServices.GuidAttribute”。 - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - “GeneratedComInterfaceAttribute” 使用无效。 - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - 接口“{0}”或其包含类型之一缺少“partial”关键字。不会为“{0}”生成代码。 - - - - The specified 'ComInterfaceOptions' are invalid. - 指定的 "ComInterfaceOptions" 无效。 - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - “{0}”上指定的 "ComInterfaceOptions" 无效。{1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - “StringMarshalling” 和 “StringMarshallingCustomType” 的配置无效。 - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 在 “StringMarshalling” 设置为 “StringMarshalling.Custom” 时,必须指定 “StringMarshallingCustomType”。 - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 在指定 “StringMarshallingCustomType” 时,应将 “StringMarshalling” 设置为 “StringMarshalling.Custom”。 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - 接口 "{0}" 上的 "StringMarshalling" 和 "StringMarshallingCustomType" 的配置无效。{1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - 方法“{0}”上的 “StringMarshalling” 和 “StringMarshallingCustomType” 的配置无效。{1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - “VirtualMethodIndexAttribute” 使用情况无效 - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 源生成的 COM 不支持参数“{1}”的指定“MarshalAsAttribute”配置。如果需要指定配置,请改用 `ComImport`。 - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 源生成的 COM 不支持方法“{1}”返回值的指定“MarshalAsAttribute”配置。如果需要指定配置,请改用 `ComImport`。 - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - 所有方法都必须在 “GeneratedComInterface” 特性化接口类型的同一部分定义中声明,以确保对虚拟方法表偏移进行可靠的计算。 - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - 方法“{0}”是在接口“{1}”的不同部分定义上声明的,而不是在具有 “GeneratedComInterface” 属性的定义上声明的 - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - 方法是在不同于 “GeneratedComInterface” 属性的部分声明中声明的。 - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - “GeneratedComInterfaceAttribute”特性化接口最多只能从另一个“GeneratedComInterfaceAttribute”特性化接口派生。 - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - 接口“{0}”派生自使用 “GeneratedComInterfaceAttribute”特性化的两个或更多接口。 - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - 指定的接口派生自两个或更多“GeneratedComInterfaceAttribute”特性化接口。 - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - 必须指定 "ComInterfaceOptions.ManagedObjectWrapper" 或 "ComInterfaceOptions.ComObjectWrapper"。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - “GeneratedComInterfaceAttribute”和“GeneratedComClassAttribute”需要不安全代码。必须将项目更新为“<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - “GeneratedComInterfaceAttribute”和“GeneratedComClassAttribute”需要不安全代码。必须将项目更新为“<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - “GeneratedComInterfaceAttribute”和“GeneratedComClassAttribute”需要不安全代码。 - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - “System.Runtime.InteropServices.Marshal”上的 COM 互操作 API 不支持源生成的 COM,并且将在运行时失败 - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - 方法“{0}”仅支持基于运行时的 COM 互操作,并且不适用于类型“{1}” - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - “System.Runtime.InteropServices.Marshal”上的 COM 互操作 API 不支持源生成的 COM - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - 生成的代码无法访问指定为 "GeneratedComInterfaceAttribute.StringMarshallingCustomType" 的“{0}”类型。该类型必须至少具有 "internal" 可访问性。{1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - 对于源生成的 COM 不支持的类型,生成的函数指针将依赖基础运行时来封送指定的类型。 - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - 源生成的 COM 不支持“{0}”类型。生成的源将不处理参数“{1}”的封送。 - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 生成的源将不处理参数“{1}”的封送。 - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - 源生成的 COM 不支持 "{0}" 类型。生成的源将不处理方法 "{1}" 的返回值的封送。 - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 生成的源将不处理方法“{1}”的返回值的封送。 - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - 源生成的 COM 不支持指定的类型 - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - 提供了不必要的封送信息。可移除此封装信息,而不对应用程序的行为进行任何更改。 - - - - Unnecessary marshalling info was provided and can be removed. - 提供了不必要的封送信息,可将此信息移除。 - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - 为参数“{1}”提供了不必要的封送信息“{0}” - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - 为方法“{1}”的返回类型提供了不必要的封送信息“{0}” - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hant.xlf deleted file mode 100644 index f4dbec36db100..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Resources/xlf/Strings.zh-Hant.xlf +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code - 新增 'GeneratedComClassAttribute' 以啟用將此類型的物件傳遞至 COM 並允許不安全的程式碼 - - - - This type implements at least one type with the 'GeneratedComInterfaceAttribute' attribute. Add the 'GeneratedComClassAttribute' to enable passing this type to COM and exposing the COM interfaces for the types with the 'GeneratedComInterfaceAttribute' from objects of this type. - 此類型至少實作一個具有 'GeneratedComInterfaceAttribute' 屬性的類型。新增 'GeneratedComClassAttribute' 以啟用將此類型傳遞到 COM,並公開具有此類型物件之 'GeneratedComInterfaceAttribute' 類型的 COM 介面。 - - - - Add the 'GeneratedComClassAttribute' to '{0}' to enable passing objects of type '{0}' to COM - 將 'GeneratedComClassAttribute' 新增至 '{0}' 以啟用將類型 '{0}' 的物件傳遞至 COM - - - - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM - 新增 'GeneratedComClassAttribute' 以啟用將此類型的物件傳遞至 COM - - - - The analysis required to generate code for this interface or method has failed due to an unexpected code pattern. If you are using new or unconventional syntax, consider using other syntax. - 產生此介面或方法程式碼所需的分析失敗,因為有未預期的程式碼模式。如果您使用的是新語法或非常規語法,請考慮使用其他語法。 - - - - Analysis of interface '{0}' has failed. ComInterfaceGenerator will not generate code for this interface. - 介面 '{0}' 分析失敗。ComInterfaceGenerator 不會產生此介面的程式碼。 - - - - Analysis of method '{0}' has failed. ComInterfaceGenerator will not generate code for this method. - 方法 '{0}' 分析失敗。ComInterfaceGenerator 不會產生此方法的程式碼。 - - - - Analysis for COM interface generation has failed. - COM 介面產生的分析失敗。 - - - - COM interface source generation requires all base COM interfaces to be valid interfaces. Fix any issues on the base interface to resolve this diagnostic. - 產生 COM 介面來源要求所有基底 COM 介面都必須是有效的介面。請修正基底介面上的任何問題,以解決此診斷。 - - - - COM interface {0} inherits from {1}, which has errors. ComInterfaceGenerator will not generate source for {0}. - COM 介面 {0} 繼承自有錯誤的 {1}。ComInterfaceGenerator 不會產生 {0} 的來源。 - - - - The base COM interface failed to generate source. Code will not be generated for this interface. - 基底 COM 介面無法產生來源。將不會產生此介面的程式碼。 - - - - A 'GeneratedComInterface' cannot specify 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' unless the base interface type did not specify options or specified at least the same options. - 除非基本介面類型未指定選項或至少指定了相同的選項,否則 'GeneratedComInterface' 不能指定 'ComInterfaceOptions.ManagedObjectWrapper' 或 'ComInterfaceOptions.ComObjectWrapper'。 - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported and will fail at runtime - 不支援在 'ComImport' 類型與來源產生的 COM 類型之間轉換,且將在執行階段失敗 - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 不支援在 'ComImport' 類型與來源產生的 COM 類型之間轉換 - - - - Casting between a 'ComImport' type and a source-generated COM type is not supported - 不支援在 'ComImport' 類型與來源產生的 COM 類型之間轉換 - - - - A class with 'GeneratedComClassAttribute' must implement at least one interface with 'GeneratedComInterfaceAttribute' or else the generated code with not have an effect. - 具有 'GeneratedComClassAttribute' 的類別必須使用 'GeneratedComInterfaceAttribute' 來實作至少一個介面,否則產生的程式碼將沒有效果。 - - - - Class '{0}' with 'GeneratedComClassAttribute' does not implement any interfaces with 'GeneratedComInterfaceAttribute'. Source will not be generated for '{0}'. - 具有 'GeneratedComClassAttribute' 的類別 '{0}' 未使用 'GeneratedComInterfaceAttribute' 來實作任何介面。將不會為 '{0}' 產生來源。 - - - - .NET COM hosting with 'EnableComHosting' only supports built-in COM interop. It does not support source-generated COM interop with 'GeneratedComInterfaceAttribute'. - 以 'EnableComHosting' 裝載的 .NET COM 僅支援內建 COM Interop。它並不支援使用 'GeneratedComInterfaceAttribute'來源產生的 COM Interop。 - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute'. Change any COM exposed interfaces implemented by '{0}' to use the 'System.Runtime.InteropServices.ComVisibleAttribute' instead - 以 'EnableComHosting' 裝載的 .NET COM 不支援具有 'GeneratedComInterfaceAttribute' 的介面。變更 '{0}' 實作的任何 COM 公開介面,以改為使用 'System.Runtime.InteropServices.ComVisibleAttribute' - - - - .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - 以 'EnableComHosting' 裝載的 .NET COM 不支援具有 'GeneratedComInterfaceAttribute' 的介面 - - - - Source-generated COM will ignore any configuration that is not supported. - 来源產生的 COM 將會略過任何不支援的設定。 - - - - The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 來源產生的 COM 不支援 '{0}' 設定。如果需要指定的設定,請改用 `ComImport`。 - - - - The specified marshalling configuration is not supported by source-generated COM. {0}. - 来源產生的 COM 不支援指定的封送處理設定。{0}。 - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 來源產生的 COM 不支援為參數 '{1}' 指定的 '{0}' 設定。如果需要指定的設定,請改用 `ComImport`。 - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 來源產生的 COM 不支援為方法 '{1}' 的傳回值指定 '{0}' 設定。如果需要指定的設定,請改用 `ComImport`。 - - - - The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 來源產生的 COM 不支援為 '{1}' 指定的值 '{0}'。如果需要指定的設定,請改用 `ComImport`。 - - - - Specified configuration is not supported by source-generated COM. - 来源產生的 COM 不支援指定的設定。 - - - - Converting this interface to use 'GeneratedComInterfaceAttribute' may produce invalid code and may require additional work - 將此介面轉換為使用 'GeneratedComInterfaceAttribute' 可能會產生無效程式碼,而且可能需要額外作業 - - - - Convert to 'GeneratedComInterface' and allow unsafe code - 轉換為 'GeneratedComInterface' 並允許不安全的程式碼 - - - - Use 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - 使用 GeneratedComInterfaceAttribute' (而非 'ComImportAttribute') 以於編譯時間產生 COM 封送處理程式碼 - - - - Converting this API to 'GeneratedComInterfaceAttribute' will require additional code to provide custom marshallers for some parameters. - 將此 API 轉換為 'GeneratedComInterfaceAttribute' 需要額外的程式碼,才能提供某些參數的自訂封送處理器。 - - - - Mark the type '{0}' with 'GeneratedComInterfaceAttribute' instead of 'ComImportAttribute' to generate COM marshalling code at compile time - 使用 GeneratedComInterfaceAttribute' (而非 'ComImportAttribute') 標記類型 '{0}',以於編譯時間產生 COM 封送處理程式碼 - - - - Convert to 'GeneratedComInterface' - 轉換為 'GeneratedComInterface' - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' must match the base COM interface. - 'StringMarshalling' 和 'StringMarshallingCustomType' 的設定必須和基底 COM 介面相符。 - - - - Events are not a concept in COM, so no interop code will be source generated for instance events on source-generated COM interfaces. - 事件不是 COM 中的概念,因此不會為來源產生的 COM 介面上的執行個體事件來源產生 Interop 程式碼。 - - - - The instance event '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - 執行個體事件 '{0}' 是在套用了 'GeneratedComInterfaceAttribute' 的介面 '{1}' 中宣告的 - - - - Declaring an instance event in a type with the 'GeneratedComInterfaceAttribute' is not supported - 不支援在具有 'GeneratedComInterfaceAttribute' 的類型中宣告執行個體事件 - - - - Properties are not a concept in COM, so no interop code will be source generated for instance properties on source-generated COM interfaces. - 屬性不是 COM 中的概念,因此不會為來源產生的 COM 介面上的執行個體屬性來源產生 Interop 程式碼。 - - - - The instance property '{0}' is declared in the interface '{1}', which has the 'GeneratedComInterfaceAttribute' applied - 執行個體屬性 '{0}' 是在套用了 'GeneratedComInterfaceAttribute' 的介面 '{1}' 中宣告的 - - - - Declaring an instance property in a type with the 'GeneratedComInterfaceAttribute' is not supported - 不支援在具有 'GeneratedComInterfaceAttribute' 的類型中宣告執行個體屬性 - - - - Using 'GeneratedComInterfaceAttribute' and 'InterfaceTypeAttribute' is not supported with 'ComInterfaceType' value '{0}'. - 'ComInterfaceType' 值 '{0}' 不支援使用 'GeneratedComInterfaceAttribute' 和 'InterfaceTypeAttribute'。 - - - - 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - 'GeneratedComInterfaceType' 不支援提供給相同類型 'InterfaceTypeAttribute' 的 'ComInterfaceType' 值。 - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. - 方法 '{0}' 包含在未標示為 'partial' 的類型 '{1}' 中。COM 来源產生將略過方法 '{0}'。 - - - - Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - 包含具有 VirtualMethodIndexAttribute 的方法類型沒有 UnmanagedObjectUnwrapperAttribute。 - - - - Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - 標示為 'GeneratedComInterfaceAttribute' 之介面上的方法應該是非泛型的。COM 來源產生將略過泛型方法。 - - - - Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. - 在用 'GeneratedComInterfaceAttribute' 標示的介面上,方法 '{0}' 應該是非泛型的。COM 來源產生將略過方法 '{0}'。 - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' is invalid. - 'ExceptionMarshalling' 和 'ExceptionMarshallingCustomType' 的設定無效。 - - - - The configuration of 'ExceptionMarshalling' and 'ExceptionMarshallingCustomType' on method '{0}' is invalid. {1} - 方法 '{0}' 上的 'ExceptionMarshalling' 和 'ExceptionMarshallingCustomType' 的設定無效。{1} - {1} is a message containing additional details about what is not valid - - - 'ExceptionMarshallingCustomType' must be specified when 'ExceptionMarshalling' is set to 'ExceptionMarshalling.Custom'. - 當 'ExceptionMarshalling' 設定為 'ExceptionMarshalling.Custom' 時,必須指定 'ExceptionMarshallingCustomType'。 - - - - 'ExceptionMarshalling' should be set to 'ExceptionMarshalling.Custom' when 'ExceptionMarshallingCustomType' is specified. - 指定 'ExceptionMarshallingCustomType' 時,'ExceptionMarshalling' 應設定為 'ExceptionMarshalling.Custom'。 - - - - The provided value is not a known flag of the 'ExceptionMarshalling' enum. - 提供的值不是 'ExceptionMarshalling' 列舉的已知旗標。 - - - - Classes with 'GeneratedComClassAttribute' must implement one or more interfaces with 'GeneratedComInterfaceAttribute', be marked partial, and be non-generic. - 具有 'GeneratedComClassAttribute' 的類別必須實作一或多個具有 'GeneratedComInterfaceAttribute' 的介面、標示為部份且非泛型。 - - - - Class '{0}' with 'GeneratedComClassAttribute' or one of its containing types is not marked 'partial'. - 具有 'GeneratedComClassAttribute' 或其中一個包含類型的類別 '{0}' 未標示為 'partial'。 - - - - Invalid 'GeneratedComClassAttribute' usage - 'GeneratedComClassAttribute' 使用方式無效 - - - - Interfaces attributed with 'GeneratedComInterfaceAttribute' must have 'public' or 'internal' accessibility and be partial, non-generic, and must specify a GUID with 'System.Runtime.InteropServices.GuidAttribute'. - 屬性為 'GeneratedComInterfaceAttribute' 的介面必須具有 'public' 或 'internal' 存取範圍,且是部分的非泛型介面,且必須使用 'System.Runtime.InteropServices.GuidAttribute' 指定 GUID。 - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is generic. - 介面 '{0}' 的屬性為 'GeneratedComInterfaceAttribute',但為泛型介面。 - - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is not accessible by generated code. The interface and all containing types must have accessibility 'internal' or 'public' for generated code to access it. {1} - 介面 '{0}' 的屬性為 'GeneratedComInterfaceAttribute',但無法由產生的程式碼存取。介面和所有包含的類型的必須具有 'internal' 或 'public' 存取範圍,產生的程式碼才能存取它。{1} - {1} is details about which type/containing type is not accessible - - - Interface '{0}' is attributed with 'GeneratedComInterfaceAttribute' but is missing 'System.Runtime.InteropServices.GuidAttribute'. - 介面 '{0}' 的屬性為 'GeneratedComInterfaceAttribute',但遺漏 'System.Runtime.InteropServices.GuidAttribute'。 - - - - Invalid 'GeneratedComInterfaceAttribute' usage. - 無效的 'GeneratedComInterfaceAttribute' 使用方式。 - - - - The interface '{0}' or one of its containing types is missing the 'partial' keyword. Code will not be generated for '{0}'. - 介面 '{0}' 或其中一個包含類型的介面遺漏 'partial' 關鍵字。將不會為 '{0}' 產生程式碼。 - - - - The specified 'ComInterfaceOptions' are invalid. - 指定的 'ComInterfaceOptions' 無效。 - - - - The specified 'ComInterfaceOptions' on '{0}' are invalid. {1} - '{0}' 上指定的 'ComInterfaceOptions' 無效。{1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' 和 'StringMarshallingCustomType' 的設定無效。 - - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 當 'StringMarshalling' 設定為 'StringMarshalling.Custom' 時,必須指定 'StringMarshallingCustomType'。 - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 指定 'StringMarshallingCustomType' 時,'StringMarshalling' 應設定為 'StringMarshalling.Custom'。 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} - 介面 '{0}' 上的 'StringMarshalling' 和 'StringMarshallingCustomType' 設定無效。{1} - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - 方法 '{0}' 上的 'StringMarshalling' 和 'StringMarshallingCustomType' 設定無效。{1} - {1} is a message containing additional details about what is not valid - - - Invalid 'VirtualMethodIndexAttribute' usage - 'VirtualMethodIndexAttribute' 使用方式無效 - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 來源產生的 COM 不支援為參數 '{1}' 指定 'MarshalAsAttribute' 設定。如果需要指定的設定,請改用 `ComImport`。 - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - 來源產生的 COM 不支援為方法 '{1}' 的傳回值指定 'MarshalAsAttribute' 設定。如果需要指定的設定,請改用 `ComImport`。 - - - - All methods must be declared in the same partial definition of a 'GeneratedComInterface'-attributed interface type to ensure reliable calculation for virtual method table offsets. - 所有方法都必須在 'GeneratedComInterface' 屬性化介面類型的相同部分定義中宣告,以確保對虛擬方法資料表位移進行可靠的計算。 - - - - The method '{0}' is declared on a different partial definition of the interface '{1}' than the definition that has the 'GeneratedComInterface' attribute - 方法 '{0}' 是在介面 '{1}' 的不同部分定義上宣告的,而不是在具有 'GeneratedComInterface' 屬性的定義上宣告 - - - - Method is declared in different partial declaration than the 'GeneratedComInterface' attribute. - 方法是在不同於 'GeneratedComInterface' 屬性的部分宣告中宣告。 - - - - A 'GeneratedComInterfaceAttribute'-attributed interface can only derive from at most one other 'GeneratedComInterfaceAttribute'-attributed interface. - 'GeneratedComInterfaceAttribute'-屬性介面最多只能衍生自另一個 'GeneratedComInterfaceAttribute'-屬性介面。 - - - - Interface '{0}' is derived from two or more interfaces attributed with 'GeneratedComInterfaceAttribute'. - 介面 '{0}' 衍生自具有 'GeneratedComInterfaceAttribute' 的兩個或多個介面。 - - - - Specified interface derives from two or more 'GeneratedComInterfaceAttribute'-attributed interfaces. - 指定的介面衍生自兩個或兩個以上的 'GeneratedComInterfaceAttribute'-屬性介面。 - - - - Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - 必須指定 'ComInterfaceOptions.ManagedObjectWrapper' 或 'ComInterfaceOptions.ComObjectWrapper'。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' 和 'GeneratedComClassAttribute' 需要不安全的程式碼。專案必須以 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' 更新。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - 'GeneratedComInterfaceAttribute' 和 'GeneratedComClassAttribute' 需要不安全的程式碼。專案必須以 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' 更新。 - - - - 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. - 'GeneratedComInterfaceAttribute' 和 'GeneratedComClassAttribute' 需要不安全的程式碼。 - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM and will fail at runtime - 'System.Runtime.InteropServices.Marshal' 上的 COM Interop API 不支援來源產生的 COM,且將於執行階段中失敗 - - - - The method '{0}' only supports runtime-based COM interop and will not work with type '{1}' - 方法 '{0}' 只支援執行階段型 COM Interop,且不適用於類型 '{1}' - - - - COM Interop APIs on 'System.Runtime.InteropServices.Marshal' do not support source-generated COM - 'System.Runtime.InteropServices.Marshal' 上的 COM Interop API 不支援來源產生的 COM - - - - The type '{0}' specified as 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' is not accessible by generated code. The type must have at least 'internal' accessibility. {1} - 指定為 'GeneratedComInterfaceAttribute.StringMarshallingCustomType' 的類型 '{0}' 無法由產生的程式碼存取。類型必須至少具有 'internal' 存取範圍。{1} - {1} is details about which type/containing type is not accessible - - - For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - 對於來源產生的 COM 不支援的類型,產生的函式指標將依賴基礎執行階段來封送處理指定的類型。 - - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. - 来源產生的 COM 不支援類型 '{0}'。產生的来源將不會處理參數 '{1}' 的封送處理。 - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 產生的来源将不會處理參數 '{1}' 的排列。 - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - 来源產生的 COM 不支援類型 '{0}'。產生的來源將不會處理方法 '{1}' 的傳回值之封送處理。 - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 產生的來源將不會處理方法 '{1}' 之傳回值的排列。 - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated COM - 来源產生的 COM 不支援指定的類型。 - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - 已提供不必要的封送資訊。您可以移除此封送資訊,而不會對應用程式進行任何行為變更。 - - - - Unnecessary marshalling info was provided and can be removed. - 已提供不必要的封送資訊,而且可以移除。 - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - 已為參數 '{1}' 提供了不必要的封送資訊 '{0}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - 已為方法 '{1}' 的傳回類型提供了不必要的封送資訊 '{0}' - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf index d68e8f1655598..0d7b21d03bc8a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf index 8b4284482012b..7dbe6c3e5ea76 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf index de1416d822e03..42990b44e266b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf index d0b865412ec85..363112f15bfee 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf index e2f73422caf8e..0e4590a340a30 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf index 0457e2beb020c..2d0fbf90d3b19 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf index 760d42ac1f268..ac42d7e3faad7 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf index 3d0f84a77d6ef..0d59e6c16413b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf index b330f59bb9425..7249507e05f63 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf index 123e6b615d3fe..a5da8e5fcb8d7 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf index 489fe9561e2ec..46e66043877b5 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf index ae97596b9d867..7cfdb431e08e6 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf index 67a3522f23d6b..406ca00cf7cee 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf @@ -147,76 +147,76 @@ .NET COM hosting with 'EnableComHosting' does not support interfaces with the 'GeneratedComInterfaceAttribute' - - Source-generated P/Invokes will ignore any configuration that is not supported. - Source-generated P/Invokes will ignore any configuration that is not supported. - - - + Source-generated COM will ignore any configuration that is not supported. Source-generated COM will ignore any configuration that is not supported. - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + Source-generated P/Invokes will ignore any configuration that is not supported. + Source-generated P/Invokes will ignore any configuration that is not supported. - + The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The '{0}' configuration is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified marshalling configuration is not supported by source-generated COM. {0}. The specified marshalling configuration is not supported by source-generated COM. {0}. - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. + The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified value '{0}' for '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - Specified configuration is not supported by source-generated P/Invokes. - Specified configuration is not supported by source-generated P/Invokes. + + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. + The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - + Specified configuration is not supported by source-generated COM. Specified configuration is not supported by source-generated COM. + + Specified configuration is not supported by source-generated P/Invokes. + Specified configuration is not supported by source-generated P/Invokes. + + Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' @@ -497,41 +497,41 @@ 'GeneratedComInterfaceType' does not support the 'ComInterfaceType' value supplied to 'InterfaceTypeAttribute' on the same type. - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - - - + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. Method '{0}' is contained in a type '{1}' that is not marked 'partial'. COM source generation will ignore method '{0}'. + + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. + + Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. Containing type of method with VirtualMethodIndexAttribute does not have a UnmanagedObjectUnwrapperAttribute. - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - - - + Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. Methods on interfaces marked with 'GeneratedComInterfaceAttribute' should be non-generic. COM source generation will ignore methods that are generic. - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. + Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - + Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. Method '{0}' should be non-generic when on interfaces marked with the 'GeneratedComInterfaceAttribute'. COM source generation will ignore method '{0}'. + + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. + + Invalid 'CustomMarshallerAttribute' usage Invalid 'CustomMarshallerAttribute' usage @@ -652,12 +652,12 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - + + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} + {1} is a message containing additional details about what is not valid - + The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid @@ -667,21 +667,11 @@ 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} @@ -762,26 +752,26 @@ The managed type for the entry-point marshaller type '{0}' must not be 'null' - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - - - + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated COM. If the specified configuration is required, use `ComImport` instead. + + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. + + The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. @@ -907,36 +897,36 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requires unsafe code. + + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. + LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. + + LibraryImportAttribute requires unsafe code. + LibraryImportAttribute requires unsafe code. + + The return type the two method must be the expected type. The return type the two method must be the expected type. @@ -1152,58 +1142,46 @@ 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - - - + For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. For types that are not supported by source-generated COM, the resulting function pointer will rely on the underlying runtime to marshal the specified type. - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. + For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of parameter '{1}'. + + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. + + {0} The generated source will not handle marshalling of parameter '{1}'. {0} The generated source will not handle marshalling of parameter '{1}'. {0} is a message containing additional details about what is not supported {1} is the name of the parameter - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter + + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. + - + The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - The type '{0}' is not supported by source-generated COM. The generated source will not handle marshalling of the return value of method '{1}'. - - {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} The generated source will not handle marshalling of the return value of method '{1}'. {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} is a message containing additional details about what is not supported {1} is the name of the method @@ -1226,41 +1204,21 @@ Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - Unnecessary marshalling info was provided and can be removed. Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs index ad7f626e87a35..afab0f9d97815 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/GeneratorDiagnostics.cs @@ -26,60 +26,60 @@ public class Ids private const string Category = "LibraryImportGenerator"; - /// + /// public static readonly DiagnosticDescriptor InvalidAttributedMethodSignature = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, GetResourceString(nameof(SR.InvalidLibraryImportAttributeUsageTitle)), - GetResourceString(nameof(SR.InvalidAttributedMethodSignatureMessage)), + GetResourceString(nameof(SR.InvalidAttributedMethodSignatureMessageLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.InvalidAttributedMethodDescription))); + description: GetResourceString(nameof(SR.InvalidAttributedMethodDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor InvalidAttributedMethodContainingTypeMissingModifiers = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, GetResourceString(nameof(SR.InvalidLibraryImportAttributeUsageTitle)), - GetResourceString(nameof(SR.InvalidAttributedMethodContainingTypeMissingModifiersMessage)), + GetResourceString(nameof(SR.InvalidAttributedMethodContainingTypeMissingModifiersMessageLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.InvalidAttributedMethodDescription))); + description: GetResourceString(nameof(SR.InvalidAttributedMethodDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor InvalidStringMarshallingConfiguration = new DiagnosticDescriptor( Ids.InvalidLibraryImportAttributeUsage, GetResourceString(nameof(SR.InvalidLibraryImportAttributeUsageTitle)), - GetResourceString(nameof(SR.InvalidStringMarshallingConfigurationMessage)), + GetResourceString(nameof(SR.InvalidStringMarshallingConfigurationMessageLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, description: GetResourceString(nameof(SR.InvalidStringMarshallingConfigurationDescription))); - /// + /// public static readonly DiagnosticDescriptor ParameterTypeNotSupported = new DiagnosticDescriptor( Ids.TypeNotSupported, GetResourceString(nameof(SR.TypeNotSupportedTitle)), - GetResourceString(nameof(SR.TypeNotSupportedMessageParameter)), + GetResourceString(nameof(SR.TypeNotSupportedMessageParameterLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor ReturnTypeNotSupported = new DiagnosticDescriptor( Ids.TypeNotSupported, GetResourceString(nameof(SR.TypeNotSupportedTitle)), - GetResourceString(nameof(SR.TypeNotSupportedMessageReturn)), + GetResourceString(nameof(SR.TypeNotSupportedMessageReturnLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionLibraryImport))); /// public static readonly DiagnosticDescriptor ParameterTypeNotSupportedWithDetails = @@ -90,7 +90,7 @@ public class Ids Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionLibraryImport))); /// public static readonly DiagnosticDescriptor ReturnTypeNotSupportedWithDetails = @@ -101,84 +101,84 @@ public class Ids Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.TypeNotSupportedDescription))); + description: GetResourceString(nameof(SR.TypeNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor ParameterConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageParameter)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleLibraryImport)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageParameterLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor ReturnConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageReturn)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleLibraryImport)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageReturnLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor MarshalAsParameterConfigurationNotSupported = new DiagnosticDescriptor( GeneratorDiagnostics.Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageParameter)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleLibraryImport)), + GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageParameterLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor MarshalAsReturnConfigurationNotSupported = new DiagnosticDescriptor( GeneratorDiagnostics.Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageReturn)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleLibraryImport)), + GetResourceString(nameof(SR.MarshalAsConfigurationNotSupportedMessageReturnLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor ConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessage)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleLibraryImport)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor ConfigurationValueNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageValue)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleLibraryImport)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageValueLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionLibraryImport))); - /// + /// public static readonly DiagnosticDescriptor MarshallingAttributeConfigurationNotSupported = new DiagnosticDescriptor( Ids.ConfigurationNotSupported, - GetResourceString(nameof(SR.ConfigurationNotSupportedTitle)), - GetResourceString(nameof(SR.ConfigurationNotSupportedMessageMarshallingInfo)), + GetResourceString(nameof(SR.ConfigurationNotSupportedTitleLibraryImport)), + GetResourceString(nameof(SR.ConfigurationNotSupportedMessageMarshallingInfoLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescription))); + description: GetResourceString(nameof(SR.ConfigurationNotSupportedDescriptionLibraryImport))); /// public static readonly DiagnosticDescriptor CannotForwardToDllImport = @@ -191,16 +191,16 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.CannotForwardToDllImportDescription))); - /// + /// public static readonly DiagnosticDescriptor RequiresAllowUnsafeBlocks = new DiagnosticDescriptor( Ids.RequiresAllowUnsafeBlocks, - GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksTitle)), - GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksMessage)), + GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksTitleLibraryImport)), + GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksMessageLibraryImport)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, - description: GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksDescription))); + description: GetResourceString(nameof(SR.RequiresAllowUnsafeBlocksDescriptionLibraryImport))); /// public static readonly DiagnosticDescriptor UnnecessaryParameterMarshallingInfo = diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.cs.xlf deleted file mode 100644 index 21887710a9baf..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.cs.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Přidat chybějící vlastní typu zařazovacích členů - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Pokud se obrazec „Ze spravovaných na nespravované s vyrovnávací pamětí přidělenou volajícímu“ používá metodou FromManaged, která přebírá Span<T> u zařazovacího typu, musí typ poskytovat statickou vlastnost BufferSize, která určuje počet elementů ve vyrovnávací paměti přidělené volajícímu. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - Zařazovací typ {0} musí obsahovat statickou celočíselnou vlastnost BufferSize určenou jen pro čtení, která určuje velikost vyrovnávací paměti přidělené volajícímu, protože obsahuje metodu FromManaged, která přebírá Span<{1}> přidělený volajícímu. - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - Vygenerovaný atribut DllImportAttribute nebude mít hodnotu odpovídající {0}. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - {0} nemá žádný ekvivalent v DllImportAttribute a nepřesměruje se - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Určené argumenty LibraryImportAttribute nelze přesměrovat do DllImportAttribute - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - Zdrojem generovaná volání P/Invokes budou ignorovat všechny nepodporované konfigurace. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Konfigurace {0} není podporována zdrojově generovanými voláními P/Invoke. Pokud je zadaná konfigurace povinná, použijte místo toho normální DllImport. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - Určenou konfiguraci zařazování nepodporují zdrojem generovaná volání P/Invokes. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Zadaná konfigurace {0} pro parametr {1} není podporována zdrojově generovanými voláními P/Invoke. Pokud je zadaná konfigurace povinná, použijte místo toho normální DllImport. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Zadaná konfigurace {0} pro návratovou hodnotu metody{1} není podporována voláními P/Invoke generovanými zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho normální DllImport. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - Zadaná hodnota {0} pro {1} není podporována zdrojově generovanými voláními P/Invoke. Pokud je zadaná hodnota povinná, použijte místo toho normální DllImport. - - - - Specified configuration is not supported by source-generated P/Invokes. - Určenou konfiguraci nepodporují zdrojem generovaná volání P/Invokes. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - Automatická konverze volání P/Invoke s PreserveSig nastaveným na hodnotu False na zdrojem generované volání P/Invoke může mít za následek neplatný kód. - - - - Convert to 'LibraryImport' - Převést na LibraryImport - - - - Convert to 'LibraryImport' and enable unsafe code - Převést na LibraryImport a povolit nebezpečný kód - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - K vygenerování kódu zařazování P/Invoke v době kompilace použijte LibraryImportAttribute místo DllImportAttribute - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - Převod tohoto rozhraní API na LibraryImport bude vyžadovat další kód, který poskytne vlastní zařazovače pro některé parametry. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Označit metodu {0} pomocí LibraryImportAttribute místo DllImportAttribute, aby došlo k vygenerování kódu zařazování volání P/Invoke za kompilace. - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - K vygenerování kódu zařazování P/Invoke v době kompilace použijte LibraryImportAttribute místo DllImportAttribute - - - - Convert to 'LibraryImport' with '{0}' suffix - Převést na LibraryImport s příponou {0} - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Převést na LibraryImport s příponou {0} a povolit nebezpečný kód - - - - Marshaller type does not have the required shape - Zařazovací typ nemá požadovaný tvar - - - - A marshaller for an element scenario cannot be stateful. - Zařazovač pro scénář elementu nemůže být stavový. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - Zadaný zařazovací typ {0} je stavový zařazovač, ale stavové zařazovače nejsou v poskytnutém režimu zařazování {1} povolené. - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - Typ elementu span vrácený první metodou musí být stejného typu jako typ elementu rozsahu vráceného druhou metodou. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - Typ elementu span vrácený {0} musí být stejného typu jako typ elementu rozsahu vráceného {1}. - - - - An entry-point type for marshalling a given type must not be 'null'. - Typ vstupního bodu pro zařazování daného typu nesmí nabývat hodnoty null. - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - Zařazovací typ vstupního bodu pro typ {0} nesmí nabývat hodnoty null. - - - - The first parameter of the first method must be the same type as the return types of the second method. - První parametr první metody musí být stejného typu jako návratové typy druhé metody. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - První parametr {0} musí být stejného typu jako návratový typ {1} - - - - The first parameters of the two methods must be the same type. - První parametry těchto dvou metod musí být stejného typu. - - - - The first parameter of '{0}' and '{1}' must be the same type - První parametr {0} a {1} musí být stejného typu. - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - Přetížení metody FromUnmanaged není podporováno, protože některé obrazce nedokážou rozlišit mezi přetíženími. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - Typ {0} přetíží metodu FromUnmanaged, která se ve vlastních zařazováních nepodporuje. - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - Návratový typ GetPinnableReference (když se vezme v úvahu „ref“) musí být přenositelný. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - Odkazovaný typ návratového typu GetPinnableReference musí být přenositelný - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Metoda {0} je obsažena v typu {1}, který není označen jako „partial“. Generování zdrojů volání P/Invoke bude metodu {0} ignorovat. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Metody označené atributem LibraryImportAttribute by měly být typu „static“, „partial“ a non-generic. Generování zdrojů volání P/Invoke bude ignorovat metody typu non-„static“, non-„partial“ a generic. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Metoda {0} by měla mít vlastnost „static“, „partial“ a non-generic, když je označena atributem LibraryImportAttribute. Generování zdroje voláním P/Invoke bude metodu {0} ignorovat. - - - - Invalid 'CustomMarshallerAttribute' usage - Neplatné použití CustomMarshaattribute - - - - Invalid 'LibraryImportAttribute' usage - Neplatné použití LibraryImportAttribute - - - - Specified managed type is invalid - Zadaný spravovaný typ je neplatný - - - - Invalid 'MarshalMode' value. - Neplatná hodnota „MarshalMode“. - - - - Specified marshaller type is invalid - Zadaný zařazovací typ je neplatný - - - - Invalid 'NativeMarshallingAttribute' usage - Neplatné použití NativeMars telemetringAttribute - - - - Marshaller type has incompatible method signatures - Zařazovací typ má nekompatibilní signatury metod - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Konfigurace StringMarshalling a StringMarshallingCustomType je neplatná. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Konfigurace StringMarshalling a StringMarshallingCustomType u metody {0} je neplatná. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - StringMarshallingCustomType musí být určený, pokud je StringMarshalling nastavený na StringMarshalling.Custom. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - StringMarshalling by měl být nastavený na StringMarshalling.Custom, když je pokud je určený StringMarshallingCustomType. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - Typ prvku ReadOnlySpan vrácený GetManagedValuesSource musí být stejný, jako typ prvku vrácený GetManagedValuesDestination. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - Typ prvku ReadOnlySpan vrácený GetManagedValuesSource musí být stejný, jako typ prvku vrácený GetManagedValuesDestination - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Nativní typ druhu LinearCollection, který podporuje funkci CallerAllocatedBuffer musí poskytovat tříparametrový konstruktor přebírající spravovaný prvek jako první parametr, „Span<byte>“ jako druhý parametr a nativní velikost prvku jako třetí parametr - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - Typ {0} konkrétně určuje, že podporuje zařazování „In“ s funkcí CallerAllocatedBuffer pro {1}, ale neposkytuje tříparametrový konstruktor, který přebírá {1}, „Span<byte>“ a „int“ - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Souvislý zařazovací modul kolekce, který podporuje zařazování ze spravovaného do nespravovaného, musí poskytovat metodu GetManagedValuesSource, která vrací metodu ReadOnlySpan<> a GetUnmanagedValuesDestination, která vrací hodnotu Span<>. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - Typ {0} určuje, že podporuje režim zařazování {1}, ale neposkytuje metodu GetManagedValuesSource, která vrací metodu ReadOnlySpan<> a GetUnmanagedValuesDestination, která vrací Span<>. - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Souvislý zařazovací modul kolekce, který podporuje zařazování z nespravovaného do spravovaného, musí poskytovat metodu GetManagedValuesDestination, která přijímá int a vrací metodu Span<> a GetUnmanagedValuesSource, která přijímá int a vrací readOnlySpan<>. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - Typ {0} určuje, že podporuje režim zařazování {1}, ale neposkytuje metodu GetManagedValuesDestination, která přijímá int a vrací metodu Span<> a GetUnmanagedValuesSource, která přijímá int a vrací readOnlySpan<> - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - Zařazovací typ musí být uzavřený obecný typ nebo mít stejný počet obecných parametrů jako spravovaný typ, aby generátor mohl určit, které metody jsou dostupné u konkrétních zařazovacích typů. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Spravovaný typ {0} pro zařazovací typ vstupního bodu {1} musí být uzavřený obecný typ, mít stejnou aritu jako spravovaný typ, pokud se jedná o zařazování hodnot, nebo mít jeden další obecný parametr, pokud se jedná o zařazování kolekcí. - - - - The managed type for a custom marshaller must be non-null. - Spravovaný typ vlastního zařazování nesmí nabývat hodnoty null. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - Spravovaný typ pro zařazovací typ vstupního bodu {0} nesmí nabývat hodnoty null. - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Zadaná konfigurace atributu MarshalAsAttribute pro parametr {1} není podporovaná voláními P/Invoke generovanými zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho normální DllImport. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Zadaná konfigurace atributu MarshalAsAttribute pro návratovou hodnotu metody {1} není podporovaná voláními P/Invoke generovanými zdrojem. Pokud je zadaná konfigurace povinná, použijte místo toho normální DllImport. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - Argument marshalMode atributu „CustomMarshaattribute“ musí být platná hodnota výčtu MarshalMode. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Zařazovací typ musí být uzavřený obecný typ nebo mít stejný počet obecných parametrů jako spravovaný typ, aby mohl vygenerovaný kód použít konkrétní vytvoření instance. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - Zařazovací typ {0}, na který odkazuje zařazovací typ vstupního bodu {1}, musí být uzavřený obecný typ nebo mít stejnou aritu jako spravovaný typ. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - Parametr marshallerType v atributu System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute nemůže nabývat hodnoty null. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - Parametr marshallerType v atributu System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute nemůže nabývat hodnoty null. - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Typ zařazovače musí být bezstavová statická třída nebo stavový typ hodnoty. Nestatická třída není povolena. - - - - The type '{0}' must be a static class or a value type - Typ {0} musí být statická třída nebo typ hodnoty. - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Typ s atributem System.Runtime.InteropServices.CustomMarshallerAttribute musí určovat spravovaný typ, který nenabývá hodnoty null. - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - Typ {0} neurčuje spravovaný typ v atributu System.Runtime.InteropServices.CustomMarshallerAttribute uplatněném na tento typ. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Zařazovací typ musí být uzavřený obecný typ nebo mít stejný počet obecných parametrů jako spravovaný typ, aby mohl vygenerovaný kód použít konkrétní vytvoření instance. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Zařazovací typ {0} pro spravovaný typ {1} musí být uzavřený obecný typ, mít stejnou aritu jako spravovaný typ, pokud se jedná o zařazování hodnot, nebo mít jeden další obecný parametr, pokud se jedná o zařazování kolekcí. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute vyžaduje nebezpečný kód. Projekt se musí aktualizovat na hodnotu <AllowUnsafeBlocks>true</AllowUnsafeBlocks>. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute vyžaduje nebezpečný kód. Projekt se musí aktualizovat na hodnotu <AllowUnsafeBlocks>true</AllowUnsafeBlocks>. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute vyžaduje nebezpečný kód. - - - - The return type the two method must be the expected type. - Návratový typ, který obě metody musí být očekávaného typu. - - - - The return type of '{0}' must be '{1}' - Návratový typ {0} musí být {1} - - - - The return types of the two methods must be the same type. - Návratové typy těchto dvou metod musí být stejného typu. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - Návratový typ {0} musí být stejného typu jako návratový typ {1} - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Stavový zařazovač musí mít instanční metodu s názvem Free, která nemá žádné parametry a vrací void. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - Typ {0} je stavový zařazovač a nemá instanční metodu s názvem Free, která je bez parametrů a vrací void. - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Stavový zařazovač, který podporuje zařazování ze spravovaného do nespravovaného, musí poskytovat instanční metodu FromManaged, která přebírá spravovanou hodnotu jako parametr a vrací void. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - Typ {0} určuje, že podporuje režim zařazování {1} pro {2}, ale neposkytuje instanční metodu FromManaged s jedním parametrem, která přijímá jako parametr {2} a vrací void. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Stavový zařazovač, který podporuje zařazování z nespravovaného do spravovaného, musí poskytovat instanční metodu FromUnmanaged, která přebírá nespravovanou hodnotu jako parametr a vrací void. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - Typ {0} určuje, že podporuje režim zařazování {1} pro {2}, ale neposkytuje instanční metodu FromUnmanaged s jedním parametrem, která jako parametr přebírá hodnotu unmanaged a vrací void. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Stavový zařazovač, který podporuje zařazování z nespravovaného do spravovaného, musí poskytovat instanční metodu ToManaged, která nepřebírá žádné parametry a vrací typ managed. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - Typ {0} určuje, že podporuje režim zařazování {1} pro {2}, ale neposkytuje instanční metodu bez parametrů s názvem ToManaged, která vrací {2} - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Stavový zařazovač, který podporuje zařazování ze spravovaného do nespravovaného, musí poskytovat instanční metodu ToUnmanaged, která nepřebírá žádné parametry a vrací typ unmanaged. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - Typ {0} určuje, že podporuje režim zařazování {1} pro {2}, ale neposkytuje instanční metodu bez parametrů s názvem ToUnmanaged, která pro zařazovač vrací typ unmanaged. - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Když se použije obrazec Spravovaný na nespravovaný s vyrovnávací pamětí přidělenou volajícím poskytnutím metody AllocateContainerForUnmanagedElements, která přebírá span<T> typu zařazovače, musí typ poskytnout statickou vlastnost BufferSize, aby bylo možné poskytnout počet prvků ve vyrovnávací paměti přidělené volajícím. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - Typ zařazovacího modulu {0} musí mít statickou vlastnost BufferSize jen pro čtení int, aby bylo možné určit velikost vyrovnávací paměti přidělené volajícím, protože má metodu AllocateContainerForUnmanagedElements, která přebírá metodu Span<{1}> přidělenou volajícím. - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Souvislý zařazovací modul kolekce, který podporuje zařazování ze spravovaného do nespravovaného, musí poskytovat metodu GetManagedValuesSource, která přebírá spravovanou hodnotu jako parametr a vrací metodu ReadOnlySpan<> a GetUnmanagedValuesDestination, která přebírá nespravovanou hodnotu jako parametr a vrací hodnotu Span<> - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Typ {0} určuje, že podporuje režim zařazování {1}, ale neposkytuje metodu GetManagedValuesSource, která přijímá {2} jako parametr a vrací metodu ReadOnlySpan<> a GetUnmanagedValuesDestination, která přebírá nespravovanou hodnotu jako parametr a vrací hodnotu Span<> - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Souvislý zařazovací modul kolekce, který podporuje zařazování z nespravovaného do spravovaného, musí poskytovat metodu GetManagedValuesDestination, která přebírá spravovanou hodnotu a vrací metodu Span<> a GetUnmanagedValuesSource, která přebírá nespravovanou hodnotu a int a vrací readOnlySpan<>. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - Typ {0} určuje, že podporuje režim zařazování {1}, ale neposkytuje metodu GetManagedValuesDestination, která přijímá {2} a vrací metodu Span<> a GetUnmanagedValuesSource, která přebírá nespravovanou hodnotu a int a vrací hodnotu ReadOnlySpan<> - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Bezstavový zařazovací modul kolekce, který podporuje zařazování ze spravovaného do nespravovaného, musí poskytovat metodu AllocateContainerForManagedElements, která přebírá nespravovaný typ jako první parametr a počet elementů jako parametr int. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - Typ {0} určuje, že podporuje režim zařazování {1} pro {2}, ale neposkytuje metodu AllocateContainerForManagedElements se dvěma parametry, která přijímá nespravovaný typ jako první parametr a int jako druhý parametr. - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Bezstavový zařazovací modul kolekce, který podporuje zařazování ze spravovaného do nespravovaného, musí poskytovat metodu AllocateContainerForUnmanagedElements, která přebírá spravovaný typ jako první parametr a poskytuje počet elementů jako parametr out int. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - Typ {0} určuje, že podporuje režim zařazování {1} pro {2}, ale neposkytuje metodu AllocateContainerForUnmanagedElements se dvěma parametry, která jako první parametr přijímá {2} a druhý parametr out int. - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Zařazovací modul bezstavové hodnoty, který podporuje zařazování z nespravovaného do spravovaného, musí poskytovat metodu ConvertToManaged, která přebírá nespravovaný typ jako parametr a vrací spravovaný typ. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - Typ {0} určuje, že podporuje režim zařazování {1}, ale neposkytuje metodu ConvertToManaged, která přijímá nespravovaný typ jako parametr a vrací {2}. - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Zařazovací modul bezstavové hodnoty, který podporuje zařazování ze spravovaného do nespravovaného, musí poskytovat metodu ConvertToUnmanaged s jedním parametrem, která přijímá spravovanou hodnotu jako parametr a vrací hodnotu nespravovaného typu. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - Typ {0} určuje, že podporuje režim zařazování {1} pro {2}, ale neposkytuje metodu ConvertToUnmanaged s jedním parametrem, která přijímá jako parametr {2} a vrací hodnotu nespravovaného typu. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - Návratový typ ConvertToUnmanaged a typ parametru ConvertToManaged musí být stejné. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - Návratový typ ConvertToUnmanaged a typ parametru ConvertToManaged musí být stejné. - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - Nespravovaný typ vlastního zařazovacího modulu musí být nespravovaný typ jazyka C#. - - - - The return type of '{0}' must be unmanaged - Návratový typ {0} musí být nespravovaný. - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - void* musí být přetypovatelné na tento typ, aby připnutý výsledek statické metody GetPinnableReference mohl být po připnutí předán nativnímu kontextu. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - void* musí být přetypovatelné na typ {0}, protože spravovaný typ {1} obsahuje statickou metodu GetPinnableReference. - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Typ vstupního bodu pro zařazování daného typu musí mít atribut System.Runtime.InteropServices.CustomMarshallerAttribute, který tento typ určuje jako spravovaný typ. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - Zařazovací typ vstupního bodu {0} pro typ {1} musí být typ s nejméně jedním atributem System.Runtime.InteropServices.CustomMarshallerAttribute, který tento typ určuje jako spravovaný typ. - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Nativní typ „Value“ nebo druhu LinearCollection podporující zařazování ve směru „Out“ musí poskytovat metodu ToManaged, která vrací spravovaný typ. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - Typ {0}určuje, že podporuje zařazování ve směru „Out“, ale neposkytuje metodu ToManaged, která vrací spravovaný typ - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - Návratový typ ToUnmanaged a typ parametru FromUnmanaged musí být stejné. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - Návratový typ ToUnmanaged a typ parametru FromUnmanaged musí být stejné. - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - U typů, které nejsou podporovány zdrojem generovanými voláními P/Invoke, bude výsledné volání P/Invoke záviset na podkladovém modulu runtime, aby určený typ zařadil. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - Typ {0} nepodporují zdrojem generovaná volání P/Invokes. Vygenerovaný zdroj nebude zpracovávat zařazování parametru {1}. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Generovaný zdroj nebude zpracovávat zařazování parametru {1}. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - Typ {0} nepodporují zdrojem generovaná volání P/Invokes. Vygenerovaný zdroj nebude zpracovávat zařazování návratové hodnoty metody {1}. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Generovaný zdroj nebude zpracovávat zařazování návratové hodnoty metody {1}. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - Určený typ nepodporují zdrojem generovaná volání P/Invokes. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Poskytly se neúmyslné informace o zařazování. Tyto informace o zařazování lze odebrat bez jakékoli změny chování aplikace. - - - - Unnecessary marshalling info was provided and can be removed. - Byly poskytnuté nepotřebné informace o zařazování a dají se odebrat. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Byly poskytnuty zbytečné informace o zařazování {0} pro parametr {1}. - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Byly poskytnuty zbytečné informace o zařazování {0} pro návratový typ metody {1}. - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Nativní typ druhu Value, který podporuje funkci CallerAllocatedBuffer, musí poskytovat dvouparametrový konstruktor přebírající spravovaný prvek a hodnotu Span jako parametry. - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - Typ {0} určuje, že podporuje zařazování In s funkcí CallerAllocatedBuffer pro {1}, ale neposkytuje dvouparametrový konstruktor, který přebírá {1} a Span jako parametry. - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Nativní typ druhu „Value“ musí poskytovat jednoparametrový konstruktor přebírající spravovaný typ jako parametr - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - Typ {0} konkrétně určuje, že podporuje zařazování „In“ pro {1}, ale neposkytuje jednoparametrový konstruktor, který přebírá {1} jako parametr - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.de.xlf deleted file mode 100644 index 13e00bb3c7684..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.de.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Hinzufügen fehlender benutzerdefinierter Marshallermember - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Wenn die Form "Verwaltet bis nicht verwaltet mit Caller-Allocated Buffer" verwendet wird, indem eine Methode "FromManaged" bereitgestellt wird, die eine "Span<T>" für den Marshallertyp akzeptiert, muss der Typ eine statische Eigenschaft "BufferSize" bereitstellen, um die Anzahl von Elementen im vom Aufrufer zugewiesenen Puffer anzugeben. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - Der Marshallertyp "{0}" muss eine statische schreibgeschützte "int"-Eigenschaft "BufferSize" aufweisen, um die Größe des vom Aufrufer zugewiesenen Puffers anzugeben, da er eine FromManaged-Methode aufweist, die eine vom Aufrufer zugewiesene "Span<{1}>" akzeptiert - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - Das generierte \"DllImportAttribute\" weist keinen Wert auf, der \"{0}\" entspricht. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - „{0}“ hat keine Entsprechung in „DllImportAttribute“ und wird nicht weitergeleitet. - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Die angegebenen LibraryImportAttribute-Argumente können nicht an \"DllImportAttribute\" weitergeleitet werden. - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - Quellgenerierte P/Invokes ignorieren alle Konfigurationen, die nicht unterstützt werden. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Die Konfiguration „{0}“ wird von quellengenerierten P/Invokes nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „DllImport“. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - Die angegebene Marshallingkonfiguration wird von quellgenerierten P/Invokes nicht unterstützt. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Die angegebene Konfiguration „{0}“ für den Parameter „{1}“ wird von quellengenerierten P/Invokes nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „DllImport“. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Die angegebene Konfiguration „{0}“ für den Rückgabewert der Methode „{1}“ wird von quellengenerierten P/Invokes nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „DllImport“. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - Der angegebene Wert „{0}“ für „{1}“ wird von quellengenerierten P/Invokes nicht unterstützt. Wenn der angegebene Wert erforderlich ist, verwenden Sie stattdessen einen regulären „DllImport“. - - - - Specified configuration is not supported by source-generated P/Invokes. - Die angegebene Konfiguration wird von quellgenerierten P/Invokes nicht unterstützt. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - Das automatische Konvertieren eines P/Invoke mit \"PreserveSig\" auf \"false\" in einen vom Quellcode generierten P/Invoke erzeugt möglicherweise ungültigen Code. - - - - Convert to 'LibraryImport' - In \"LibraryImport\" konvertieren - - - - Convert to 'LibraryImport' and enable unsafe code - Konvertieren Sie in „LibraryImport“, und aktivieren Sie unsicheren Code. - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Verwenden Sie \"LibraryImportAttribute\" anstelle von \"DllImportAttribute\", um P/Invoke-Marshallingcode zur Kompilierzeit zu generieren. - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - Zum Konvertieren dieser API in „LibraryImport“ ist zusätzlicher Code erforderlich, um benutzerdefinierte Marshaller für einige Parameter bereitzustellen. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Markieren Sie die Methode \"{0}\" mit \"LibraryImportAttribute\" anstelle von \"DllImportAttribute\", um zur Kompilierzeit P/Invoke-Marshallingcode zu generieren. - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Verwenden Sie \"LibraryImportAttribute\" anstelle von \"DllImportAttribute\", um P/Invoke-Marshallingcode zur Kompilierzeit zu generieren. - - - - Convert to 'LibraryImport' with '{0}' suffix - In \"LibraryImport\" mit Suffix \"{0}\" konvertieren - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Konvertieren Sie in „LibraryImport“ mit dem Suffix „{0}“, und aktivieren Sie unsicheren Code. - - - - Marshaller type does not have the required shape - Der Marshaller-Typ weist nicht die erforderliche Form auf - - - - A marshaller for an element scenario cannot be stateful. - Ein Marshaller für ein Elementszenario kann nicht statusbehaftet sein. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - Der angegebene Marshallertyp „{0}“ ist ein statusbehafteter Marshaller, aber statusbehaftete Marshaller sind im angegebenen Marshallenmodus „{1}“ nicht zulässig. - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - Der Elementtyp des von der ersten Methode zurückgegebenen Bereichs muss vom gleichen Typ sein wie der Elementtyp des Bereichs, der von der zweiten Methode zurückgegeben wird. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - Der Elementtyp des von „{0}“ zurückgegebenen Bereichs muss vom gleichen Typ sein wie der Elementtyp des Bereichs, der von „{1}“ zurückgegeben wird. - - - - An entry-point type for marshalling a given type must not be 'null'. - Ein Einstiegspunkttyp zum Marshallen eines angegebenen Typs darf nicht "NULL" sein. - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - Der Marshallertyp des Einstiegspunkts für den Typ "{0}" darf nicht "NULL" sein - - - - The first parameter of the first method must be the same type as the return types of the second method. - Der erste Parameter der ersten Methode muss den gleichen Typ wie die Rückgabetypen der zweiten Methode aufweisen. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - Der erste Parameter von „{0}“ muss den gleichen Typ aufweisen wie der Rückgabetyp von „{1}“ - - - - The first parameters of the two methods must be the same type. - Die ersten Parameter der beiden Methoden müssen vom gleichen Typ sein. - - - - The first parameter of '{0}' and '{1}' must be the same type - Die ersten Parameter von „{0}“ und von „{1}“ müssen vom gleichen Typ sein - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - Das Überladen der Methode "FromUnmanaged" ist nicht zulässig, weil einige Formen nicht zwischen Überladungen unterscheiden können. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - Der Typ „{0}“ überlädt die „FromUnmanaged“-Methode, die in benutzerdefinierten Marshallern nicht unterstützt wird. - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - Der Rückgabetyp von \"GetPinnableReference\" (nach Berücksichtigung von \"ref\") muss geeignet für Blitting sein. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - Der dereferenzierte Typ des Rückgabetyps der GetPinnableReference-Methode muss geeignet für Blitting sein. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Die Methode \"{0}\" ist in einem Typ \"{1}\" enthalten, der nicht als \"partiell\" gekennzeichnet ist. Die P/Invoke-Quellgenerierung ignoriert die Methode \"{0}\". - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Methoden, die mit \"LibraryImportAttribute\" gekennzeichnet sind, sollten \"statisch\", \"partiell\" und nicht generisch sein. Die P/Invoke-Quellgenerierung ignoriert Methoden, die nicht \"statisch\", nicht \"partiell\" oder generisch sind. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Die Methode \"{0}\" muss \"statisch\", \"partiell\" und nicht generisch sein, wenn sie mit \"LibraryImportAttribute\" markiert ist. Die P/Invoke-Quellgenerierung ignoriert die Methode \"{0}\". - - - - Invalid 'CustomMarshallerAttribute' usage - Ungültige Verwendung von „CustomMarshallerAttribute“ - - - - Invalid 'LibraryImportAttribute' usage - Ungültige Verwendung von \"LibraryImportAttribute\" - - - - Specified managed type is invalid - Der angegebene verwaltete Typ ist ungültig. - - - - Invalid 'MarshalMode' value. - Ungültiger Wert für "MarshalMode" - - - - Specified marshaller type is invalid - Der angegebene Marshallertyp ist ungültig. - - - - Invalid 'NativeMarshallingAttribute' usage - Ungültige Verwendung von „NativeMarshallingAttribute“ - - - - Marshaller type has incompatible method signatures - Der Marshaller-Typ weist inkompatible Methodensignaturen auf - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Die Konfiguration von \"StringMarshalling\" und \"StringMarshallingCustomType\" ist ungültig. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Die Konfiguration von \"StringMarshalling\" und \"StringMarshallingCustomType\" für die Methode \"{0}\" ist ungültig. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - \"StringMarshallingCustomType\" muss angegeben werden, wenn \"StringMarshalling\" auf \"StringMarshalling.Custom\" festgelegt ist. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - \"StringMarshalling\" muss auf \"StringMarshalling.Custom\" festgelegt werden, wenn \"StringMarshallingCustomType\" angegeben ist. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - Der von \"GetManagedValuesSource\" zurückgegebene Elementtyp \"ReadOnlySpan\" muss mit dem Elementtyp identisch sein, der von \"GetManagedValuesDestination\" zurückgegeben wird. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - Der von \"GetManagedValuesSource\" zurückgegebene Elementtyp \"ReadOnlySpan\" muss mit dem Elementtyp identisch sein, der von \"GetManagedValuesDestination\" zurückgegeben wird. - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Ein nativer Typ vom Typ \"LinearCollection\", der das Feature \"CallerAllocatedBuffer\" unterstützt, muss einen Konstruktor mit drei Parametern bereitstellen, der den verwalteten Typ als ersten Parameter verwendet, einen \"Span<byte>\" als zweiten Parameter und die native Größe des Elements als dritten Parameter. - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - Der Typ \"{0}\" gibt an, dass er das Marshalling \"In\" mit der Funktion \"CallerAllocatedBuffer\" für \"{1}\" unterstützt, aber keinen Konstruktor mit drei Parametern bereitstellt, der einen \"{1}\", einen \"Span<byte>\" und einen \"int\" akzeptiert. - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Ein zusammenhängender Sammlungsmarshaller, der das Marshallen von verwaltet zu nicht verwaltet unterstützt, muss eine „GetManagedValuesSource“ bereitstellen, die ein „ReadOnlySpan<>“ und eine „GetUnmanagedValuesDestination“-Methode zurückgibt, die ein „Span<>“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ unterstützt wird. Er stellt jedoch keine „GetManagedValuesSource“ bereit, die ein „ReadOnlySpan<>“ und eine „GetUnmanagedValuesDestination“-Methode zurückgibt, die ein „Span<>“ zurückgibt. - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Ein zusammenhängender Sammlungsmarshaller, der das Marshallen von nicht verwaltet zu verwaltet unterstützt, muss ein „GetManagedValuesDestination“ bereitstellen, das ein „int“ akzeptiert und ein „Span<>“ und eine „GetUnmanagedValuesSource“-Methode zurückgibt, die ein „ReadOnlySpan<>“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ unterstützt wird. Er stellt jedoch kein „GetManagedValuesDestination“ bereit, das ein „int“ akzeptiert und ein „Span<>“ und eine „GetUnmanagedValuesSource“-Methode zurückgibt, die ein „int“ und ein „ReadOnlySpan<>“ akzeptiert. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - Der Marshallertyp muss ein geschlossener generischer Typ sein oder dieselbe Anzahl generischer Parameter wie der verwaltete Typ aufweisen, damit der Generator bestimmen kann, welche Methoden für die spezifischen Marshallertypen verfügbar sind. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Der verwalteten Typ "{0}" für den Einstiegspunkt-Marshallertyp "{1}" muss ein geschlossener generischer Typ sein, dieselbe Stelligkeit wie der verwaltete Typ aufweisen, wenn es sich um einen Wertmarshaller handelt, oder einen zusätzlichen generischen Parameter aufweisen, wenn es sich um einen Auflistungsmarshaller handelt. - - - - The managed type for a custom marshaller must be non-null. - Der verwaltete Typ für einen benutzerdefinierten Marshaller darf nicht NULL sein. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - Der verwaltete Typ für den Einstiegspunkt-Marshallertyp "{0}" darf nicht "NULL" sein - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Die angegebene Konfiguration „MarshalAsAttribute“ für den Parameter „{1}“ wird von quellengenerierten P/Invokes nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „DllImport“. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Die angegebene Konfiguration „MarshalAsAttribute“ für den Rückgabewert der Methode „{1}“ wird von quellengenerierten P/Invokes nicht unterstützt. Wenn die angegebene Konfiguration erforderlich ist, verwenden Sie stattdessen einen regulären „DllImport“. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - Das "marshalMode"-Argument von "CustomMarshallerAttribute" muss ein gültiger Enumerationswert von "MarshalMode" sein. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Der Marshaller-Typ muss ein geschlossener generischer Typ sein oder dieselbe Anzahl generischer Parameter wie der verwaltete Typ aufweisen, damit der ausgegebene Code eine bestimmte Instanziierung verwenden kann. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - Der Marshallertyp "{0}", auf den der Einstiegspunkt-Marshallertyp "{1}" zeigt, muss ein geschlossener generischer Typ sein oder dieselbe Stelligkeit wie der verwaltete Typ aufweisen - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - Der Parameter "marshallerType" im "System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute" kann nicht "NULL" sein. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - Der Parameter "marshallerType" im "System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute" kann nicht "NULL" sein - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Ein Marshallertyp muss entweder eine zustandslose statische Klasse oder ein zustandsbehafteter Werttyp sein. Eine nicht statische Klasse ist nicht zulässig. - - - - The type '{0}' must be a static class or a value type - Der Typ „{0}“ muss eine statische Klasse oder ein Werttyp sein - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Ein Typ mit einem "System.Runtime.InteropServices.CustomMarshallerAttribute" muss einen verwalteten Typ, der nicht "NULL" ist, angeben - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - Der Typ "{0}" gibt keinen verwalteten Typ im "System.Runtime.InteropServices.CustomMarshallerAttribute" an, der auf den Typ angewendet wird - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Der Marshaller-Typ muss ein geschlossener generischer Typ sein oder dieselbe Anzahl generischer Parameter wie der verwaltete Typ aufweisen, damit der ausgegebene Code eine bestimmte Instanziierung verwenden kann. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Der Marshallertyp '{0}' für den verwalteten Typ '{1}' muss ein geschlossener generischer Typ sein, dieselbe Stelligkeit wie der verwaltete Typ aufweisen, wenn es sich um einen Wertmarshaller handelt, oder einen zusätzlichen generischen Parameter aufweisen, wenn es sich um einen Auflistungsmarshaller handelt. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute erfordert unsicheren Code. Das Projekt muss mit "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>" aktualisiert werden. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute erfordert unsicheren Code. Das Projekt muss mit "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>" aktualisiert werden. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute erfordert unsicheren Code. - - - - The return type the two method must be the expected type. - Der Rückgabetyp, den die beiden Methoden aufweisen müssen, muss der erwartete Typ sein. - - - - The return type of '{0}' must be '{1}' - Der Rückgabetyp von „{0}“ muss „{1}“ sein - - - - The return types of the two methods must be the same type. - Die Rückgabetypen der beiden Methoden müssen vom gleichen Typ sein. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - Der Rückgabetyp von „{0}“ muss den gleichen Typ aufweisen wie der Rückgabetyp von „{1}“ - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Ein statusbehafteter Marshaller muss eine Instanzmethode mit dem Namen „Free“ mit null Parametern haben, die „nichtig“ zurückgibt. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - Der Typ „{0}“ ist ein statusbehafteter Marshaller und verfügt nicht über eine Instanzmethode mit null Parametern mit dem Namen „Free“, die „nichtig“ zurückgibt. - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Ein statusbehafteter Marshaller, der das Marshallen von verwaltet zu nicht verwaltet unterstützt, muss eine „FromManaged“-Instanzmethode bereitstellen, die den verwalteten Wert als Parameter akzeptiert und „nichtig“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - Der Typ „{0}“ gibt an, dass er den Marshallenmodus „{1}“ für „{2}“ unterstützt, er stellt jedoch keine Instanzmethode mit einem Parameter namens „FromManaged“ bereit, die eine „{2}“ als Parameter akzeptiert und „nichtig“ zurückgibt. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Ein statusbehafteter Marshaller, der das Marshallen von nicht verwaltet zu verwaltet unterstützt, muss eine „FromUnmanaged“-Instanzmethode bereitstellen, die den nicht verwalteten Wert als Parameter akzeptiert und „nichtig“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - Der Typ „{0}“ gibt an, dass er den Marshallenmodus „{1}“ für „{2}“ unterstützt, er stellt jedoch keine Instanzmethode mit einem Parameter namens „FromUnmanaged“ bereit, die den Wert „nicht verwaltet“ als Parameter akzeptiert und „nichtig“ zurückgibt. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Ein statusbehafteter Marshaller, der das Marshallen von nicht verwaltet zu verwaltet unterstützt, muss eine „ToManaged“-Instanzmethode bereitstellen, die keine Parameter akzeptiert und den verwalteten Typ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - Der Typ „{0}“ gibt an, dass er den Marshallenmodus „{1}“ für „{2}“ unterstützt,, aber er stellt keine Instanzmethode mit null Parametern namens „ToManaged“ bereit, die „{2}“ zurückgibt. - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Ein statusbehafteter Marshaller, der das Marshallen von verwaltet zu nicht verwaltet unterstützt, muss eine „ToUnmanaged“-Instanzmethode bereitstellen, die keine Parameter akzeptiert und den Typ „nicht verwaltet“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - Der Typ „{0}“ gibt an, dass er den Marshallenmodus „{1}“ für „{2}“ unterstützt, er stellt jedoch keine Instanzmethode mit null Parametern namens „ToUnmanaged“ bereit, die den Typ „nicht verwaltet“ für den Marshaller zurückgibt. - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Wenn die Form „Verwaltet bis nicht verwaltet mit vom Anrufer zugewiesenem Puffer“ verwendet wird, indem eine „AllocateContainerForUnmanagedElements“-Methode bereitgestellt wird, die ein „Span<T>“ für den Marshallertyp akzeptiert, muss der Typ eine statische Eigenschaft „BufferSize“ bereitstellen, um die Anzahl von Elementen im vom Aufrufer zugewiesenen Puffer anzugeben. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - Der Marshallertyp „{0}“ muss eine statische schreibgeschützte „int“-Eigenschaft „BufferSize“ aufweisen, um die Größe des vom Aufrufer zugewiesenen Puffers anzugeben, da er eine „AllocateContainerForUnmanagedElements-Methode aufweist, die ein vom Aufrufer zugewiesenes „Span<{1}>“ akzeptiert - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Ein zusammenhängender Sammlungsmarshaller, der das Marshallen von verwaltet zu nicht verwaltet unterstützt, muss eine „GetManagedValuesSource“ bereitstellen, die den verwalteten Wert als Parameter akzeptiert und ein „ReadOnlySpan<>“ und eine „GetUnmanagedValuesDestination“-Methode zurückgibt, die einen nicht verwaltet Wert als Parameter akzeptiert und ein „Span<>“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ unterstützt wird. Er stellt jedoch keine „GetManagedValuesSource“ bereit, die ein „{2}“ als Parameter akzeptiert und ein „ReadOnlySpan<>“ und eine „GetUnmanagedValuesDestination“-Methode zurückgibt, die den nicht verwalteteten Wert als Parameter akzeptiert und ein „Span<>“ akzeptiert - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Ein zusammenhängender Sammlungsmarshaller, der das Marshallen von nicht verwaltet zu verwaltet unterstützt, muss ein „GetManagedValuesDestination“ bereitstellen, das den verwalteten Wert akzeptiert und ein „Span<>“ und eine „GetUnmanagedValuesSource“-Methode zurückgibt, die ein „ReadOnlySpan<>“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ unterstützt wird. Er stellt jedoch kein „GetManagedValuesDestination“ bereit, das ein „{2}“ akzeptiert und ein „Span<>“ und eine „GetUnmanagedValuesSource“-Methode zurückgibt, die den nicht verwalteten Wert und ein „int“ akzeptiert und und ein „ReadOnlySpan<>“ zurückgibt - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Ein zustandsloser zusammenhängender Sammlungsmarshaller, der das Marshallen von verwaltet zu nicht verwaltet unterstützt, muss eine „AllocateContainerForManagedElements“-Methode bereitstellen, die den nicht verwalteten Typ als ersten Parameter und die Anzahl der Elemente als „int“-Parameter akzeptiert - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ für „{2}“ unterstützt wird. Er stellt jedoch keine „AllocateContainerForManagedElements“-Methode mit zwei Parametern bereit, die den nicht verwalteten Typ als ersten Parameter und ein „int“ als zweiten Parameter akzeptiert - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Ein zustandsloser zusammenhängender Sammlungsmarshaller, der das Marshallen von verwaltet zu nicht verwaltet unterstützt, muss eine „AllocateContainerForUnmanagedElements“-Methode bereitstellen, die den verwalteten Typ als ersten Parameter akzeptiert und die Anzahl der Elemente als „out int“-Parameter bereitstellt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ für „{2}“ unterstützt wird. Er stellt jedoch keine „AllocateContainerForUnmanagedElements“-Methode mit zwei Parametern bereit, die ein „{2}“ als ersten Parameter und ein „out int“ als zweiten Parameter akzeptiert - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Ein zustandsloser Wertmarshaller, der das Marshallen von nicht verwaltet zu verwaltet unterstützt, muss eine „ConvertToManaged“-Methode bereitstellen, die den nicht verwalteten Wert als Parameter akzeptiert und einen Wert vom Typ „verwaltet“ zurückgibt. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ unterstützt wird. Er stellt aber keine „ConvertToManaged“-Methode bereit, die den nicht verwalteten Typ als Parameter akzeptiert und „{2}“ zurückgibt - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Ein zustandsloser Wertmarshaller, der das Marshallen von verwaltet zu nicht verwaltet unterstützt, muss eine „ConvertToUnmanaged“-Methode mit einem Parameter bereitstellen, die den verwalteten Wert als Parameter akzeptiert und einen Wert vom Typ „nicht verwaltet“ zurückgibt. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - Der Typ „{0}“ gibt an, dass der Marshalling-Modus „{1}“ für „{2}“ unterstützt wird. Er stellt aber keine „ConvertToUnmanaged“-Methode mit einem Parameter bereit, die einen „{2}“ als Parameter akzeptiert und einen Wert als „nicht verwalteten“ Typ zurückgibt - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - Der Rückgabetyp von "ConvertToUnmanaged" und der Parametertyp von "ConvertToUnmanaged" müssen identisch sein. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - Der Rückgabetyp von "ConvertToUnmanaged" und der Parametertyp von "ConvertToUnmanaged" müssen identisch sein - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - Der nicht verwaltete Typ für einen benutzerdefinierten Marshaller muss ein nicht verwalteter C#-Typ sein. - - - - The return type of '{0}' must be unmanaged - Der Rückgabetyp von „{0}“ darf nicht verwaltet sein - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - "void*" muss in den Typ umgewandelt werden können, damit das angeheftete Ergebnis der statischen Methode "GetPinnableReference" nach dem Anheften an den nativen Kontext übergeben werden kann. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - "void*" muss in den Typ "{0}" umgewandelt werden, da der verwaltete Typ "{1}" eine statische "GetPinnableReference"-Methode aufweist - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Ein nativer Typ für einen bestimmten Typ muss über das "System.Runtime.InteropServices.CustomTypeMarshallerAttribute" verfügen, das diesen Typ als verwalteten Typ angibt. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - Der Marshallertyp "{0}" des Eintrittspunkts für den Typ "{1}" muss ein Typ mit mindestens einem "System.Runtime.InteropServices.CustomMarshallerAttribute" sein, der diesen Typ als verwalteten Typ angibt - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Ein nativer Typ vom Typ \"Value\" oder \"LinearCollection\", der Marshalling in der Out-Richtung unterstützt, muss eine ToManaged-Methode bereitstellen, die den verwalteten Typ zurückgibt. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - Der Typ \"{0}\" gibt an, dass das Marshalling in der Out-Richtung unterstützt wird. Er stellt jedoch keine ToManaged-Methode bereit, die den verwalteten Typ zurückgibt. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - Der Rückgabetyp von "ToUnmanaged" und der Parametertyp von "FromUnmanaged" müssen identisch sein. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - Der Rückgabetyp von "ToUnmanaged" und der Parametertyp von "FromUnmanaged" müssen identisch sein - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - Bei Typen, die von dquellgenerierten P/Invokes nicht unterstützt werden, basiert der resultierende P/Invoke auf der zugrunde liegenden Laufzeit, um den angegebenen Typ zu marshallen. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - Der Typ \"{0}\" wird von vom Quellcode generierten P/Invokes nicht unterstützt. Die generierte Quelle verarbeitet das Marshalling des Parameters \"{1}\" nicht. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Die generierte Quelle verarbeitet das Marshalling des Parameters \"{1}\" nicht. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - Der Typ \"{0}\" wird von vom Quellcode generierten P/Invokes nicht unterstützt. Die generierte Quelle verarbeitet das Marshalling des Rückgabewerts der Methode \"{1}\" nicht. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Die generierte Quelle verarbeitet das Marshalling des Rückgabewerts der Methode \"{1}\" nicht. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - Der angegebene Typ wird von quellgenerierten P/Invokes nicht unterstützt. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Es wurden nicht benötigte Marshallinginformationen angegeben. Diese Marshallinginformationen können entfernt werden, ohne dass sich das Verhalten der Anwendung ändert. - - - - Unnecessary marshalling info was provided and can be removed. - Es wurden nicht benötigte Marshallinginformationen angegeben, die entfernt werden können. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Für den Parameter "{0}" wurden nicht benötigte Marshallinginformationen "{1}" angegeben. - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Für den Rückgabetyp der Methode "{0}" wurden nicht benötigte Marshallinginformationen "{1}" angegeben - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Ein nativer Typ „Value“, der das Feature „CallerAllocatedBuffer“ unterstützt, muss einen Konstruktor mit zwei Parametern bereitstellen, der den verwalteten Typ und „Span“ eines „Unmanaged“-Typs als Parameter verwendet. - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - Der Typ '{0}' gibt an, dass er 'In'-Marshalling mit der 'CallerAllocatedBuffer'-Funktion für '{1}' unterstützt, stellt aber keinen Konstruktor mit zwei Parametern bereit, der '{1}' und 'Span' eines 'nicht verwalteten' Typs als Parameter akzeptiert - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Ein nativer Typ vom Typ \"Value\" muss einen Konstruktor mit einem Parameter bereitstellen, der den verwalteten Typ als Parameter akzeptiert. - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - Der Typ \"{0}\" gibt an, dass er das In-Marshalling von \"{1}\" unterstützt, aber keinen Konstruktor mit einem Parameter bereitstellt, der \"{1}\" als Parameter akzeptiert. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.es.xlf deleted file mode 100644 index 6a220990a767d..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.es.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Agregue los miembros de serializador de tipo personalizado que faltan - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Cuando la forma "Administrado a no administrado con búfer asignado por el llamador" se usa con un método "FromManaged" que toma un "Span<T>" en el tipo de serializador, el tipo debe proporcionar una propiedad estática "BufferSize" para proporcionar el número de elementos en el búfer asignado por el llamador. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - El tipo de serializador "{0}" debe tener una propiedad "int" "BufferSize" estática de solo lectura para especificar el tamaño del búfer asignado por el autor de la llamada porque tiene un método FromManaged que toma una propiedad "Span<{1}>" asignada por el autor de la llamada. - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - El “DllImportAttribute” generado no tendrá un valor correspondiente a “{0}”. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - “{0}” no tiene equivalente en “DllImportAttribute” y no se reenviará - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Los argumentos “LibraryImportAttribute” especificados no se pueden reenviar a “DllImportAttribute” - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - Los P/Invoke de un generador de código fuente omitirán cualquier configuración que no esté admitida. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuración de "{0}" no está admitida por P/Invokes de un generador de código fuente. Si se requiere la configuración, use un "DllImport" normal en su lugar. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - La configuración de serialización especificada no está admitida por P/Invokes de un generador de código fuente. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuración de "{0}" especificada para el parámetro "{1}" no es compatible con P/Invokes de un generador de código fuente. Si se requiere la configuración especificada, use un "DllImport" normal en su lugar. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuración de "{0}" especificada para el valor devuelto del método "{1}" no es compatible con P/Invokes generados por origen. Si se requiere la configuración especificada, use un "DllImport" normal en su lugar. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - El valor especificado de "{0}" para "{1}" no es compatible con P/Invokes de un generador de código fuente. Si se requiere el valor especificado, use un "DllImport" normal en su lugar. - - - - Specified configuration is not supported by source-generated P/Invokes. - La configuración especificada no está admitida por P/Invokes de un generador de código fuente. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - Convertir automáticamente un P/Invoke con “PreserveSig” establecido en “false” en un P/Invoke de un generador de código fuente puede producir código no válido - - - - Convert to 'LibraryImport' - Convertir en “LibraryImport” - - - - Convert to 'LibraryImport' and enable unsafe code - Convertir a 'LibraryImport' y habilitar código no seguro - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Use “LibraryImportAttribute” en lugar de “DllImportAttribute” para generar código de serialización P/Invoke en el tiempo de compilación - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - La conversión de esta API a 'LibraryImport' requerirá código adicional para proporcionar serializadores personalizados para algunos parámetros. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Marque el método “{0}” con “LibraryImportAttribute” en lugar de “DllImportAttribute” para generar código de serialización P/Invoke en el tiempo de compilación - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Use “LibraryImportAttribute” en lugar de “DllImportAttribute” para generar código de serialización P/Invoke en el tiempo de compilación - - - - Convert to 'LibraryImport' with '{0}' suffix - Convertir a “LibraryImport” con sufijo “{0}” - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Convertir a 'LibraryImport' con el sufijo '{0}' y habilitar código no seguro - - - - Marshaller type does not have the required shape - El tipo de serializador no tiene la forma necesaria - - - - A marshaller for an element scenario cannot be stateful. - Un serializador para un escenario del elemento no puede tener estado. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - El tipo de serializador especificado '{0}' es un serializador con estado, pero no se permiten serializadores con estado en el modo de serialización proporcionado '{1}'. - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - El tipo de elemento del intervalo devuelto por el primer método debe ser del mismo tipo que el tipo de elemento del intervalo devuelto por el segundo método. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - El tipo de elemento del intervalo devuelto por "{0}" debe ser del mismo tipo que el tipo de elemento del intervalo devuelto por "{1}". - - - - An entry-point type for marshalling a given type must not be 'null'. - Un tipo de punto de entrada para serializar un tipo determinado no debe ser "null". - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - El tipo de serializador de punto de entrada para el tipo "{0}" no debe ser "null" - - - - The first parameter of the first method must be the same type as the return types of the second method. - El primer parámetro del primer método debe ser del mismo tipo que los tipos devueltos del segundo método. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - El primer parámetro de "{0}" debe ser del mismo tipo que el tipo de valor devuelto de "{1}" - - - - The first parameters of the two methods must be the same type. - Los primeros parámetros de los dos métodos deben ser del mismo tipo. - - - - The first parameter of '{0}' and '{1}' must be the same type - El primer parámetro de "{0}" y "{1}" deben ser del mismo tipo - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - No se puede sobrecargar el método "FromUnmanaged" porque algunas formas no pueden distinguir entre sobrecargas. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - El tipo '{0}' sobrecarga el método 'FromUnmanaged', que no se admite en serializadores personalizados. - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - El tipo de valor devuelto de “GetPinnableReference” (tras pasar por “ref”) debe poder transferirse en bloques de bits. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - El tipo desreferenciado del tipo de valor devuelto del método “GetPinnableReference” debe poder transferirse en bloques de bits - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - El método “{0}” está contenido en un tipo “{1}” que no está marcado como “partial”. La generación de código fuente P/Invoke omitirá el método “{0}”. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Los métodos marcados con “LibraryImportAttribute” deben ser “static”, “partial” y no genéricos. La generación de código fuente P/Invoke omitirá los métodos que no sean “static”, “partial” ni genéricos. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - El método “{0}” debe ser “static”, “partial”, y no genérico cuando está marcado con “LibraryImportAttribute”. La generación del código fuente P/Invoke omitirá el método “{0}”. - - - - Invalid 'CustomMarshallerAttribute' usage - Uso de "CustomMarshallerAttribute" no válido - - - - Invalid 'LibraryImportAttribute' usage - Uso de “LibraryImportAttribute” no válido - - - - Specified managed type is invalid - El tipo administrado especificado no es válido - - - - Invalid 'MarshalMode' value. - Valor 'MarshalMode' no válido. - - - - Specified marshaller type is invalid - El tipo de serializador especificado no es válido - - - - Invalid 'NativeMarshallingAttribute' usage - Uso de "NativeMarshallingAttribute" no válido - - - - Marshaller type has incompatible method signatures - El tipo de serializador tiene firmas de método incompatibles - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - La configuración de “StringMarshalling” y “StringMarshallingCustomType” no es válida. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - La configuración de “StringMarshalling” y “StringMarshallingCustomType” en el método “{0}” no es válida. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - Se debe especificar “StringMarshallingCustomType” cuando “StringMarshalling” esté establecido en “StringMarshalling.Custom”. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - “StringMarshalling” debe establecerse en “StringMarshalling.Custom” cuando “StringMarshallingCustomType” esté especificado. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - El tipo de elemento del “ReadOnlySpan” devuelto por “GetManagedValuesSource” debe ser el mismo que el tipo de elemento devuelto por “GetManagedValuesDestination”. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - El tipo de elemento de “ReadOnlySpan” devuelto por “GetManagedValuesSource” debe ser el mismo que el tipo de elemento devuelto por “GetManagedValuesDestination” - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Un tipo nativo de variante “LinearCollection” que admita la característica “CallerAllocatedBuffer” debe proporcionar un constructor de tres parámetros que tome el tipo administrado como primer parámetro, un “Span<byte>” como segundo parámetro y el tamaño nativo del elemento como tercer parámetro - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - El tipo “{0}” especifica que admite serializar “In” con la característica “CallerAllocatedBuffer” para “{1}” pero no provee un constructor de tres parámetros que incluya un “{1}”, un “Span<byte>”, y un “int” - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Un serializador de colección contigua que admita la serialización de administrado a no administrado debe proporcionar un "GetManagedValuesSource" que devuelva un valor de "ReadOnlySpan<>" y un método "GetUnmanagedValuesDestination" que devuelva un valor de "Span<>". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - El tipo "{0}" especifica que admite el modo de serialización "{1}", pero no proporciona un "GetManagedValuesSource" que devuelva un "ReadOnlySpan<>" y un método "GetNativeValuesDestination" que devuelva un "Span<>" - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Un serializador de colección contigua que admita serializaciones de no administrado a administrado debe proporcionar un método 'GetManagedValuesDestination' que tome "int" y devuelva un "Span<>" y un método "GetUnmanagedValuesSource" que tome "int" y devuelva "ReadOnlySpan<>". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - El tipo "{0}" especifica que admite el modo de serialización "{1}", pero no proporciona un "GetManagedValuesDestination" que tome un "int" y devuelva un "Span<>" y un método "GetUnmanagedValuesSource" que tome un "int" y devuelva un "ReadOnlySpan<>" - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - El tipo de serializador debe ser un genérico cerrado o tener el mismo número de parámetros genéricos que el tipo administrado para que el generador pueda determinar qué métodos están disponibles en los tipos de serializador específicos. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - El tipo administrado "{0}" para el tipo de serializador de punto de entrada "{1}" debe ser un tipo genérico cerrado, tener la misma aridad que el tipo administrado si es un serializador de valores o tener un parámetro genérico adicional si es un serializador de colección. - - - - The managed type for a custom marshaller must be non-null. - El tipo administrado de un serializador personalizado no debe ser nulo. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - El tipo administrado para el tipo de serializador de punto de entrada "{0}" no debe ser "null" - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuración "MarshalAsAttribute" para el parámetro "{1}" no se admite en P/Invokes generado por código fuente. Si se requiere la configuración especificada, use un "DllImport" normal en su lugar. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuración "MarshalAsAttribute" para el valor devuelto del método "{1}" no se admite en P/Invokes generado por código fuente. Si se requiere la configuración especificada, use un "DllImport" normal en su lugar. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - El argumento 'marshalMode' de 'CustomMarshallerAttribute' debe ser un valor de enumeración válido de 'MarshalMode'. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - El tipo serializador debe ser un genérico cerrado o tener el mismo número de parámetros genéricos que el tipo administrado para que el código emitido pueda usar una creación de instancia específica. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - El tipo de serializador "{0}" al que apunta el tipo de serializador de punto de entrada "{1}" debe ser un tipo genérico cerrado o tener la misma aridad que el tipo administrado - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - El parámetro "marshallerType" de "System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute" no puede ser "null". - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - El parámetro "marshallerType" de "System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute" no puede ser "null" - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Un tipo de serializador debe ser una clase estática sin estado o un tipo de valor con estado. No se permite una clase no estática. - - - - The type '{0}' must be a static class or a value type - El tipo "{0}" debe ser una clase estática o un tipo de valor - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Un tipo con un "System.Runtime.InteropServices.CustomMarshallerAttribute" debe especificar un tipo administrado no nulo - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - El tipo "{0}" no especifica un tipo administrado en el "System.Runtime.InteropServices.CustomMarshallerAttribute" aplicado al tipo - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - El tipo serializador debe ser un genérico cerrado o tener el mismo número de parámetros genéricos que el tipo administrado para que el código emitido pueda usar una creación de instancia específica. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - El tipo de serializador "{0}" para el tipo administrado "{1}" debe ser un tipo genérico cerrado, tener la misma aridad que el tipo administrado si es un serializador de valores o tener un parámetro genérico adicional si es un serializador de colección. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requiere código no seguro. El proyecto debe actualizarse con '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requiere código no seguro. El proyecto debe actualizarse con '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requiere código no seguro. - - - - The return type the two method must be the expected type. - El tipo de valor devuelto por el que ambos métodos deben ser del tipo esperado. - - - - The return type of '{0}' must be '{1}' - El tipo de valor devuelto de "{0}" debe ser "{1}" - - - - The return types of the two methods must be the same type. - Los tipos devueltos de los dos métodos deben ser del mismo tipo. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - El tipo de valor devuelto de "{0}" debe ser del mismo tipo que el tipo de valor devuelto de "{1}" - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Un serializador con estado debe tener un método de instancia de devolución void de parámetro cero denominado 'Free'. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - El tipo '{0}' es un serializador con estado y no tiene ningún método de instancia de devolución void de parámetro cero denominado 'Free'. - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Un serializador con estado que admita la serialización de administrado a no administrado debe proporcionar un método de instancia 'FromManaged' que tome el valor administrado como parámetro y devuelva 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - El tipo '{0}' especifica que admite el modo de serialización '{1}' para '{2}', pero no proporciona ningún método de instancia de un parámetro denominado 'FromManaged' que tome '{2}' como parámetro y lo devuelva 'void'. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Un serializador con estado que admita la serialización de no administrado a administrado debe proporcionar un método de instancia 'FromUnmanaged' que tome el valor no administrado como parámetro y devuelva 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - El tipo '{0}' especifica que admite el modo de serialización '{1}' para '{2}', pero no proporciona ningún método de instancia de un parámetro denominado 'FromUnmanaged' que tome el valor 'unmanaged' como parámetro y devuelva 'void'. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Un serializador con estado que admita la serialización de no administrado a administrado debe proporcionar un método de instancia 'ToManaged' que no tome ningún parámetro y devuelva el tipo administrado. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - El tipo '{0}' especifica que admite el modo de serialización '{1}' para '{2}', pero no proporciona un método de instancia de parámetro cero denominado 'ToManaged' que devuelva '{2}'. - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Un serializador con estado que admita la serialización de administrado a no administrado debe proporcionar un método de instancia 'ToUnmanaged' que no tome ningún parámetro y devuelva el tipo 'unmanaged'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - El tipo '{0}' especifica que admite el modo de serialización '{1}' para '{2}', pero no proporciona ningún método de instancia de parámetro cero denominado 'ToUnmanaged' que devuelva el tipo 'unmanaged' para el serializador. - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Cuando la forma "Administrado a no administrado con búfer asignado por el llamador" se usa con un método "AllocateContainerForUnmanagedElements" que toma un "Span<T>" en el tipo de serializador, el tipo debe proporcionar una propiedad estática "BufferSize" para proporcionar el número de elementos en el búfer asignado por el llamador. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - El tipo de serializador "{0}" debe tener una propiedad "int" "BufferSize" estática de solo lectura para especificar el tamaño del búfer asignado por el autor de la llamada porque tiene un método "AllocateContainerForUnmanagedElements" que toma una propiedad "Span<{1}>" - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Un serializador de colección contigua que admita serializaciones de administrado a administrado debe proporcionar un método "GetManagedValuesSource" que tome el valor administrado y devuelva un "'ReadOnlySpan<>" y un método "GetUnmanagedValuesDestination" que tome el valor no administrado como perámetro y devuelva "Span<>" - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - El tipo "{0}" especifica que admite el modo de serialización "{1}", pero no proporciona un "GetManagedValuesSource" que tome como parámetro un "{2}" y devuelva un "ReadOnlySpan<>" y un método "GetUnmanagedValuesDestination" que tome como parámetro un valor no administrado y devuelva un "Span<>" - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Un serializador de colección contigua que admita serializaciones de no administrado a administrado debe proporcionar un método "GetManagedValuesDestination" que tome el valor administrado y devuelva un "Span<>" y un método "GetUnmanagedValuesSource" que tome el valor no administrado y "int" y devuelva "ReadOnlySpan<>". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - El tipo "{0}" especifica que admite el modo de serialización "{1}", pero no proporciona un "GetManagedValuesDestination" que tome un "{2}" y devuelva un "Span<>" y un método "GetUnmanagedValuesSource" que tome el valor no administrado y un "int" y devuelva un "ReadOnlySpan<>" - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Un serializador de colección contigua sin estado que admita serializaciones de administrado a no administrado debe proporcionar un método "AllocateContainerForManagedElements" que tome el tipo no administrado como primer parámetro y el número de elementos como parámetro "int" - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - El tipo "{0}" especifica que admite el modo de serialización "{1}" para "{2}", pero no proporciona un método "AllocateContainerForUnmanagedElements" de dos parámetros que toma el tipo no administrado como primer parámetro y "int" como segundo parámetro - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Un serializador de colección contigua sin estado que admita serializaciones de administrado a no administrado debe proporcionar un método "AllocateContainerForManagedElements" que tome el tipo administrado como primer parámetro y que proporcione el número de elementos como parámetro "out int" - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - El tipo "{0}" especifica que admite el modo de serialización "{1}" para "{2}", pero no proporciona un método "AllocateContainerForUnmanagedElements" de dos parámetros que toma "{2}" como primer parámetro y "out int" como segundo parámetro - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Un serializador de valores sin estado que admita la serialización de no administrado a administrado debe proporcionar un método "ConvertToManaged" que tome el tipo no administrado como parámetro y devuelva el tipo administrado. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - El tipo "{0}" especifica que admite el modo de serialización "{1}", pero no proporciona un método "ConvertToManaged" que toma el tipo no administrado como parámetro y devuelve "{2}" - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Un serializador de valores sin estado que admita la serialización de administrado a no administrado debe proporcionar un método "ConvertToUnmanaged" de un parámetro que tome el valor administrado como parámetro y devuelva un valor del tipo "no administrado". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - El tipo "{0}" especifica que admite el modo de serialización "{1}" para "{2}" pero no proporciona un método "ConvertToUnmanaged" de un solo parámetro que toma un "{2}" como parámetro y devuelve un valor de un tipo "no administrado". - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - El tipo de valor devuelto de "ConvertToUnmanaged" y el tipo de parámetro de "ConvertToManaged" deben coincidir. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - El tipo de valor devuelto de "ConvertToUnmanaged" y el tipo de parámetro de "ConvertToManaged" deben coincidir - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - El tipo no administrado de un serializador personalizado debe ser un tipo no administrado de C#. - - - - The return type of '{0}' must be unmanaged - El tipo de valor devuelto de "{0}" debe ser no administrado - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - "void*" debe poder convertirse al tipo para que el resultado anclado del método "GetPinnableReference" estático se pueda pasar al contexto nativo después de anclarse. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - "void*" debe poder convertirse al tipo "{0}" porque el tipo administrado "{1}" tiene un método "GetPinnableReference" estático - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Un tipo de punto de entrada para serializar un tipo determinado debe tener un "System.Runtime.InteropServices.CustomMarshallerAttribute" que especifique este tipo como el tipo administrado. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - El tipo de serializador de punto de entrada "{0}" para el tipo "{1}" debe ser un tipo con al menos un "System.Runtime.InteropServices.CustomMarshallerAttribute" que especifique este tipo como el tipo administrado - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Un tipo nativo de variante “Value” o “LinearCollection” que admita serialización en la dirección “Out” debe proporcionar un método “ToManaged” que devuelva el tipo administrado. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - El tipo “{0}” especifica que admite la serialización en la dirección “Out”, pero no proporciona un método “ToManaged” que devuelva el tipo administrado - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - El tipo de valor devuelto de "ToUnmanaged" y el tipo de parámetro de "FromUnmanaged" deben coincidir. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - El tipo de valor devuelto de "ToUnmanaged" y el tipo de parámetro de "FromUnmanaged" deben ser el mismo - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - Para los tipos que no son compatibles con P/Invokes de un generador de código fuente, el P/Invoke resultante se basará en el entorno de ejecución subyacente para serializar las referencias del tipo especificado. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - El tipo “{0}” no es compatible con P/Invokes de un generador de código fuente. El código fuente generado no controlará la serialización del parámetro “{1}”. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} El origen generado no controlará la serialización del parámetro “{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - El tipo “{0}” no es compatible con P/Invokes de un generador de código fuente. El código fuente generado no controlará la serialización del valor devuelto del método “{1}”. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} El código fuente generado no controlará la serialización del valor devuelto del método “{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - El tipo especificado no está admitido por P/Invokes de un generador de código fuente - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Un tipo nativo de tipo \"Value\" que admita la característica \"CallerAllocatedBuffer\" debe proporcionar un constructor de dos parámetros que tome el tipo administrado y un \"Span\" de un tipo \"no administrado\" como parámetros - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - El tipo “{0}” especifica que admite serializar “In” con la característica “CallerAllocatedBuffer” para “{1}” pero no provee un constructor de dos parámetro que tome un “{1}” y un “Span” de un tipo “no administrado” como parámetros - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Un tipo nativo de variante “Value” debe proporcionar un constructor de un solo parámetro tomando el tipo administrado como parámetro - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - El tipo “{0}” especifica que admite la serialización “In” de “{1}” pero no proporciona un constructor de un solo parámetro que tome un “{1}” como parámetro - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.fr.xlf deleted file mode 100644 index 6fd0235a24952..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.fr.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Ajouter les membres du marshaleur de type personnalisé manquants - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Lorsque la forme « Managée à non managée avec mémoire tampon allouée par l’appelant » est utilisée en fournissant une méthode « FromManaged » qui prend un « Span<T> » sur le type marshaler, le type doit fournir une propriété « BufferSize » statique pour fournir le nombre d’éléments dans la mémoire tampon allouée par l’appelant. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - Le type de marshaleur « {0} » doit avoir une propriété « BufferSize » en lecture seule « int » statique pour spécifier la taille de la mémoire tampon allouée par l’appelant, car elle a une méthode FromManaged qui accepte un « Span<{1}> » alloué par l’appelant - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - Le « DllImportAttribute » généré n’aura pas de valeur correspondant à « {0} ». - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - '{0}' n’a pas d’équivalent dans 'DllImportAttribute' et ne sera pas transféré. - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Les arguments « LibraryImportAttribute » spécifiés ne peuvent pas être transférés à « DllImportAttribute » - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - Les P/Invokes générés par la source ignorent toute configuration qui n’est pas prise en charge. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuration '{0}' n’est pas prise en charge par les appels/P générés par la source. Si la configuration spécifiée est requise, utilisez plutôt un 'DllImport' standard. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - La configuration de marshaling spécifiée n’est pas prise en charge par les P/Invokes générés par la source. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuration '{0}' spécifiée pour le paramètre '{1}' n’est pas prise en charge par les P/Invokes générés par la source. Si la configuration spécifiée est requise, utilisez plutôt un 'DllImport' standard. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuration '{0}' spécifiée pour la valeur de retour de la méthode '{1}' n’est pas prise en charge par les P/Invokes générés par la source. Si la configuration spécifiée est requise, utilisez plutôt un 'DllImport' standard. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - La valeur spécifiée '{0}' pour '{1}' n’est pas prise en charge par les P/Invokes générés par la source. Si la valeur spécifiée est requise, utilisez un 'DllImport' standard à la place. - - - - Specified configuration is not supported by source-generated P/Invokes. - La configuration spécifiée n’est pas prise en charge par les P/Invokes générés par la source. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - La conversion automatique d’un P/Invoke avec « PreserveSig » défini sur « false » en P/Invoke généré par la source peut produire du code non valide - - - - Convert to 'LibraryImport' - Convertir en « LibraryImport » - - - - Convert to 'LibraryImport' and enable unsafe code - Convertir en 'LibraryImport' et activer le code non sécurisé - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Utilisez « LibraryImportAttribute » à la place de « DllImportAttribute » pour générer du code de marshaling P/Invoke au moment de la compilation - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - La conversion de cette API en 'LibraryImport' nécessite du code supplémentaire pour fournir des marshaleurs personnalisés pour certains paramètres. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Marquer la méthode « {0} » avec « LibraryImportAttribute » à la place de « DllImportAttribute » pour générer du code de marshaling P/Invoke au moment de la compilation - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Utilisez « LibraryImportAttribute » à la place de « DllImportAttribute » pour générer du code de marshaling P/Invoke au moment de la compilation - - - - Convert to 'LibraryImport' with '{0}' suffix - Convertir en « LibraryImport » avec suffixe « {0} » - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Convertir en 'LibraryImport' avec le suffixe '{0}' et activer le code non sécurisé - - - - Marshaller type does not have the required shape - Le type Marshaller n’a pas la forme requise - - - - A marshaller for an element scenario cannot be stateful. - Un marshaleur pour un scénario d’élément ne peut pas être avec état. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - Le type de marshaleur spécifié '{0}' est un marshaleur avec état, mais les marshaleurs avec état ne sont pas autorisés dans le mode marshal '{1}' fourni - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - Le type d’élément de l’étendue retournée par la première méthode doit être du même type que le type d’élément de l’étendue retournée par la deuxième méthode. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - Le type d’élément de l’étendue retournée par '{0}' doit être du même type que le type d’élément de l’étendue retournée par '{1}'. - - - - An entry-point type for marshalling a given type must not be 'null'. - Un type de point d’entrée pour le marshaling d’un type donné ne doit pas être « null ». - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - Le type de marshaleur de point d’entrée pour le type « {0} » ne doit pas être « null » - - - - The first parameter of the first method must be the same type as the return types of the second method. - Le premier paramètre de la première méthode doit être du même type que les types de retour de la deuxième méthode. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - Le premier paramètre de '{0}' doit être du même type que le type de retour de '{1}' - - - - The first parameters of the two methods must be the same type. - Les premiers paramètres des deux méthodes doivent être du même type. - - - - The first parameter of '{0}' and '{1}' must be the same type - Le premier paramètre de '{0}' et '{1}' doit être du même type - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - La surcharge de la méthode « FromUnmanaged » n’est pas prise en charge, car certaines formes ne peuvent pas faire la distinction entre les surcharges. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - Le type '{0}' surcharge la méthode 'FromUnmanaged', qui n’est pas prise en charge dans les marshaleurs personnalisés - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - Le type de retour de « GetPinnableReference » (après la gestion des comptes pour « ref ») doit être blittable. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - Le type déréférencé du type de retour de la méthode GetPinnableReference doit être blittable - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - La méthode « {0} » est contenue dans un type « {1} » qui n’est pas marqué comme étant « partial ». La génération source P/Invoke ignore la méthode « {0} ». - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Les méthodes marquées avec « LibraryImportAttribute » doivent être « static », « partial » et non génériques. La génération de source P/Invoke ignore les méthodes qui ne sont pas statiques, non partielles ou génériques. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - La méthode « {0} » doit être « static », « partial » et non générique quand elle est marquée avec « LibraryImportAttribute ». La génération source P/Invoke ignore la méthode « {0} ». - - - - Invalid 'CustomMarshallerAttribute' usage - Utilisation de 'CustomMarshallerAttribute' non valide - - - - Invalid 'LibraryImportAttribute' usage - Utilisation de « LibraryImportAttribute » non valide - - - - Specified managed type is invalid - Le type managé spécifié n’est pas valide - - - - Invalid 'MarshalMode' value. - Valeur 'MarshalMode' non valide. - - - - Specified marshaller type is invalid - Le type de marshaleur spécifié n’est pas valide - - - - Invalid 'NativeMarshallingAttribute' usage - Utilisation de 'NativeMarstribuingAttribute' non valide - - - - Marshaller type has incompatible method signatures - Le type Marshaller a des signatures de méthode incompatibles - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - La configuration de « StringMarshalling » et de « StringMarshallingCustomType » n’est pas valide. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - La configuration de « StringMarshalling » et de « StringMarshallingCustomType » n’est sur la méthode « {0} » pas valide. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - « StringMarshallingCustomType » doit être spécifié quand « StringMarshalling » a la valeur « StringMarshalling.Custom ». - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - « StringMarshalling » doit être défini sur « StringMarshalling.Custom » quand « StringMarshallingCustomType » est spécifié. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - Le type d’élément de « ReadOnlySpan » retourné par « GetManagedValuesSource » doit être identique au type d’élément retourné par « GetManagedValuesDestination ». - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - Le type d’élément de « ReadOnlySpan » retourné par « GetManagedValuesSource » doit être identique au type d’élément retourné par « GetManagedValuesDestination » - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Un type natif de type «LinearCollection» qui prend en charge la fonctionnalité «CallerAllocatedBuffer» doit fournir un constructeur à trois paramètres prenant le type managé comme premier paramètre, un «Span<byte>» comme deuxième paramètre et la taille native de l’élément comme troisième paramètre - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - Le type «{0}» spécifie qu’il prend en charge le marshaling «In» avec la fonctionnalité «CallerAllocatedBuffer» pour «{1}» mais ne fournit pas de constructeur à trois paramètres qui accepte un «{1}», un «Span<byte>» et un «int» - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Un marshaleur de collection contigu qui prend en charge le marshaling de managé à non managé doit fournir un 'GetManagedValuesSource' qui retourne un 'ReadOnlySpan<>' et une méthode 'GetUnmanagedValuesDestination' qui retourne un 'Span<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}', mais il ne fournit pas de 'GetManagedValuesSource' qui retourne un 'ReadOnlySpan<>' et une méthode 'GetUnmanagedValuesDestination' qui retourne 'Span<>' - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Un marshaleur de collection contigu qui prend en charge le marshaling de non managé à managé doit fournir un 'GetManagedValuesDestination' qui prend un 'int' et retourne 'Span<>' et une méthode 'GetUnmanagedValuesSource' qui prend un 'int' et retourne un 'ReadOnlySpan<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}', mais il ne fournit pas de 'GetManagedValuesDestination' qui prend un 'int' et retourne 'Span<>' et une méthode 'GetUnmanagedValuesSource' qui prend un 'int' et retourne un 'ReadOnlySpan<>' - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - Le type de marshaleur doit être un générique fermé ou avoir le même nombre de paramètres génériques que le type managé pour que le générateur puisse déterminer quelles méthodes sont disponibles sur les types de marshaleurs spécifiques. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Le type managé « {0} » pour le type marshaleur de point d’entrée « {1} » doit être un type générique fermé, avoir la même arité que le type managé s’il s’agit d’un marshaleur de valeurs ou avoir un paramètre générique supplémentaire s’il s’agit d’un marshaleur de collection. - - - - The managed type for a custom marshaller must be non-null. - Le type managé d’un marshaleur personnalisé doit être non null. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - Le type managé du type marshaleur de point d’entrée « {0} » ne doit pas avoir la valeur 'null' - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuration « MarshalAsAttribute » spécifiée pour le paramètre «{1}» n’est pas prise en charge par les P/Invokes générés par la source. Si la configuration spécifiée est requise, utilisez plutôt un « DllImport » standard. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configuration « MarshalAsAttribute » spécifiée pour la valeur de retour de la méthode «{1}» n’est pas prise en charge par les P/Invokes générés par la source. Si la configuration spécifiée est requise, utilisez plutôt un « DllImport » standard. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - L’argument 'marshalMode' de 'CustomMarshallerAttribute' doit être une valeur enum valide de 'MarshalMode'. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Le type marshaler doit être un générique fermé ou avoir le même nombre de paramètres génériques que le type managé pour que le code émis puisse utiliser une instanciation spécifique. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - Le type marshaleur « {0} » pointé par le type marshaler de point d’entrée «0á{1} » doit être un type générique fermé ou avoir la même arité que le type managé - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - Le paramètre « marshallerType » dans « System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute » ne peut pas être « null ». - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - Le paramètre « marshallerType » dans « System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute » ne peut pas être « null » - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Un type de marshaleur doit être une classe statique sans état ou un type valeur avec état. Une classe non statique n’est pas autorisée. - - - - The type '{0}' must be a static class or a value type - Le type '{0}' doit être une classe statique ou un type valeur - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Un type avec un « System.Runtime.InteropServices.CustomMarshallerAttribute » doit spécifier un type managé non 'null' - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - Le type « {0} » ne spécifie pas de type managé dans « System.Runtime.InteropServices.CustomMarshallerAttribute » appliqué au type - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Le type marshaler doit être un générique fermé ou avoir le même nombre de paramètres génériques que le type managé pour que le code émis puisse utiliser une instanciation spécifique. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Le type de marshaleur « {0} » pour le type managé « {1} » doit être un type générique fermé, avoir la même arité que le type managé s’il s’agit d’un marshaleur de valeurs ou avoir un paramètre générique supplémentaire s’il s’agit d’un marshaleur de collection. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requiert du code non sécurisé. Le projet doit être mis à jour avec '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requiert du code non sécurisé. Le projet doit être mis à jour avec '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requiert du code non sécurisé. - - - - The return type the two method must be the expected type. - Le type de retour de la méthode deux doit être le type attendu. - - - - The return type of '{0}' must be '{1}' - Le type de retour '{0}' doit être '{1}' - - - - The return types of the two methods must be the same type. - Les types de retour des deux méthodes doivent être du même type. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - Le type de retour de '{0}' doit être le même que le type de retour de '{1}' - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Un marshaleur avec état doit avoir une méthode d’instance de retour void de paramètre zéro nommée 'Free'. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - Le type '{0}' est un marshaleur avec état et n’a pas de méthode d’instance de retour void de paramètre zéro nommée 'Free' - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Un marshaleur avec état qui prend en charge le marshaling de managé à non managé doit fournir une méthode d’instance 'FromManaged' qui prend la valeur managée en tant que paramètre et retourne 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}' pour '{2}', mais il ne fournit pas de méthode d’instance à un paramètre nommée 'FromManaged' qui accepte '{2}' comme paramètre et retourne 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Un marshaleur avec état qui prend en charge le marshaling de non managé à managé doit fournir une méthode d’instance 'FromUnmanaged' qui prend la valeur non managée comme paramètre et retourne 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}' pour '{2}', mais il ne fournit pas de méthode d’instance à un paramètre nommée 'FromUnmanaged' qui prend la valeur 'unmanaged' comme paramètre et retourne 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Un marshaleur avec état qui prend en charge le marshaling de non managé à managé doit fournir une méthode d’instance 'ToManaged' qui ne prend aucun paramètre et retourne le type managé. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}' pour '{2}', mais il ne fournit pas de méthode d’instance de paramètre zéro nommée 'ToManaged' qui retourne '{2}' - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Un marshaleur avec état qui prend en charge le marshaling de managé à non managé doit fournir une méthode d’instance 'ToUnmanaged' qui ne prend aucun paramètre et retourne le type 'unmanaged'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}' pour '{2}', mais il ne fournit pas de méthode d’instance de paramètre zéro nommée 'ToUnmanaged' qui retourne le type 'unmanaged' pour le marshaleur - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Lorsque la forme 'Managée à non managée avec mémoire tampon allouée par l’appelant' est utilisée en fournissant une méthode 'AllocateContainerForUnmanagedElements' qui prend un 'Span<T>' sur le type marshaler, le type doit fournir une propriété 'BufferSize' statique pour fournir le nombre d’éléments dans la mémoire tampon allouée par l’appelant. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - Le type marshaleur '{0}' doit avoir une propriété 'int' 'BufferSize' statique en lecture seule pour spécifier la taille de la mémoire tampon allouée par l’appelant, car elle a une méthode 'AllocateContainerForUnmanagedElements' qui accepte un 'Span<{1}>' alloué par l’appelant - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Un marshaleur de collection contigu qui prend en charge le marshaling de managé à non managé doit fournir un 'GetManagedValuesSource' qui prend la valeur managée en tant que paramètre et retourne un 'ReadOnlySpan<>' et une méthode 'GetUnmanagedValuesDestination' qui prend la valeur non managée comme paramètre et retourne un 'Span<>' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}', mais il ne fournit pas de 'GetManagedValuesSource' qui prend '{2}' comme paramètre et retourne 'ReadOnlySpan<>' et une méthode 'GetUnmanagedValuesDestination' qui prend la valeur non managée comme paramètre et retourne 'Span<>' - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Un marshaleur de collection contigu qui prend en charge le marshaling de non managé à managé doit fournir un 'GetManagedValuesDestination' qui prend la valeur managée et retourne un 'Span<>' et une méthode 'GetUnmanagedValuesSource' qui prend la valeur non managée et un 'int' et retourne un 'ReadOnlySpan<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}', mais il ne fournit pas de 'GetManagedValuesDestination' qui prend '{2}' et retourne 'Span<>' et une méthode 'GetUnmanagedValuesSource' qui prend la valeur non managée et un 'int' et retourne un 'ReadOnlySpan<>' - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Un marshaleur de collection contigu sans état qui prend en charge le marshaling de managé à non managé doit fournir une méthode 'AllocateContainerForManagedElements' prenant le type non managé comme premier paramètre et le nombre d’éléments en tant que paramètre 'int' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}' pour '{2}', mais ne fournit pas de méthode 'AllocateContainerForManagedElements' à deux paramètres qui prend le type non managé comme premier paramètre et un 'int' comme second paramètre - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Un marshaleur de collection contigu sans état qui prend en charge le marshaling de managé à non managé doit fournir une méthode 'AllocateContainerForUnmanagedElements' prenant le type managé comme premier paramètre et en fournissant le nombre d’éléments en tant que paramètre 'out int' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}' pour '{2}', mais ne fournit pas de méthode 'AllocateContainerForUnmanagedElements' à deux paramètres qui accepte '{2}' comme premier paramètre et 'out int' comme second paramètre - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Un marshaleur de valeurs sans état qui prend en charge le marshaling d’un marshaling non managé à managé doit fournir une méthode 'ConvertToManaged' qui prend le type non managé en tant que paramètre et retourne le type managé. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}', mais il ne fournit pas de méthode 'ConvertToManaged' qui accepte le type non managé comme paramètre et retourne '{2}' - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Un marshaleur de valeurs sans état qui prend en charge le marshaling de managé à non managé doit fournir une méthode 'ConvertToUnmanaged' à paramètre unique qui accepte la valeur managée comme paramètre et retourne une valeur du type 'unmanaged'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - Le type '{0}' spécifie qu’il prend en charge le mode marshal '{1}' pour '{2}' mais ne fournit pas de méthode 'ConvertToUnmanaged' à un paramètre qui accepte un '{2}' comme paramètre et retourne une valeur de type 'unmanaged' - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - Le type de retour de « ConvertToUnmanaged » et le type de paramètre « ConvertToManaged » doivent être identiques. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - Le type de retour de « ConvertToUnmanaged » et le type de paramètre « ConvertToManaged » doivent être identiques - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - Le type non managé d’un marshaleur personnalisé doit être un type non managé C#. - - - - The return type of '{0}' must be unmanaged - Le type de retour '{0}' doit être non managé - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - « void* » doit être castable en type pour que le résultat épinglé de la méthode « GetPinnableReference » statique puisse être passé au contexte natif après avoir été épinglé. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - « void* » doit être castable en type « {0} », car le type managé « {1} » a une méthode « GetPinnableReference » statique - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Un type de point d’entrée pour le marshaling d’un type donné doit avoir un « System.Runtime.InteropServices.CustomMarshallerAttribute » qui spécifie ce type en tant que type managé. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - Le type de marshaleur de point d’entrée « {0} » pour le type « {1} » doit être un type avec au moins un type « System.Runtime.InteropServices.CustomMarspiaerAttribute » qui spécifie ce type comme type managé - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Un type natif de type « Value » ou « LinearCollection » qui prend en charge le marshaling dans la direction « Out » doit fournir une méthode « ToManaged » qui retourne le type managé. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - Le type « {0} » spécifie qu’il prend en charge le marshaling dans la direction « Out », mais il ne fournit pas de méthode « ToManaged » qui retourne le type managé - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - Le type de retour de « ToUnmanaged » et le type de paramètre « FromUnmanaged » doivent être identiques. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - Le type de retour de « ToUnmanaged » et le type de paramètre « FromUnmanaged » doivent être identiques - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - Pour les types qui ne sont pas pris en charge par les P/Invok générés par la source, le P/Invoke résultant se base sur le runtime sous-jacent pour marshaler le type spécifié. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - Le type « {0} » n’est pas pris en charge par les P/Invokes générés par la source. La source générée ne gère pas le marshaling du paramètre « {1} ». - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} La source générée ne gère pas le marshaling du paramètre « {1} ». - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - Le type « {0} » n’est pas pris en charge par les P/Invokes générés par la source. La source générée ne gère pas le marshaling de la valeur de retour de la méthode « {1} ». - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} La source générée ne gère pas le marshaling de la valeur de retour de la méthode « {1} ». - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - Le type spécifié n’est pas prise en charge par les P/Invokes générés par la source. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Des informations de triage inutiles ont été fournies. Ces informations de regroupement peuvent être supprimées sans aucune modification du comportement de l'application. - - - - Unnecessary marshalling info was provided and can be removed. - Des informations de rassemblement inutiles ont été fournies et peuvent être supprimées. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Des informations de regroupement inutiles '{0}' ont été fournies pour le paramètre '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Des informations de regroupement inutiles '{0}' ont été fournies pour le type de retour de la méthode '{1}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Un type natif de type «Value» qui prend en charge la fonctionnalité «CallerAllocatedBuffer» doit fournir un constructeur à deux paramètres prenant le type managé et un « Span » d’un type « non géré » comme paramètres - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - Le type « {0} » spécifie qu’il prend en charge le marshaling «In» avec la fonctionnalité «CallerAllocatedBuffer» pour « {1} » mais ne fournit pas de constructeur à deux paramètre qui accepte un « {1} » et « Span » d’un type « non géré » comme paramètres. - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Un type natif de type « Value » doit fournir un constructeur à un paramètre prenant le type managé en tant que paramètre - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - Le type « {0} » spécifie qu’il prend en charge le marshaling « In » de « {1} » mais ne fournit pas de constructeur à paramètre unique qui accepte un « {1} » comme paramètre - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.it.xlf deleted file mode 100644 index 4ad947e968b63..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.it.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Aggiungi membri mancanti del gestore del marshalling di tipi personalizzato mancanti - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Quando si usa la forma 'Managed to Unmanaged with Caller-Allocated Buffer', fornendo un metodo "FromManaged" che accetta un elemento "Span<T>" per il tipo di marshaller, il tipo deve fornire una proprietà statica "BufferSize" per fornire il numero di elementi nel buffer allocato dal chiamante. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - Il tipo di marshaller '{0}' deve avere una proprietà 'int' 'BufferSize' di sola lettura statica per specificare le dimensioni del buffer allocato dal chiamante perché dispone di un metodo FromManaged che accetta un elemento 'Span<{1}>' allocato dal chiamante - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - L'elemento 'DllImportAttribute' generato non avrà un valore corrispondente a '{0}'. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - '{0}' non ha equivalenti in 'DllImportAtttribute' e non verrà inoltrato - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Gli argomenti 'LibraryImportAttribute' specificati non possono essere inoltrati a 'DllImportAttribute' - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - I P/Invoke generati dall'origine ignoreranno qualsiasi configurazione non supportata. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configurazione '{0}' non è supportata dai P/Invoke generati dall'origine. Se la configurazione specificata è obbligatoria, usa un attributo `DllImport` normale. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - La configurazione di marshalling specificata non è supportata dai P/Invoke generati dall'origine. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configurazione '{0}' specificata per il parametro '{1}' non è supportata dai P/Invoke generati dall'origine. Se la configurazione specificata è obbligatoria, us un attributo `DllImport` normale. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configurazione '{0}' specificata per il valore restituito del metodo '{1}' non è supportata dai P/Invoke generati dall'origine. Se la configurazione specificata è obbligatoria, usa un attributo `DllImport` normale. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - Il valore specificato '{0}' per '{1}' non è supportato da P/Invoke generati dall'origine. Se il valore specificato è obbligatorio, usa un 'DllImport' normale. - - - - Specified configuration is not supported by source-generated P/Invokes. - La configurazione specificata non è supportata dai P/Invoke generati dall'origine. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - La conversione automatica di un P/Invoke con 'PreserveSig' impostato su 'false' in un P/Invoke generato dall'origine può produrre codice non valido - - - - Convert to 'LibraryImport' - Converti in 'LibraryImport' - - - - Convert to 'LibraryImport' and enable unsafe code - Converti in 'LibraryImport' e abilita codice non sicuro - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Usare 'LibraryImportAttribute' invece di 'DllImportAttribute' per generare codice di marshalling di P/Invoke in fase di compilazione - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - La conversione di questa API in 'LibraryImport' richiederà codice aggiuntivo per fornire gestori di marshalling personalizzati per alcuni parametri. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Contrassegnare il metodo '{0}' con 'LibraryImportAttribute' invece di 'DllImportAttribute' per generare codice di marshalling di P/Invoke in fase di compilazione - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Usare 'LibraryImportAttribute' invece di 'DllImportAttribute' per generare codice di marshalling di P/Invoke in fase di compilazione - - - - Convert to 'LibraryImport' with '{0}' suffix - Converti in 'LibraryImport' con il suffisso '{0}' - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Converti in 'LibraryImport' con il suffisso '{0}' e abilita codice non sicuro - - - - Marshaller type does not have the required shape - Il tipo di marshaller non ha la forma richiesta - - - - A marshaller for an element scenario cannot be stateful. - Un gestore di marshalling per uno scenario di elemento non può essere con stato. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - Il tipo di marshalling specificato '{0}' è un gestore di marshalling con stato, ma i marshalling con stato non sono consentiti nella modalità di marshalling specificata '{1}' - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - Il tipo di elemento dell'intervallo restituito dal primo metodo deve essere dello stesso tipo del tipo di elemento dell'intervallo restituito dal secondo metodo. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - Il tipo di elemento dell'intervallo restituito da '{0}' deve essere dello stesso tipo del tipo di elemento dell'intervallo restituito da '{1}'. - - - - An entry-point type for marshalling a given type must not be 'null'. - Un tipo di punto di ingresso per il marshalling di un tipo specificato non deve essere 'null'. - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - Il tipo di marshaller del punto di ingresso per il tipo '{0}' non deve essere 'null' - - - - The first parameter of the first method must be the same type as the return types of the second method. - Il primo parametro del primo metodo deve essere dello stesso tipo dei tipi restituiti del secondo metodo. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - Il primo parametro di '{0}' deve essere dello stesso tipo restituito di '{1}' - - - - The first parameters of the two methods must be the same type. - I primi parametri dei due metodi devono essere dello stesso tipo. - - - - The first parameter of '{0}' and '{1}' must be the same type - Il primo parametro di '{0}' e '{1}' deve essere dello stesso tipo - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - L'overload del metodo 'FromUnmanaged' non è supportato perché alcune forme non sono in grado di distinguere tra overload. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - Il tipo '{0}' esegue l'overload del metodo 'FromUnmanaged', che non è supportato nei marshaller personalizzati - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - Il tipo restituito di 'GetPinnableReference' (dopo l'accounting di 'ref') deve essere copiabile da BLT. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - Il tipo dereferenziato del tipo restituito del metodo 'GetPinnableReference' deve essere copiabile da BLT - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Il metodo '{0}' è contenuto in un tipo '{1}' non contrassegnato come 'partial'. Durante la generazione dell'origine P/Invoke il metodo '{0}' verrà ignorato. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - I metodi contrassegnati con 'LibraryImportAttribute' devono essere 'static', 'partial' e non generici. Durante la generazione dell'origine P/Invoke i metodi non 'static', non 'partial' o generici verranno ignorati. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Il metodo '{0}' deve essere 'static', 'partial' e non generico quando è contrassegnato con 'LibraryImportAttribute'. Durante la generazione dell'origine P/Invoke il metodo '{0}' verrà ignorato. - - - - Invalid 'CustomMarshallerAttribute' usage - Utilizzo di 'CustomMarshallerAttribute' non valido - - - - Invalid 'LibraryImportAttribute' usage - Utilizzo di 'LibraryImportAttribute' non valido - - - - Specified managed type is invalid - Il tipo gestito specificato non è valido - - - - Invalid 'MarshalMode' value. - Valore 'MarshalMode' non valido. - - - - Specified marshaller type is invalid - Il tipo di marshaller specificato non è valido - - - - Invalid 'NativeMarshallingAttribute' usage - Utilizzo di 'NativeMarshallingAttribute' non valido - - - - Marshaller type has incompatible method signatures - Il tipo marshaller ha firme di metodo incompatibili - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - La configurazione di 'StringMarshalling' e 'StringMarshallingCustomType' non è valida. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - La configurazione di 'StringMarshalling' e 'StringMarshallingCustomType' nel metodo '{0}' non è valida. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - È necessario specificare 'StringMarshallingCustomType' quando 'StringMarshalling' è impostato su 'StringMarshalling.Custom'. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' deve essere impostato su 'StringMarshalling.Custom' quando è specificato 'StringMarshallingCustomType'. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - Il tipo di elemento di 'ReadOnlySpan' restituito da 'GetManagedValuesSource' deve essere uguale al tipo di elemento restituito da 'GetManagedValuesDestination'. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - Il tipo di elemento di 'ReadOnlySpan' restituito da 'GetManagedValuesSource' deve essere uguale al tipo di elemento restituito da 'GetManagedValuesDestination' - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Un tipo nativo di tipo 'LinearCollection' che supporta la funzionalità 'CallerAllocatedBuffer' deve fornire un costruttore a tre parametri che accetta il tipo gestito come primo parametro, un elemento 'Span<byte>' come secondo parametro e la dimensione nativa dell'elemento come terzo parametro - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - Il tipo '{0}' specifica che supporta il marshalling 'In' con la funzionalità 'CallerAllocatedBuffer' per '{1}', ma non fornisce un costruttore a tre parametri che accetta '{1}', 'Span<byte>' e 'int' - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Un marshaller di raccolta contiguo che supporta il marshalling da gestito a non gestito deve fornire un 'GetManagedValuesSource' che restituisce 'ReadOnlySpan<>' e un metodo 'GetUnmanagedValuesDestination' che restituisce un 'Span<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}', ma non fornisce 'GetManagedValuesSource' che restituisce 'ReadOnlySpan<>' e un metodo 'GetUnmanagedValuesDestination' che restituisce un 'Span<>' - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Un marshaller di raccolta contiguo che supporta il marshalling da non gestito a gestito deve fornire un 'GetManagedValuesDestination' che accetta un 'int' e restituisce un 'Span<>' e un metodo 'GetUnmanagedValuesSource' che accetta 'int' e restituisce 'ReadOnlySpan<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}', ma non fornisce un 'GetManagedValuesDestination' che accetta 'int' e restituisce 'Span<>' e un metodo 'GetUnmanagedValuesSource' che accetta 'int' e restituisce 'ReadOnlySpan<>' - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - Il tipo di marshaller deve essere un tipo generico chiuso o avere lo stesso numero di parametri generici del tipo gestito, in modo che il generatore possa determinare quali metodi sono disponibili nei tipi di marshaller specifici. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Il tipo gestito '{0}' per il tipo di marshaller di ingresso '{1}' deve essere un tipo generico chiuso, avere lo stesso grado del tipo gestito se si tratta di un marshaller di valori o avere un parametro generico aggiuntivo se si tratta di un marshaller di raccolta. - - - - The managed type for a custom marshaller must be non-null. - Il tipo gestito per un marshaller personalizzato deve essere non null. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - Il tipo gestito per il tipo di marshaller del punto di ingresso '{0}' non deve essere 'null' - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configurazione 'MarshalAsAttribute' specificata per il parametro '{1}' non è supportata dai P/Invoke generati dall'origine. Se la configurazione specificata è obbligatoria, us un attributo `DllImport` normale. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - La configurazione 'MarshalAsAttribute' specificata per il valore restituito del metodo '{1}' non è supportata dai P/Invoke generati dall'origine. Se la configurazione specificata è obbligatoria, usa un attributo 'DllImport' normale. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - L'argomento 'marshalMode' di 'CustomMarshallerAttribute' deve essere un valore di enumerazione valido di 'MarshalMode'. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Il tipo di marshaller deve essere un generico chiuso o avere lo stesso numero di parametri generici del tipo gestito, in modo che il codice generato possa usare una creazione di istanza specifica. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - Il tipo di marshaller '{0}' a cui fa riferimento il tipo di marshaller del punto di ingresso '{1}' deve essere un tipo generico chiuso o avere lo stesso grado del tipo gestito - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - Il parametro 'marshallerType' in 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' non può essere 'null'. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - Il parametro 'marshallerType' in 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' non può essere 'null' - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Un tipo di marshaller deve essere una classe statica senza stato o un tipo di valore con stato. Una classe non statica non è consentita. - - - - The type '{0}' must be a static class or a value type - Il tipo '{0}' deve essere una classe statica o un tipo valore - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Un tipo con 'System.Runtime.InteropServices.CustomMarshallerAttribute' deve specificare un tipo gestito diverso da 'null' - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - Il tipo '{0}' non specifica un tipo gestito nell’elemento 'System.Runtime.InteropServices.CustomMarshallerAttribute' applicato al tipo - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Il tipo di marshaller deve essere un generico chiuso o avere lo stesso numero di parametri generici del tipo gestito, in modo che il codice generato possa usare una creazione di istanza specifica. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Il tipo di marshaller '{0}' per il tipo gestito '{1}' deve essere un tipo generico chiuso, avere lo stesso grado del tipo gestito se si tratta di un marshaller di valori o avere un parametro generico aggiuntivo se si tratta di un marshaller di raccolta. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute richiede un codice non sicuro. Il progetto deve essere aggiornato con '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute richiede un codice non sicuro. Il progetto deve essere aggiornato con '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute richiede un codice non sicuro. - - - - The return type the two method must be the expected type. - Tipo restituito il due metodo deve essere il tipo previsto. - - - - The return type of '{0}' must be '{1}' - Il tipo restituito di '{0}' deve essere '{1}' - - - - The return types of the two methods must be the same type. - I tipi restituiti dei due metodi devono essere dello stesso tipo. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - Il tipo restituito di '{0}' deve essere dello stesso tipo restituito di '{1}' - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Un gestore di marshalling con stato deve avere un metodo di istanza con restituzione void con parametro zero denominato 'Free'. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - Il tipo '{0}' è un gestore di marshalling con stato e non dispone di un metodo di istanza con restituzione void con parametro zero denominato 'Free' - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Un gestore di marshalling con stato che supporta il marshalling da gestito a non gestito deve fornire un metodo di istanza 'FromManaged' che accetta il valore gestito come parametro e restituisce 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}' per '{2}', ma non fornisce un metodo di istanza con un solo parametro denominato 'FromManaged' che accetta '{2}' come parametro e restituisce 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Un gestore di marshalling con stato che supporta il marshalling da non gestito a gestito deve fornire un metodo di istanza 'FromUnmanaged' che accetta il valore non gestito come parametro e restituisce 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}' per '{2}', ma non fornisce un metodo di istanza con un parametro denominato 'FromUnmanaged' che accetta il valore 'unmanaged' come parametro e restituisce 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Un gestore di marshalling con stato che supporta il marshalling da gestito a non gestito deve fornire un metodo di istanza 'ToUnmanaged' che non accetta parametri e restituisce il tipo gestito (“managed”). - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}' per '{2}', ma non fornisce un metodo di istanza con parametro zero denominato 'ToManaged' che restituisce '{2}' - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Un gestore di marshalling con stato che supporta il marshalling da gestito a non gestito deve fornire un metodo di istanza 'ToUnmanaged' che non accetta parametri e restituisce il tipo 'unmanaged'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}' per '{2}' ma non fornisce un metodo di istanza con parametro zero denominato 'ToUnmanaged' che restituisce il tipo 'unmanaged' per il gestore del marshalling - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Quando si usa la forma 'Managed to Unmanaged with Caller-Allocated Buffer', fornendo un metodo 'AllocateContainerForUnmanagedElements' che accetta un elemento "Span<T>" per il tipo di marshaller, il tipo deve fornire una proprietà statica "BufferSize" per fornire il numero di elementi nel buffer allocato dal chiamante. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - Il tipo di marshaller '{0}' deve avere una proprietà 'int' 'BufferSize' di sola lettura statica per specificare le dimensioni del buffer allocato dal chiamante perché dispone di un metodo 'AllocateContainerForUnmanagedElements' che accetta un elemento 'Span<{1}>' allocato dal chiamante - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Un marshaller di raccolta contiguo che supporta il marshalling da gestito a non gestito deve fornire 'GetManagedValuesSource' che accetta il valore gestito come parametro e restituisce 'ReadOnlySpan<>' e un metodo 'GetUnmanagedValuesDestination' che accetta il valore non gestito come parametro e restituisce un 'Span<>' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}', ma non fornisce 'GetManagedValuesSource' che accetta '{2}' come parametro e restituisce 'ReadOnlySpan<>' e un metodo 'GetUnmanagedValuesDestination' che accetta il valore non gestito come parametro e restituisce un 'Span<>' - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Un marshaller di raccolta contiguo che supporta il marshalling da non gestito a gestito deve fornire un 'GetManagedValuesDestination' che accetta il valore gestito e restituisce 'Span<>' e un metodo 'GetUnmanagedValuesSource' che accetta il valore non gestito e un 'int' e restituisce un 'ReadOnlySpan<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}', ma non fornisce 'GetManagedValuesDestination' che accetta '{2}' e restituisce 'Span<>' e un metodo 'GetUnmanagedValuesSource' che accetta il valore non gestito e un 'int' e restituisce 'ReadOnlySpan<>' - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Un marshaller di raccolta contiguo senza stato che supporta il marshalling da gestito a non gestito deve fornire un metodo 'AllocateContainerForManagedElements' che accetta il tipo non gestito come primo parametro e il numero di elementi come parametro 'int' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}' per '{2}' ma non fornisce un metodo 'AllocateContainerForManagedElements' con due parametri che accetta il tipo non gestito come primo parametro e un 'int' come secondo parametro - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Un marshaller di raccolta contiguo senza stato che supporta il marshalling da gestito a non gestito deve fornire un metodo 'AllocateContainerForUnmanagedElements' che accetta il tipo gestito come primo parametro e fornisce il numero di elementi come parametro 'out int' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}' per '{2}' ma non fornisce un metodo 'AllocateContainerForUnmanagedElements' con due parametri che accetta '{2}' come primo parametro e 'out int' come secondo parametro - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Un marshaller di valori senza stato che supporta il marshalling da non gestito a gestito deve fornire un metodo 'ConvertToManaged' che accetta il tipo non gestito come parametro e restituisce il tipo gestito. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}', ma non fornisce un metodo 'ConvertToManaged' che accetta il tipo non gestito come parametro e restituisce '{2}' - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Un marshaller di valori senza stato che supporta il marshalling da gestito a non gestito deve fornire un metodo 'ConvertToUnmanaged' con un solo parametro che accetta il valore gestito come parametro e restituisce un valore del tipo 'non gestito'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - Il tipo '{0}' specifica che supporta la modalità di marshalling '{1}' per '{2}' ma non fornisce un metodo 'ConvertToUnmanaged' con un solo parametro che accetta un '{2}' come parametro e restituisce un valore di tipo 'non gestito' - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - Il tipo restituito di 'ConvertToUnmanaged' e il tipo di parametro di 'ConvertToManaged' devono essere uguali. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - Il tipo restituito di 'ConvertToUnmanaged' e il tipo di parametro di 'ConvertToManaged' devono essere uguali - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - Il tipo non gestito per un marshaller personalizzato deve essere un tipo non gestito C#. - - - - The return type of '{0}' must be unmanaged - Il tipo restituito di '{0}' deve essere non gestito - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - 'void*' deve poter essere sottoposto a cast nel tipo in modo che il risultato aggiunto del metodo statico 'GetPinnableReference' possa essere passato al contesto nativo dopo essere stato aggiunto. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - Il cast di 'void*' al tipo '{0}' deve essere eseguito perché il tipo gestito '{1}' include un metodo statico 'GetPinnableReference' - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Un tipo di punto di ingresso per il marshalling di un determinato tipo deve includere un elemento 'System.Runtime.InteropServices.CustomMarshallerAttribute' che specifichi questo tipo come tipo gestito. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - Il tipo di marshaller del punto di ingresso '{0}' per il tipo '{1}' deve essere un tipo con almeno un elemento 'System.Runtime.InteropServices.CustomMarshallerAttribute' che specifica questo tipo come tipo gestito - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Un tipo nativo di tipo 'Value' o 'LinearCollection' che supporta il marshalling nella direzione 'Out' deve fornire un metodo 'ToManaged' che restituisce il tipo gestito. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - Il tipo '{0}' specifica che supporta il marshalling nella direzione 'Out', ma non fornisce un metodo 'ToManaged' che restituisce il tipo gestito - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - Il tipo restituito di 'ToUnmanaged' e il tipo di parametro di 'FromUnmanaged' devono essere uguali. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - Il tipo restituito di 'ToUnmanaged' e il tipo di parametro di 'FromUnmanaged' devono essere uguali. - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - Per i tipi non supportati da P/Invoke generati dall'origine, il P/Invoke risultante si baserà sul runtime sottostante per effettuare il marshalling del tipo specificato. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - Il tipo '{0}' non è supportato dai P/Invoke generati dall'origine. L'origine generata non gestirà il marshalling del parametro '{1}'. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} L'origine generata non gestirà il marshalling del parametro '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - Il tipo '{0}' non è supportato dai P/Invoke generati dall'origine. L'origine generata non gestirà il marshalling del valore restituito del metodo '{1}'. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} L'origine generata non gestirà il marshalling del valore restituito del metodo '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - Il tipo specificato non è supportato dai P/Invoke generati dall'origine - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Sono state specificate informazioni di marshalling non necessarie. Queste informazioni di marshalling possono essere rimosse senza alcuna modifica nel comportamento dell'applicazione. - - - - Unnecessary marshalling info was provided and can be removed. - Sono state fornite informazioni di marshalling non necessarie e possono essere rimosse. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Informazioni di mashalling '{0}' non necessarie fornite per il parametro '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Sono state fornite informazioni di mashalling '{0}' non necessarie per il tipo restituito del metodo '{1}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Un tipo nativo di tipo 'Value' che supporta la funzionalità 'CallerAllocatedBuffer' deve fornire un costruttore a due parametri che accetta il tipo gestito e un 'Span' di un tipo 'non gestito' come parametri - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - Il tipo '{0}' specifica che supporta il marshalling 'In' con la funzionalità 'CallerAllocatedBuffer' per '{1}' ma non fornisce un costruttore con due parametri che accetta '{1}' e 'Span' di un tipo 'non gestito' come parametri - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Un tipo nativo di tipo 'Value' deve fornire un costruttore a un parametro che accetta il tipo gestito come parametro - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - Il tipo '{0}' specifica che supporta il marshalling 'In' di '{1}' ma non fornisce un costruttore con un solo parametro che accetta '{1}' come parametro - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ja.xlf deleted file mode 100644 index 4ebde852994b6..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ja.xlf +++ /dev/null @@ -1,675 +0,0 @@ - - - - - - Add missing custom type marshaller members - 不足しているカスタム型マーシャラー メンバーの追加 - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - マーシャラー型で 'Span<T>' を取る 'FromManaged' メソッドを指定して 'Managed to Unmanaged with Caller-Allocated Buffer' 図形を使用する場合、呼び出し元に割り当てられたバッファー内の要素の数を提供するには、静的な 'BufferSize' プロパティを型で指定する必要があります。 - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - マーシャラー型 '{0}' には、呼び出し元が割り当てた 'Span<{1}>' を受け取る FromManaged メソッドがあるため、呼び出し元が割り当てたバッファーのサイズを指定するには、静的な読み取り専用の 'int' 'BufferSize' プロパティが必要です - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - 生成された 'DllImportAttribute' には、'{0}' に対応する値がありません。 - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - '{0}' には、'DllImportAtttribute' に相当するものがないため、転送されません - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - 指定された 'LibraryImportAttribute' 引数を 'DllImportAttribute' に転送することはできません - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - ソース生成済みの P/Invoke は、サポートされていない構成を無視します。 - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - '{0}' 構成は、ソース生成 P/Invokes ではサポートされていません。指定した構成が必要な場合は、代わりに通常の 'DllImport' を使用してください。 - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - 指定されたマーシャリング構成は、ソースで生成された P/Invoke ではサポートされていません。{0}。 - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - パラメーター '{1}' に指定された構成 '{0}' は、ソース生成 P/Invokes ではサポートされていません。指定した構成が必要な場合は、代わりに通常の 'DllImport' を使用してください。 - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - メソッド '{1}' の戻り値に指定された '{0}' 構成は、ソース生成 P/Invokes ではサポートされていません。指定した構成が必要な場合は、代わりに通常の 'DllImport' を使用してください。 - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - '{1}' に指定された値 '{0}' は、ソース生成 P/Invokes ではサポートされていません。指定した値が必要な場合は、代わりに通常の 'DllImport' を使用してください。 - - - - Specified configuration is not supported by source-generated P/Invokes. - 指定された構成は、ソースで生成された P/Invoke ではサポートされていません。 - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - 'PreserveSig' が 'false' に設定された P/Invoke をソース生成済みの P/Invoke に自動的に変換すると、無効なコードが生成される場合があります - - - - Convert to 'LibraryImport' - 'LibraryImport' への変換 - - - - Convert to 'LibraryImport' and enable unsafe code - 'LibraryImport' に変換し、アンセーフ コードを有効にする - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - コンパイル時に P/Invoke マーシャリング コードを生成するには、'DllImportAttribute' の代わりに 'LibraryImportAttribute' を使用します - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - この API を 'LibraryImport' に変換するには、一部のパラメーターにカスタム マーシャラーを提供するために追加のコードが必要です。 - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - コンパイル時に P/Invoke マーシャリング コードを生成するには、'DllImportAttribute' の代わりに 'LibraryImportAttribute' を持つメソッド '{0}' をマークします - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - コンパイル時に P/Invoke マーシャリング コードを生成するには、'DllImportAttribute' の代わりに 'LibraryImportAttribute' を使用します - - - - Convert to 'LibraryImport' with '{0}' suffix - '{0}' サフィックスを持つ 'LibraryImport' への変換 - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - '{0}' サフィックスを持つ 'LibraryImport' に変換し、アンセーフ コードを有効にする - - - - Marshaller type does not have the required shape - マーシャラー型に必要な図形がありません - - - - A marshaller for an element scenario cannot be stateful. - 要素シナリオのマーシャラーをステートフルにすることはできません。 - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - 指定されたマーシャラー型 '{0}' はステートフル マーシャラーですが、指定されたマーシャリング モード '{1} ではステートフル マーシャラーを使用できません - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - 最初のメソッドによって返されるスパンの要素型は、2 番目のメソッドによって返されるスパンの要素型と同じ型である必要があります。 - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - '{0}' によって返されるスパンの要素型は、'{1}' によって返されるスパンの要素型と同じ型である必要があります。 - - - - An entry-point type for marshalling a given type must not be 'null'. - 特定の型をマーシャリングするためのエントリ ポイント型を 'null' にすることはできません。 - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - 型 '{0}' のエントリ ポイント マーシャラー型は 'null' 以外である必要があります - - - - The first parameter of the first method must be the same type as the return types of the second method. - 最初のメソッドの最初のパラメーターは、2 番目のメソッドの戻り値の型と同じ型である必要があります。 - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - '{0}' の最初のパラメーターは、戻り値の型 '{1}' と同じ型である必要があります - - - - The first parameters of the two methods must be the same type. - 2 つのメソッドの最初のパラメーターは同じ型である必要があります。 - - - - The first parameter of '{0}' and '{1}' must be the same type - '{0}' の最初のパラメーターと '{1}' は同じ型である必要があります - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - いくつかの図形がオーバーロードを区別できないため、'FromUnmanaged' メソッドのオーバーロードはサポートされていません。 - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - 型 '{0}' は、カスタム マーシャラーでサポートされていない 'FromUnmanaged' メソッドをオーバーロードします - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - 'GetPinnableReference' の戻り値の型 ('ref' の会計後) は blittable である必要があります。 - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - 'GetPinnableReference' メソッドの戻り値の逆参照型は blittable である必要があります - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - メソッド '{0}' は、'partial' とマークされていない型 '{1}' に含まれています。P/Invoke ソース生成はメソッド '{0}' を無視します。 - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - 'LibraryImportAttribute' でマークされたメソッドは、'static'、'partial'、非ジェネリックである必要があります。P/Invoke ソース生成では、非 'static'、非 'partial'、ジェネリックであるメソッドは無視されます。 - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - 'LibraryImportAttribute' でマークされている場合、メソッド '{0}'は 'static'、'partial'、非ジェネリックである必要があります。P/Invoke ソース生成では、メソッド '{0}' は無視されます。 - - - - Invalid 'CustomMarshallerAttribute' usage - 'CustomMarshallerAttribute' の使用状況が無効です - - - - Invalid 'LibraryImportAttribute' usage - 'LibraryImportAttribute' の使用状況が無効です - - - - Specified managed type is invalid - 指定されたマネージド型が無効です - - - - Invalid 'MarshalMode' value. - 'MarshalMode' 値が無効です。 - - - - Specified marshaller type is invalid - 指定されたマーシャラー型が無効です - - - - Invalid 'NativeMarshallingAttribute' usage - 'NativeMarshallingAttribute' の使用状況が無効です - - - - Marshaller type has incompatible method signatures - マーシャラー型に互換性のないメソッド シグネチャがあります - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' と 'StringMarshallingCustomType' の構成が無効です。 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - メソッド '{0}' の 'StringMarshalling' と 'StringMarshallingCustomType' の構成が無効です。{1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshalling' が 'StringMarshalling.Custom' に設定されている場合は、'StringMarshallingCustomType' を指定する必要があります。 - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshallingCustomType' が指定されている場合、'StringMarshalling' を 'StringMarshalling.Custom' に設定する必要があります。 - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - 'GetManagedValuesSource' によって返される 'ReadOnlySpan' の要素型は、'GetManagedValuesDestination' によって返される要素型と同じである必要があります。 - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - 'GetManagedValuesSource' によって返される 'ReadOnlySpan' の要素型は、'GetManagedValuesDestination' によって返される要素型と同じである必要があります - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - 'CallerAllocatedBuffer' 機能をサポートする 'LinearCollection' 型のネイティブ型は、マネージド型を最初のパラメーターとして、'Span<byte>' を 2 番目のパラメーターとして、要素のネイティブ サイズを 3 番目のパラメーターとして、3 つのパラメーター コンストラクターを指定する必要があります - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - 型 '{0}' は、'{1}' の 'CallerAllocatedBuffer' 機能を使用した 'In' マーシャリングをサポートすることを指定していますが、'{1}'、'Span<byte>'、'int' を受け取る 3 つのパラメーター コンストラクターを指定しません - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - マネージドからアンマネージドへのマーシャリングをサポートする連続したコレクション マーシャラーは、'ReadOnlySpan<>' を返す 'GetManagedValuesSource' と 'Span<>' を返す 'GetUnmanagedValuesDestination' メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - 型 '{0}' は、'{1}' マーシャリング モードをサポートすることを指定しますが、'ReadOnlySpan<>' を返す 'GetManagedValuesSource' と 'Span<>' を返す 'GetUnmanagedValuesDestination' メソッドを提供しません - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - アンマネージドからマネージドへのマーシャリングをサポートする連続したコレクション マーシャラーは、'int' を受け取り、'Span<>' を返す 'GetManagedValuesDestination' メソッドと、'int' を受け取って 'ReadOnlySpan<>' を返す 'GetUnmanagedValuesSource' メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - 型 '{0}' は、マーシャリング モード '{1}' をサポートすることを指定しますが、'int' を受け取り、'Span<>' を返す 'GetManagedValuesDestination' メソッドと、'Int' を受け取って 'ReadOnlySpan<>' を返す 'GetUnmanagedValuesSource' メソッドを提供しません。 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - マーシャラー型は、クローズ ジェネリックであるか、マネージド型と同じ数のジェネリック パラメーターを持つ必要があります。これにより、ジェネレーターが特定のマーシャラー型で使用できるメソッドを特定できるようになります。 - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - エントリ ポイント マーシャラー型 '{1}' のマネージド型 '{0}' は、クローズ ジェネリック型であるか、値マーシャラーの場合はマネージ型と同じアリティを持つ、またはコレクション マーシャラーの場合は追加のジェネリック パラメーターを 1 つ指定する必要があります。 - - - - The managed type for a custom marshaller must be non-null. - カスタム マーシャラーのマネージド型は null 以外である必要があります。 - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - エントリ ポイント マーシャラー型 '{0}' のマネージド型を 'null' にすることはできません - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - パラメーター '{1}' に指定された 'MarshalAsAttribute' 構成 は、ソース生成 P/Invokes ではサポートされていません。指定した構成が必要な場合は、代わりに通常の 'DllImport' を使用してください。 - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - メソッド '{1}' の戻り値に指定された 'MarshalAsAttribute' 構成は、ソース生成 P/Invokes ではサポートされていません。指定した構成が必要な場合は、代わりに通常の 'DllImport' を使用してください。 - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - 'CustomMarshallerAttribute' の 'marshalMode' 引数は、'MarshalMode' の有効な列挙値である必要があります。 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - マーシャラー型は、クローズ ジェネリックであるか、マネージド型と同じ数のジェネリック パラメーターを持つ必要があります。これにより、生成されたコードが特定のインスタンス化を使用できるようになります。 - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - エントリ ポイント マーシャラー型 '{1}' が指すマーシャラー型 '{0}' は、クローズ ジェネリック型であるか、マネージド型と同じアリティを持つ必要があります - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' の 'marshallerType' パラメーターを 'null' にすることはできません。 - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' の 'marshallerType' パラメーターを 'null' にすることはできません - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - マーシャラー型は、ステートレスな静的クラスまたはステートフルな値の型である必要があります。非静的クラスは使用できません。 - - - - The type '{0}' must be a static class or a value type - 型 '{0}' は静的クラスまたは値の型である必要があります - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - 'System.Runtime.InteropServices.CustomMarshallerAttribute' を持つ型には、非 'null' のマネージド型を指定する必要があります - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - 型 '{0}' は、型に適用される 'System.Runtime.InteropServices.CustomMarshallerAttribute' でマネージド型を指定しません - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - マーシャラー型は、クローズ ジェネリックであるか、マネージド型と同じ数のジェネリック パラメーターを持つ必要があります。これにより、生成されたコードが特定のインスタンス化を使用できるようになります。 - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - マネージド型 '{1}' のマーシャラー型 '{0}' は、クローズ ジェネリック型であるか、値マーシャラーの場合はマネージ型と同じアリティを持つ、またはコレクション マーシャラーの場合は追加のジェネリック パラメーターを 1 つ指定する必要があります。 - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute には安全でないコードが必要です。プロジェクトは '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' で更新する必要があります。 - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute には安全でないコードが必要です。プロジェクトは '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' で更新する必要があります。 - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute には安全でないコードが必要です。 - - - - The return type the two method must be the expected type. - 戻り値の型は、2 つのメソッドが期待する型である必要があります。 - - - - The return type of '{0}' must be '{1}' - 戻り値の型 '{0}' は '{1}' でなければなりません - - - - The return types of the two methods must be the same type. - 2 つのメソッドの戻り値の型は同じ型である必要があります。 - - - - The return type of '{0}' must be the same type as the return type of '{1}' - 戻り値の型 '{0}' は、戻り値の型 '{1}' と同じである必要があります - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - ステートフル マーシャラーには、'Free' という名前で、パラメーターがなく、‘void’ を返すインスタンス メソッドが必要です。 - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - 型 '{0}' はステートフル マーシャラーであり、'Free' という名前で、パラメーターがなく、’void’ を返す 0 パラメーターのインスタンス メソッドがありません - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - マネージドからアンマネージドへのマーシャリングをサポートするステートフル マーシャラーは、マネージド値をパラメーターとして受け取り 'void' を返す、'FromManaged' インスタンス メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - 型 '{0}' は、'{2}' の '{1}' マーシャリング モードをサポートすることを指定しますが、'FromManaged' という名前で、'{2}' をパラメーターとして受け取り 'void' を返す、パラメーターが 1 つのインスタンス メソッドは提供されません - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - アンマネージドからマネージドへのマーシャリングをサポートするステートフル マーシャラーは、アンマネージ値をパラメーターとして受け取り 'void' を返す 'FromUnmanaged' インスタンス メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - 型 '{0}' は、'{2}' の '{1}' マーシャリング モードをサポートすることを指定しますが、'FromUnmanaged' という名前で、’unmanaged’ 値をパラメーターとして受け取り 'void' を返す、パラメーターが 1 つのインスタンス メソッドは提供されません - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - アンマネージドからマネージドへのマーシャリングをサポートするステートフル マーシャラーは、パラメーターを受け取らずマネージド型を返す、'ToManaged' インスタンス メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - 型 '{0}' は、'{2}' の '{1}' マーシャリング モードをサポートすることを指定しますが、'ToManaged' という名前で、'{2}' を返す、パラメーター がないインスタンス メソッドは提供されていません - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - マネージドからアンマネージドへのマーシャリングをサポートするステートフル マーシャラーは、パラメーターを受け取らず 'unmanaged' 型を返す 'ToUnmanaged' インスタンス メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - 型 '{0}' は、'{2}' の '{1}' マーシャリング モードをサポートすることを指定しますが、'ToUnmanaged' という名前で、マーシャラーの 'unmanaged' 型を返す、パラメーターがないインスタンス メソッドは提供されません - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - マーシャラー型の 'Span<T>' を受け取る 'AllocateContainerForUnmanagedElements' メソッドを指定して 'Managed to Unmanaged with Caller-Allocated Buffer' シェイプを使用する場合、型は静的な 'BufferSize' プロパティを提供して、発信元が割り当てたバッファー内の要素数を提供する必要があります。 - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - マーシャラー型 '{0}' には、発信元が割り当てたバッファーのサイズを指定するために、静的な読み取り専用の 'int' 'BufferSize' プロパティが必要です、なぜなら -発信元が割り当てた 'Span<{1}>' を受け取る 'AllocateContainerForUnmanagedElements' メソッドがあるからです - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - マネージドからアンマネージドへのマーシャリングをサポートする連続したコレクション マーシャラーは、マネージド値をパラメーターとして受け取り、'ReadOnlySpan<>' を返す 'GetManagedValuesSource' メソッドを提供する必要があり、またアンマネージド値をパラメーターとして受け取り、'Span<>' を返す 'GetUnmanagedValuesDestination' メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - 型 '{0}' は、マーシャリング モード '{1}' をサポートすることを指定しますが、パラメーターとして '{2}' を受け取り、'ReadOnlySpan<>' を返す 'GetManagedValuesSource' メソッドと、アンマネージド値をパラメーターとして受け取り、'Span<>' を返す 'GetUnmanagedValuesDestination' メソッドを提供しません。 - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - アンマネージドからマネージドへのマーシャリングをサポートする連続したコレクション マーシャラーは、マネージド値を受け取り、'Span<>' を返す 'GetUnmanagedValuesSource' メソッドと、アンマネージド値と 'int' を受け取り、'ReadOnlySpan<>' を返す 'GetManagedValuesDestination' メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - 型 '{0}' は、マーシャリング モード '{1}' をサポートすることを指定しますが、'{2}' を受け取り、'Span<>' を返す 'GetManagedValuesDestination' メソッドと、アンマネージ値と 'int' を受け取って 'ReadOnlySpan<>' を返す 'GetUnmanagedValuesSource' メソッドを提供しません - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - マネージドからアンマネージドへのマーシャリングをサポートするステートレスな連続したコレクション マーシャラーは、アンマネージド型を最初のパラメーターとして受け取り、要素数を 'int' パラメーターとして受け取る 'AllocateContainerForManagedElements' メソッドを提供する必要があります - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - 型 '{0}' は、'{2}' のためのマーシャリング モード '{1}' をサポートすることを指定しますが、アンマネージ型を最初のパラメーターとして受け取り、2 番目のパラメーターとして 'int' を受け取る 2 パラメーター の 'AllocateContainerForManagedElements' メソッドを提供しません - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - マネージドからアンマネージドへのマーシャリングをサポートするステートレスな連続したコレクション マーシャラーは、マネージド型を最初のパラメーターとして受け取り、要素数を 'int' パラメーターとして受け取る 'AllocateContainerForManagedElements' メソッドを提供する必要があります - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - 型 '{0}' は '{2}' のためのマーシャリング モード '{1}' をサポートすることを指定しますが、最初のパラメーターとして '{2}' を受け取り、2 番目のパラメーターとして 'out int' を受け取る 2 パラメーターの 'AllocateContainerForUnmanagedElements' メソッドを提供しません - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - アンマネージドからマネージドへのマーシャリングをサポートするステートレスな値マーシャラーは、アンマネージ型をパラメーターとして受け取り、マネージド型を返す 'ConvertToManaged' メソッドを提供する必要があります。 - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - 型 '{0}' は、マーシャリング モード '{1}' をサポートすることを指定しますが、アンマネージド型をパラメーターとして受け取り、'{2}' を返す 'ConvertToManaged' メソッドを提供しません - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - マネージドからアンマネージドへのマーシャリングをサポートするステートレスなバリュー マーシャラーは、マネージド値をパラメーターとして受け取り、'unmanaged' 型の値を返す 1 パラメーター 'ConvertToUnmanaged' メソッドを提供する必要があります。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - 型 '{0}' は、'{2}' のマーシャリング モード '{1}' をサポートすることを指定しますが、'{2}' をパラメーターとして受け取り、'unmanaged' 型の値を返す 1 つのパラメーター 'ConvertToUnmanaged' メソッドを提供しません - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - 'ConvertToUnmanaged' の戻り値の型と 'ConvertToManaged' のパラメーター型は同じである必要があります。 - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - 'ConvertToUnmanaged' の戻り値の型と 'ConvertToManaged' のパラメーター型は同じである必要があります - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - カスタム マーシャラーのアンマネージド型は、C# アンマネージド型である必要があります。 - - - - The return type of '{0}' must be unmanaged - '{0}' の戻り値の型はアンマネージドである必要があります - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - 静的な 'GetPinnableReference' メソッドのピン留めされた結果をピン留め後にネイティブ コンテキストに渡すことができるように、'void*' は型にキャスト可能である必要があります。 - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - マネージド型 '{1}' に静的な 'GetPinnableReference' メソッドがあるため、'void*' は型 '{0}' にキャスト可能である必要があります - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - 指定された型をマーシャリングするためのエントリ ポイント型は、この型をマネージド型として指定する 'System.Runtime.InteropServices.CustomMarshallerAttribute' を持つ必要があります。 - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - 型 '{1}' 向けのエントリ ポイント マーシャラー型 '{0}' は、この型をマネージド型として指定する 'System.Runtime.InteropServices.CustomMarshallerAttribute' を 1 つ以上持つ型である必要があります - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - 'Out' 方向のマーシャリングをサポートする 'Value' や 'LinearCollection' 型のネイティブ型では、マネージド型を返す 'ToManaged' メソッドを指定する必要があります。 - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - 型 '{0}' は、'Out' 方向のマーシャリングをサポートしますが、マネージド型を返す 'ToManaged' メソッドは指定されません - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - 'ToUnmanaged' の戻り値の型と 'FromUnmanaged' のパラメーター型は同じである必要があります。 - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - 'ToUnmanaged' の戻り値の型と 'FromUnmanaged' のパラメーター型は同じである必要があります - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - ソース生成済みの P/Invoke でサポートされていない型である場合、生成された P/Invoke は、基礎となるなるランタイムに依存して、指定された型をマーシャリングします。 - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - 型 '{0}' は、ソース生成済みの P/Invoke ではサポートされていません。生成されたソースは、パラメーター '{1}' のマーシャリングを処理しません。 - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 生成されたソースはパラメーター '{1}' のマーシャリングを処理しません。 - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - 型 '{0}' は、ソース生成済みの P/Invoke ではサポートされていません。生成されたソースは、メソッド '{1}' の戻り値のマーシャリングを処理しません。 - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 生成されたソースは、メソッド '{1}' の戻り値のマーシャリングを処理しません。 - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - 指定された型は、ソースで生成された P/Invoke ではサポートされていません - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - 不要なマーシャリング情報が提供されました。このマーシャリング情報は、アプリケーションの動作を変更することなく削除できます。 - - - - Unnecessary marshalling info was provided and can be removed. - 不要なマーシャリング情報が指定されたため、削除できます。 - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - パラメーター '{1}' に不要なマーシャリング情報 '{0}' が指定されました - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - メソッド '{1}' の戻り値の型に不要なマーシャリング情報 '{0}' が指定されました - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - 'CallerAllocatedBuffer' 機能をサポートする 'Value' のネイティブ型では、マネージド型と 'アンマネージド' 型の 'Span' をパラメーターとして受け取る 2 つのパラメーター コンストラクターを指定する必要があります - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - 型 '{0}' は、'{1}' の 'CallerAllocatedBuffer' 機能を使用した 'In' マーシャリングをサポートすることを指定していますが、'{1}' と 'アンマネージド' 型の 'Span' をパラメーターとして受け取る、2 つのパラメーター コンストラクターを指定しません - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - 'Value' のネイティブ型は、マネージド型をパラメーターとして受け取る 1 つのパラメーター コンストラクターを指定する必要があります - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - 型 '{0}' では、'{1}' の 'In' マーシャリングをサポートするように指定されていますが、'{1}' をパラメーターとして受け取る 1 つのパラメーター コンストラクターは指定されません - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ko.xlf deleted file mode 100644 index c2475025e7506..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ko.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - 누락된 사용자 지정 형식 마샬러 구성원 추가 - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - 마샬러 형식에서 'Span<T>'을 사용하는 'FromManaged' 메서드를 제공하여 '호출자 할당 버퍼로 관리되지 않음' 셰이프를 사용하는 경우 형식은 숫자를 제공하기 위해 정적 'BufferSize' 속성을 제공해야 합니다. 호출자 할당 버퍼의 요소 수 - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - 마샬러 유형 '{0}'에는 호출자 할당 'Span<{1}>'를 사용하는 FromManaged 메서드가 있으므로 호출자 할당 버퍼의 크기를 지정하려면 정적 읽기 전용 'int' 'BufferSize' 속성이 있어야 합니다. - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - 생성된 'DllImportAttribute'에는 '{0}'에 해당하는 값이 없습니다. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - '{0}'에는 'DllImportAttribute'에 해당하는 항목이 없으며 전달되지 않습니다. - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - 지정된 'LibraryImportAttribute' 인수는 'DllImportAttribute'로 전달할 수 없습니다. - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - 소스 생성 P/Invoke는 지원되지 않는 구성을 무시합니다. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - '{0}' 구성은 소스 생성 P/Invoke에서 지원되지 않습니다. 지정된 구성이 필요한 경우 일반 'DllImport'를 대신 사용하세요. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - 지정된 마샬링 구성은 소스 생성 P/Invoke에서 지원되지 않습니다. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 매개 변수 '{1}'에 대해 지정된 '{0}' 구성이 소스 생성 P/Invoke에서 지원되지 않습니다. 지정된 구성이 필요한 경우 일반 'DllImport'를 대신 사용하세요. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 메서드 '{0}'의 반환 값에 대해 지정된 '{1}' 구성은 소스 생성 P/Invoke에서 지원되지 않습니다. 지정된 구성이 필요한 경우 일반 'DllImport'를 대신 사용하세요. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - '{1}'에 대해 지정된 값 '{0}'은(는) 소스 생성 P/Invoke에서 지원되지 않습니다. 지정된 값이 필요한 경우 일반 ‘DllImport’를 대신 사용하세요. - - - - Specified configuration is not supported by source-generated P/Invokes. - 지정된 구성은 소스 생성 P/Invoke에서 지원되지 않습니다. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - 'PreserveSig'가 'false'로 설정된 P/Invoke를 소스 생성 P/Invoke로 자동 변환하면 잘못된 코드가 생성될 수 있습니다. - - - - Convert to 'LibraryImport' - 'LibraryImport'로 변환 - - - - Convert to 'LibraryImport' and enable unsafe code - 'LibraryImport'로 변환하고 안전하지 않은 코드 활성화 - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 컴파일 타임에 P/Invoke 마샬링 코드를 생성하려면 'DllImportAttribute' 대신 'LibraryImportAttribute'를 사용하세요. - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - 이 API를 'LibraryImport'로 변환하려면 일부 매개 변수에 대한 사용자 지정 마샬러를 제공하기 위한 추가 코드가 필요합니다. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 컴파일 타임에 P/Invoke 마샬링 코드를 생성하려면 'DllImportAttribute' 대신 'LibraryImportAttribute'를 사용하여 '{0}' 메서드를 표시하세요. - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 컴파일 타임에 P/Invoke 마샬링 코드를 생성하려면 'DllImportAttribute' 대신 'LibraryImportAttribute'를 사용하세요. - - - - Convert to 'LibraryImport' with '{0}' suffix - '{0}' 접미사가 있는 'LibraryImport'로 변환 - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - '{0}' 접미사가 있는 'LibraryImport'로 변환하고 안전하지 않은 코드를 활성화합니다. - - - - Marshaller type does not have the required shape - 마샬러 형식에 필요한 셰이프가 없습니다. - - - - A marshaller for an element scenario cannot be stateful. - 요소 시나리오의 마샬러는 상태를 저장할 수 없습니다. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - 지정된 마샬러 형식 '{0}'은(는) 상태 저장 마샬러이지만 제공된 마샬 모드 '{1}'에서는 상태 저장 마샬러가 허용되지 않습니다. - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - 첫 번째 메서드에서 반환된 범위의 요소 형식은 두 번째 메서드에서 반환된 범위의 요소 형식과 같은 형식이어야 합니다. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - '{0}'에서 반환된 범위의 요소 형식은 '{1}'에서 반환된 범위의 요소 형식과 동일한 형식이어야 합니다. - - - - An entry-point type for marshalling a given type must not be 'null'. - 지정된 유형을 마샬링하기 위한 진입점 유형은 'null'이 아니어야 합니다. - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - '{0}' 유형의 진입점 마샬러 유형은 'null'이 아니어야 합니다. - - - - The first parameter of the first method must be the same type as the return types of the second method. - 첫 번째 메서드의 첫 번째 매개 변수는 두 번째 메서드의 반환 형식과 같은 형식이어야 합니다. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - '{0}'의 첫 번째 매개 변수는 '{1}'의 반환 형식과 동일해야 합니다. - - - - The first parameters of the two methods must be the same type. - 두 메서드의 첫 번째 매개 변수는 동일한 형식이어야 합니다. - - - - The first parameter of '{0}' and '{1}' must be the same type - '{0}' 및 '{1}'의 첫 번째 매개 변수는 동일한 형식이어야 합니다. - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - 일부 셰이프는 오버로드를 구분할 수 없으므로 'FromUnmanaged' 메서드 오버로딩은 지원되지 않습니다. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - 형식 '{0}'은(는) 사용자 지정 마샬러에서 지원되지 않는 'FromUnmanaged' 메서드를 오버로드합니다. - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - 'GetPinnableReference'의 반환 형식('ref'를 고려한 후)은 blittable이어야 합니다. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - 'GetPinnableReference' 메서드 반환 형식의 역참조 형식은 blittable이어야 합니다. - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - 메서드 '{0}'은(는) 'partial'로 표시되지 않은 '{1}' 형식에 포함되어 있습니다. P/Invoke 소스 생성은 '{0}' 메서드를 무시합니다. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - 'LibraryImportAttribute'로 표시된 메소드는 'static', 'partial' 및 비제네릭이어야 합니다. P/Invoke 소스 생성은 'static'이 아니거나 'partial'이 아니거나 제네릭인 메서드를 무시합니다. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - '{0}' 메서드는 'LibraryImportAttribute'로 표시된 경우 '정적', '부분적'이어야 하며 일반이 아니어야 합니다. P/Invoke 소스 생성은 '{0}' 메서드를 무시합니다. - - - - Invalid 'CustomMarshallerAttribute' usage - 잘못된 'CustomMarshallerAttribute' 사용 - - - - Invalid 'LibraryImportAttribute' usage - 잘못된 'LibraryImportAttribute' 사용 - - - - Specified managed type is invalid - 지정된 관리 유형이 잘못되었습니다. - - - - Invalid 'MarshalMode' value. - 'MarshalMode' 값이 잘못되었습니다. - - - - Specified marshaller type is invalid - 지정된 마샬러 유형이 잘못되었습니다. - - - - Invalid 'NativeMarshallingAttribute' usage - 잘못된 'NativeMarshallingAttribute' 사용 - - - - Marshaller type has incompatible method signatures - 마샬러 형식에 호환되지 않는 메서드 시그니처가 있습니다. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' 및 'StringMarshallingCustomType'의 구성이 잘못되었습니다. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - '{0}' 메서드의 'StringMarshalling' 및 'StringMarshallingCustomType' 구성이 잘못되었습니다. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshalling'이 'StringMarshalling.Custom'으로 설정된 경우 'StringMarshallingCustomType'을 지정해야 합니다. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshallingCustomType'이 지정된 경우 'StringMarshalling'은 'StringMarshalling.Custom'으로 설정되어야 합니다. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - 'GetManagedValuesSource'에서 반환된 'ReadOnlySpan'의 요소 형식은 'GetManagedValuesDestination'에서 반환된 요소 형식과 동일해야 합니다. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - 'GetManagedValuesSource'에서 반환된 'ReadOnlySpan'의 요소 형식은 'GetManagedValuesDestination'에서 반환된 요소 형식과 동일해야 합니다. - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - 'CallerAllocatedBuffer' 기능을 지원하는 'LinearCollection' 종류의 네이티브 형식은 관리되는 형식을 첫 번째 매개 변수로 사용하고, 'Span<byte>'을 두 번째 매개 변수로 사용하고, 요소의 네이티브 크기를 세 번째 매개 변수로 사용하는 세 개의 매개 변수 생성자를 제공해야 합니다. - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - 형식 '{0}'은(는) '{1}'에 대한 'CallerAllocatedBuffer' 기능을 사용하여 'In' 마샬링을 지원하지만 '{1}', 'Span<byte>' 및 'int'를 사용하는 3개의 매개 변수 생성자를 제공하지 않습니다. - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - 관리형 컬렉션부터 비관리형까지 마샬링까지 지원하는 연속 컬렉션 마샬러는 'ReadOnlySpan<>'을 반환하는 'GetManagedValuesSource'와 'Span<>'을 반환하는 'GetUnmanagedValuesDestination' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - 형식 '{0}'은(는) '{1}' 마샬 모드를 지원하지만 'Span<>'을 반환하는 'ReadOnlySpan<>' 및 'GetUnmanagedValuesDestination' 메서드를 반환하는 'GetManagedValuesSource'를 제공하지 않습니다. - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - 비관리형부터 관리형까지 마샬링을 지원하는 연속 컬렉션 마샬러는 'int'를 입력하면 'Span<>'을 반환하는 'GetManagedValuesDestination'과 'Int'를 입력하면 'ReadOnlySpan<>'을 반환하는 'GetUnmanagedValuesSource' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - '{0}' 형식은 '{1}' 마샬 모드를 지원하지만 'int'를 입력하면 'Span<>'을 반환하는 'GetManagedValuesDestination' 메서드 및 ‘int’를 입력하면 'ReadOnlySpan<>'을 반환하는 'GetUnmanagedValuesSource'을 제공하지 않습니다. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - 생성기가 특정 마샬러 유형에서 사용할 수 있는 메서드를 결정할 수 있도록 마샬러 형식은 닫힌 제네릭이거나 관리되는 형식과 동일한 수의 제네릭 매개 변수를 가져야 합니다. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - 진입점 마샬러 유형 '{1}'에 대한 관리 유형 '{0}'은(는) 닫힌 제네릭 유형이어야 하고, 값 마샬러인 경우 관리 유형과 동일한 우선순위를 가져야 하며, 컬렉션 마샬러인 경우 하나의 추가 제네릭 매개 변수가 있어야 합니다. - - - - The managed type for a custom marshaller must be non-null. - 사용자 지정 마샬러의 관리 형식은 null이 아니어야 합니다. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - 진입점 마샬러 유형 '{0}'의 관리 유형은 'null'이 아니어야 합니다. - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 매개 변수 '{1}'에 대해 지정된 'MarshalAsAttribute' 구성은 소스 생성 P/Invokes에서 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 일반 'DllImport'를 사용합니다. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 메서드 '{1}'의 반환 값에 대해 지정된 'MarshalAsAttribute' 구성은 소스에서 생성된 P/Invokes에서 지원되지 않습니다. 지정된 구성이 필요한 경우 대신 일반 'DllImport'를 사용합니다. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - 'CustomMarshallerAttribute'의 'marshalMode' 인수는 'MarshalMode'의 유효한 열거형 값이어야 합니다. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - 마샬러 형식은 닫힌 제네릭이거나 관리되는 형식과 동일한 수의 제네릭 매개 변수가 있어야 내보낸 코드에서 특정 인스턴스화를 사용할 수 있습니다. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - 진입점 마샬러 유형 '{1}'이(가) 가리키는 마샬러 유형 '{0}'은(는) 닫힌 제네릭 유형이거나 관리되는 유형과 같은 우선순위를 가져야 합니다. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute'의 'marshallerType' 매개 변수는 'null'일 수 없습니다. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute'의 'marshallerType' 매개 변수는 'null'일 수 없습니다. - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - 마샬러 형식은 상태 비저장 정적 클래스 또는 상태 저장 값 형식이어야 합니다. 비정적 클래스는 사용할 수 없습니다. - - - - The type '{0}' must be a static class or a value type - '{0}' 형식은 정적 클래스 또는 값 형식이어야 합니다. - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - 'System.Runtime.InteropServices.CustomMarshallerAttribute'가 있는 유형은 'null'이 아닌 관리 유형을 지정해야 합니다. - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - 유형 '{0}'은(는) 유형에 적용된 'System.Runtime.InteropServices.CustomMarshallerAttribute'에서 관리되는 유형을 지정하지 않습니다. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - 마샬러 형식은 닫힌 제네릭이거나 관리되는 형식과 동일한 수의 제네릭 매개 변수가 있어야 내보낸 코드에서 특정 인스턴스화를 사용할 수 있습니다. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - 관리 유형 '{1}'에 대한 마샬러 유형 '{0}'은(는) 닫힌 제네릭 유형이어야 하고, 값 마샬러인 경우 관리 유형과 동일한 우선순위를 가져야 하며, 컬렉션 마샬러인 경우 하나의 추가 제네릭 매개 변수가 있어야 합니다. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute에는 안전하지 않은 코드가 필요합니다. 프로젝트는 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'로 업데이트해야 합니다. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute에는 안전하지 않은 코드가 필요합니다. 프로젝트는 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'로 업데이트해야 합니다. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute에는 안전하지 않은 코드가 필요합니다. - - - - The return type the two method must be the expected type. - 두 메서드가 필요한 형식이어야 하는 반환 형식입니다. - - - - The return type of '{0}' must be '{1}' - '{0}'의 반환 형식은 '{1}'이어야 합니다. - - - - The return types of the two methods must be the same type. - 두 메서드의 반환 형식은 같아야 합니다. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - '{0}' 반환 형식은 '{1}' 반환 형식과 같아야 합니다. - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - 상태 저장 마샬러에는 'Free'라는 0 매개 변수 반환 인스턴스 메서드가 있어야 합니다. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - 형식 '{0}'은(는) 상태 저장 마샬러이며 'Free'라는 이름의 0 매개 변수 무효 반환 인스턴스 메서드가 없습니다. - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - 관리형에서 비관리형으로의 마샬링을 지원하는 상태 저장 마샬러는 관리되는 값을 매개 변수로 사용하고 'void'를 반환하는 'FromManaged' 인스턴스 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - 형식 '{0}'은(는) '{2}'에 대한 '{1}' 마샬 모드를 지원하도록 지정하지만 '{2}’을(를) 값을 매개 변수로 사용하고 'void'를 반환하는 'FromManaged'라는 단일 매개 변수 인스턴스 메서드를 제공하지 않습니다. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - 비관리에서 관리로의 마샬링을 지원하는 상태 저장 마샬러는 비관리 값을 매개 변수로 사용하고 'void'를 반환하는 'FromUnmanaged' 인스턴스 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - 형식 '{0}'은(는) '{2}'에 대한 '{1}' 마샬 모드를 지원하도록 지정하지만 'unmanaged' 값을 매개변수로 사용하고 'void'를 반환하는 'FromUnmanaged'라는 단일 매개 변수 인스턴스 메서드를 제공하지 않습니다. - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - 비관리형에서 관리형으로의 마샬링을 지원하는 상태 저장 마샬러는 매개 변수를 사용하지 않고 관리되는 형식을 반환하는 'ToManaged' 인스턴스 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - 형식 '{0}'은(는) '{2}'에 대한 '{1}' 마샬 모드를 지원하도록 지정하지만 {2}을(를) 반환하는 'ToManaged'라는 매개 변수가 없는 인스턴스 메서드를 제공하지 않습니다. - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - 관리형에서 비관리형으로의 마샬링을 지원하는 상태 저장 마샬러는 매개 변수를 사용하지 않고 '관리되지 않는' 형식을 반환하는 'ToUnmanaged' 인스턴스 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - 형식 '{0}'은(는) '{2}'에 대한 '{1}' 마샬 모드를 지원하도록 지정하지만 마샬러에 대한 '관리되지 않는' 형식을 반환하는 'ToUnmanaged'라는 매개 변수가 없는 인스턴스 메서드를 제공하지 않습니다. - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - 마샬러 형식에서 'Span<T>'을 사용하는 'AllocateContainerForUnmanagedElements' 메서드를 제공하여 '호출자 할당 버퍼로 관리되지 않음' 셰이프를 사용하는 경우 형식은 호출자 할당 버퍼의 요소 수를 제공하기 위해 정적 'BufferSize' 속성을 제공해야 합니다. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - 마샬러 유형 '{0}'에는 호출자 할당 'Span<{1}>'을 사용하는 'AllocateContainerForUnmanagedElements' 메서드가 있으므로 호출자 할당 버퍼의 크기를 지정하려면 정적 읽기 전용 'int' 'BufferSize' 속성이 있어야 합니다. - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - 관리형부터 비관리형 마샬링까지 지원하는 연속 컬렉션 마샬러는 관리되는 값을 매개 변수로 입력하면 'ReadOnlySpan<>'을 반환하는 'GetManagedValuesSource'와 비관리형 값을 매개 변수로 입력하면 'Span<>'을 반환하는 'GetUnmanagedValuesDestination' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - '{0}' 형식은 '{1}' 마샬링 모드를 지원하지만 '{2}' 매개 변수로 사용하고 'ReadOnlySpan<>' 및 'GetUnmanagedValuesDestination' 메서드를 반환하는 'GetManagedValuesSource'를 제공하지 않습니다. 이 메서드는 비관리형 값을 매개 변수를 입력하면 'Span<>'을 반환합니다. - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - 비관리형부터 관리형 마샬링까지 지원하는 연속 컬렉션 마샬러는 관리되는 값을 입력하면 'Span<>'을 반환하는 'GetManagedValuesDestination'과 관리되지 않는 값을 입력하면 'ReadOnlySpan<>'을 반환하는 'GetUnmanagedValuesSource' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - '{0}' 형식은 '{1}' 마샬 모드를 지원하지만 '{2}'을(를) 입력하면 'Span<>'을 반환하는 'GetManagedValuesDestination' 메서드 및 관리되지 않는 값과 ‘int’를 입력하면 'ReadOnlySpan<>'을 반환하는 'GetUnmanagedValuesSource'을 제공하지 않습니다. - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - 관리형 컬렉션부터 비관리형까지 마샬링까지 지원하는 상태 비저장 연속 컬렉션 마샬러는 비관리형 형식을 첫 번째 매개 변수로 사용하고 요소 수를 'int' 매개 변수로 사용하는 'AllocateContainerForManagedElements' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - '{0}' 형식은 '{2}'에 대해 '{1}' 마샬 모드를 지원하지만 비관리형 형식을 첫 번째 매개 변수로 사용하고 두 번째 매개 변수로 'out int'를 사용하는 이중 변수 'AllocateContainerForManagedElements' 메서드를 제공하지 않습니다. - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - 관리형부터 비관리형 마샬링까지 지원하는 상태 비저장 연속 컬렉션 마샬러는 비관리형 형식을 첫 번째 매개 변수를 사용하고 요소 수를 'out int' 매개 변수로 사용하는 'AllocateContainerForUnmanagedElements' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - '{0}' 형식은 '{2}'에 대해 '{1}' 마샬 모드를 지원하지만 '{2}'을 첫 번째 매개 변수로 사용하고 두 번째 매개 변수로 'out int'를 사용하는 이중 변수 'AllocateContainerForUnmanagedElements' 메서드를 제공하지 않습니다. - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - 비관리형 형식부터 관리형 형식까지 마샬링을 지원하는 상태 비저장 값 마샬러는 비관리형 형식을 매개 변수로 사용하고 관리형 형식을 반환하는 'ConvertToManaged' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - '{0}' 형식은 '{1}' 마샬 모드를 지원하지만 비관리형을 매개 변수로 입력하면 '{2}'을(를) 반환하는 'ConvertToManaged' 메서드를 제공하지 않습니다. - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - 관리형부터 비관리형 마샬링까지 지원하는 상태 비저장 값 마샬러는 관리형 값을 매개 변수로 사용하고 '비관리형' 형식의 값을 반환하는 단일 매개 변수 'ConvertToUnmanaged' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - '{0}' 형식은 '{2}'에 대해 '{1}' 마샬링 모드를 지원하지만 '{2}'을 매개 변수로 입력하면 '비관리형' 형식의 값을 반환하는 단일 매개 변수 'ConvertToUnmanaged' 메서드를 제공하지 않습니다. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - 'ConvertToUnmanaged'의 반환 유형과 'ConvertToManaged'의 매개 변수 유형은 동일해야 합니다. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - 'ConvertToUnmanaged'의 반환 유형과 'ConvertToManaged'의 매개 변수 유형은 동일해야 합니다. - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - 사용자 지정 마샬러의 비관리형 형식은 C# 비관리형 형식이어야 합니다. - - - - The return type of '{0}' must be unmanaged - '{0}'의 반환 형식은 비관리형이어야 합니다. - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - 고정된 후 정적 'GetPinnableReference' 메서드의 고정된 결과를 기본 컨텍스트로 전달할 수 있도록 'void*'는 유형으로 캐스팅 가능해야 합니다. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - 관리 유형 '{1}'에 정적 'GetPinnableReference' 메서드가 있으므로 'void*'는 '{0}' 유형으로 캐스팅 가능해야 합니다. - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - 지정된 형식을 마샬링하기 위한 진입점 형식에는 이 형식을 관리되는 형식으로 지정하는 'System.Runtime.InteropServices.CustomMarshallerAttribute'가 있어야 합니다. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - '{1}' 유형의 진입점 마샬러 유형 '{0}'은(는) 이 유형을 관리 유형으로 지정하는 'System.Runtime.InteropServices.CustomMarshallerAttribute'가 하나 이상 있는 유형이어야 합니다. - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - 'Out' 방향으로 마샬링을 지원하는 'Value' 또는 'LinearCollection' 종류의 네이티브 형식은 관리 형식을 반환하는 'ToManaged' 메서드를 제공해야 합니다. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - 형식 '{0}'은(는) 'Out' 방향으로 마샬링을 지원하도록 지정하지만 관리 형식을 반환하는 'ToManaged' 메서드를 제공하지 않습니다. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - 'ToUnmanaged'의 반환 유형과 'FromUnmanaged'의 매개 변수 유형은 동일해야 합니다. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - 'ToUnmanaged'의 반환 유형과 'FromUnmanaged'의 매개 변수 유형은 동일해야 합니다. - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - 소스 생성 P/Invoke에서 지원하지 않는 형식의 경우 결과 P/Invoke는 기본 런타임에 의존하여 지정된 형식을 마샬링합니다. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - 형식 '{0}'은(는) 소스 생성 P/Invoke에서 지원되지 않습니다. 생성된 소스는 '{1}' 매개 변수의 마샬링을 처리하지 않습니다. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 생성된 소스는 '{1}' 매개 변수의 마샬링을 처리하지 않습니다. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - 형식 '{0}'은(는) 소스 생성 P/Invoke에서 지원되지 않습니다. 생성된 소스는 '{1}' 메서드의 반환 값 마샬링을 처리하지 않습니다. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 생성된 소스는 '{1}' 메서드의 반환 값 마샬링을 처리하지 않습니다. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - 지정된 형식은 소스 생성 P/Invoke에서 지원되지 않습니다. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - 'CallerAllocatedBuffer' 기능을 지원하는 '값' 종류의 네이티브 형식은 관리되는 형식과 '관리되지 않는' 형식의 'Span'을 매개 변수로 사용하는 두 개의 매개 변수 생성자를 제공해야 합니다. - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - 형식 '{0}은(는) '{1}에 대한 'CallerAllocatedBuffer' 기능으로 'In' 마샬링을 지원하도록 지정하지만 '{1} 및 '관리되지 않는' 형식의 'Span'을 매개 변수로 사용하는 2개의 매개 변수 생성자는 제공하지 않습니다. - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - 'Value' 종류의 네이티브 형식은 관리 형식을 매개 변수로 사용하는 단일 매개 변수 생성자를 제공해야 합니다. - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - 형식 '{0}'은(는) '{1}'의 'In' 마샬링을 지원하도록 지정하지만 '{1}'을(를) 매개 변수로 사용하는 단일 매개 변수 생성자는 제공하지 않습니다. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pl.xlf deleted file mode 100644 index 973db6ef00e82..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pl.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Dodaj brakujące składowe elementu przeprowadzającego marshalling typu niestandardowego - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Gdy kształt „Zarządzane do niezarządzanego za pomocą buforu przydzielonego przez wywołującego” jest używany przez podanie metody „FromManaged”, która przyjmuje element „Span< T>” w typie marshallera, typ musi udostępniać statyczną właściwość „BufferSize”, aby podać liczbę elementów w buforze przydzielonym przez wywołującego. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - Typ marshallera „{0}” musi mieć statyczną właściwość „int” „BufferSize” tylko do odczytu, aby określić rozmiar buforu przydzielonego przez wywołującego, ponieważ ma metodę FromManaged, która przyjmuje przydzielony przez wywołującego element „Span<{1}>” - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - Wygenerowany atrybut „DllImportAttribute” nie będzie miał wartości odpowiadającej elementowi „{0}”. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - Element „{0}” nie ma odpowiednika w atrybucie „DllImportAtttribute” i nie zostanie przekazany - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Określonych argumentów „LibraryImportAttribute” nie można przekazać do elementu „DllImportAttribute” - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - Funkcja P/Invokes generowana przez źródło zignoruje każdą nieobsługiwaną konfigurację. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Konfiguracja „{0}” nie jest obsługiwana przez funkcję P/Invokes generowaną przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast tego zwykłego elementu „DllImport”. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - Określona konfiguracja skierowania nie jest obsługiwana przez funkcję P/Invokes generowaną przez źródło. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Określona konfiguracja „{0}” dla parametru „{1}” nie jest obsługiwana przez funkcję P/Invokes generowaną przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast tego zwykłego elementu „DllImport”. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Określona konfiguracja „{0}” dla wartości zwracanej metody „{1}” nie jest obsługiwana przez funkcję P/Invokes generowaną przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast tego zwykłego elementu „DllImport”. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - Określona wartość „{0}” dla parametru „{1}” nie jest obsługiwana przez funkcję P/Invokes generowaną przez źródło. Jeśli określona konfiguracja jest wymagana, użyj zamiast tego zwykłego elementu „DllImport”. - - - - Specified configuration is not supported by source-generated P/Invokes. - Określona konfiguracja nie jest obsługiwana przez funkcję P/Invokes generowaną przez źródło. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - Automatyczne konwertowanie funkcji P/Invoke z parametrem „PreserveSig” ustawionym na wartość „false” na wygenerowaną przez źródło funkcję P/Invoke może spowodować utworzenie nieprawidłowego kodu - - - - Convert to 'LibraryImport' - Konwertuj na element „LibraryImport” - - - - Convert to 'LibraryImport' and enable unsafe code - Konwertuj na element „LibraryImport” i włącz niebezpieczny kod - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Użyj elementu „LibraryImportAttribute” zamiast elementu „DllImportAttribute”, aby wygenerować kod skierowania funkcji P/Invoke w czasie kompilacji - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - Przekonwertowanie tego interfejsu API na element „LibraryImport” będzie wymagać dodatkowego kodu w celu udostępnienia niestandardowych poleceń dla niektórych parametrów. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Oznacz metodę „{0}” za pomocą elementu „LibraryImportAttribute” zamiast elementu „DllImportAttribute”, aby wygenerować kod skierowania funkcji P/Invoke w czasie kompilacji - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Użyj elementu „LibraryImportAttribute” zamiast elementu „DllImportAttribute”, aby wygenerować kod skierowania funkcji P/Invoke w czasie kompilacji - - - - Convert to 'LibraryImport' with '{0}' suffix - Konwertuj na element „LibraryImport” z sufiksem „{0}” - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Konwertuj na element „LibraryImport” z sufiksem „{0}” i włącz niebezpieczny kod - - - - Marshaller type does not have the required shape - Typ marshallera nie ma wymaganego kształtu - - - - A marshaller for an element scenario cannot be stateful. - Marshaller dla scenariusza elementu nie może być stanowy. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - Określony typ marshallera „{0}” jest stanowym marshallerem, ale stanowe marshallery nie są dozwolone w podanym trybie marshalingu „{1}” - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - Typ elementu zakresu zwracanego przez pierwszą metodę musi być tego samego typu co typ elementu zakresu zwracanego przez drugą metodę. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - Typ elementu zakresu zwracanego przez „{0}” musi być tego samego typu co typ elementu zakresu zwracanego przez „{1}”. - - - - An entry-point type for marshalling a given type must not be 'null'. - Typ punktu wejścia do przeprowadzenia marshalingu danego typu nie może mieć wartości „null”. - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - Typ marshallera punktu wejścia dla typu „{0}” nie może mieć wartości „null” - - - - The first parameter of the first method must be the same type as the return types of the second method. - Pierwszy parametr pierwszej metody musi być tego samego typu co zwracane typy drugiej metody. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - Pierwszy parametr „{0}” musi być tego samego typu co zwracany typ „{1}” - - - - The first parameters of the two methods must be the same type. - Pierwsze parametry obu tych metod muszą być tego samego typu. - - - - The first parameter of '{0}' and '{1}' must be the same type - Pierwszy parametr „{0}” i „{1}” musi być tego samego typu - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - Przeciążenie metody „FromUnmanaged” nie jest obsługiwane, ponieważ niektóre kształty nie mogą rozróżnić przeciążeń. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - Typ „{0}” przeciąża metodę „ZNiezarządzane”, która nie jest obsługiwana w niestandardowych marshalerach - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - Zwracany typ elementu „GetPinnableReference” (po uwzględnieniu wartości „ref”) musi być kopiowalny. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - Typ, do którego nie można usunąć odwołania, zwracanego typu metody „GetPinnableReference” musi być kopiowalny - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Metoda „{0}” jest zawarta w typie „{1}”, który nie jest oznaczony jako „częściowy”. Generowanie źródła funkcji P/Invoke zignoruje metodę „{0}”. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Metody oznaczone jako atrybut „LibraryImportAttribute” powinny być „statyczne”, „częściowe” i nieogólne. Generowanie źródła funkcji P/Invoke zignoruje metody, które nie są „statyczne”, nie są „częściowe” lub ogólne. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Metoda „{0}” powinna być „statyczna”, „częściowa” i nieogólna, gdy jest oznaczona za pomocą atrybutu „LibraryImportAttribute”. Generowanie źródła funkcji P/Invoke zignoruje metodę „{0}”. - - - - Invalid 'CustomMarshallerAttribute' usage - Nieprawidłowe użycie atrybutu „CustomMarshallerAttribute” - - - - Invalid 'LibraryImportAttribute' usage - Nieprawidłowe użycie parametru „LibraryImportAttribute” - - - - Specified managed type is invalid - Określony typ zarządzany jest nieprawidłowy - - - - Invalid 'MarshalMode' value. - Nieprawidłowa wartość „MarshalMode”. - - - - Specified marshaller type is invalid - Określony typ marshallera jest nieprawidłowy - - - - Invalid 'NativeMarshallingAttribute' usage - Nieprawidłowe użycie atrybutu „NativeMarshallingAttribute” - - - - Marshaller type has incompatible method signatures - Typ marshallera ma niezgodne sygnatury metody - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Konfiguracja elementów „StringMarshalling” i „StringMarshallingCustomType” jest nieprawidłowa. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Konfiguracja elementów „StringMarshalling” i „StringMarshallingCustomType” w metodzie „{0}” jest nieprawidłowa. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - Element „StringMarshallingCustomType” należy określić, gdy element „StringMarshalling” ma wartość „StringMarshalling.Custom”. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - Element „StringMarshalling” należy ustawić na wartość „StringMarshalling.Custom”, gdy określono element „StringMarshallingCustomType”. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - Typ elementu „ReadOnlySpan” zwracany przez element „GetManagedValuesSource” musi być taki sam jak typ elementu zwracany przez element „GetManagedValuesDestination”. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - Typ elementu „ReadOnlySpan” zwracany przez element „GetManagedValuesSource” musi być taki sam jak typ elementu zwracany przez element „GetManagedValuesDestination” - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Typ natywny rodzaju „LinearCollection”, który obsługuje funkcję „CallerAllocatedBuffer”, musi zapewniać konstruktora z trzema parametrami, przyjmującego typ zarządzany jako pierwszy parametr, wartość „Span<byte>” jako drugi parametr i natywny rozmiar elementu jako trzeci parametr - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - Typ „{0}” określa, że obsługuje funkcję skierowania „In” z funkcją „CallerAllocatedBuffer” dla elementu „{1}”, ale nie udostępnia konstruktora z trzema parametrami, który przyjmuje wartość „{1}”, \"Span<byte>\" i „int” - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Organizator zwartej kolekcji, który obsługuje przeprowadzanie marshalingu z zarządzanych do niezarządzanych, musi zapewniać metodę „GetManagedValuesSource”, która zwraca wartość „ReadOnlySpan<>” oraz metodę „GetUnmanagedValuesDestination”, która zwraca wartość „Span<>”. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - Typ „{0}” określa, że obsługuje tryb przeprowadzenia marshalingu „{1}”, ale nie zapewnia metody „GetManagedValuesSource”, która zwraca wartość „ReadOnlySpan<>” ani metody „GetNativeValuesDestination”, która zwraca wartość „Span<>” - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Organizator zwartej kolekcji, który obsługuje przeprowadzanie marshalingu z niezarządzanych do zarządzanych, musi zapewniać metodę „GetManagedValuesDestination”, która przyjmuje wartość „int” i zwraca wartość „Span<>”, oraz metodę „GetUnmanagedValuesSource”, która przyjmuje wartość „int” i zwraca wartość „ReadOnlySpan<>”. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - Typ „{0}” określa, że obsługuje tryb przeprowadzania marshalingu „{1}”, ale nie zapewnia metody „GetManagedValuesDestination”, która przyjmuje wartość „int” i zwraca wartość „Span<>”, oraz metodę „GetUnmanagedValuesSource”, która przyjmuje wartość „int” i zwraca wartość „ReadOnlySpan<>” - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - Typ marshallera musi być zamkniętym typem ogólnym lub mieć taką samą liczbę parametrów ogólnych jak typ zarządzany, aby generator mógł określić, które metody są dostępne na określonych typach marshallerów. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Typ zarządzany „{0}” dla typu marshaller punktu wejścia „{1}” musi być zamkniętym typem ogólnym, mieć taką samą argumentację jak typ zarządzany, jeśli jest to marshaller wartości lub mieć jeden dodatkowy parametr ogólny, jeśli jest to marshaller kolekcji. - - - - The managed type for a custom marshaller must be non-null. - Typ zarządzany dla niestandardowego marshallera musi mieć wartość inną niż null. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - Typ zarządzany dla typu marshaller punktu wejścia „{0}” nie może mieć wartości „null” - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Określona konfiguracja atrybutu „MarshalAsAttribute” dla parametru „{1}” nie jest obsługiwana przez generowane źródłowo P/Invokes. Jeśli określona konfiguracja jest wymagana, należy zamiast niej użyć zwykłego elementu „DllImport”. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Określona konfiguracja atrybutu „MarshalAsAttribute” dla wartości zwracanej metody „{1}” nie jest obsługiwana przez generowane źródłowo P/Invokes. Jeśli określona konfiguracja jest wymagana, należy zamiast niej użyć zwykłego elementu „DllImport”. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - Argument „marshalMode” atrybutu „CustomMarshaellerAttribute” musi być prawidłową wartością wyliczenia argumentu „MarshalMode”. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Typ marshallera musi być zamkniętym typem ogólnym lub mieć taką samą liczbę parametrów ogólnych jak typ zarządzany, aby emitowany kod mógł używać określonego wystąpienia. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - Typ marshallera „{0}” wskazywanego przez typ marshallera punktu wejścia „{1}” musi być zamkniętym typem ogólnym lub mieć taką samą argumentację jak typ zarządzany - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - Parametr „marshallerType” w atrybucie „System.Runtime.InteropServices.Marshalling.CustomMarshaellerAttribute” nie może mieć wartości „null”. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - Parametr „marshallerType” w atrybucie „System.Runtime.InteropServices.Marshalling.CustomMarshaellerAttribute” nie może mieć wartości „null” - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Typ organizatora musi być bezstanową klasą statyczną lub stanowym typem wartości. Klasa niestatyczna jest niedozwolona. - - - - The type '{0}' must be a static class or a value type - Typ „{0}” musi być klasą statyczną lub typem wartości - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Typ z atrybutem „System.Runtime.InteropServices.CustomMarshaellerAttribute” musi określać typ zarządzany inny niż „null” - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - Typ „{0}” nie określa typu zarządzanego w atrybucie „System.Runtime.InteropServices.CustomTypeMarshallerAttribute” zastosowanym do typu - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Typ marshallera musi być zamkniętym typem ogólnym lub mieć taką samą liczbę parametrów ogólnych jak typ zarządzany, aby emitowany kod mógł używać określonego wystąpienia. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Typ marshallera „{0}” dla typu zarządzanego „{1}” musi być zamkniętym typem ogólnym, mieć taką samą argumentację jak typ zarządzany, jeśli jest to marshaller wartości lub mieć jeden dodatkowy parametr ogólny, jeśli jest to marshaller kolekcji. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Element LibraryImportAttribute wymaga niebezpiecznego kodu. Projekt musi zostać zaktualizowany za pomocą „<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Element LibraryImportAttribute wymaga niebezpiecznego kodu. Projekt musi zostać zaktualizowany za pomocą „<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”. - - - - LibraryImportAttribute requires unsafe code. - Element LibraryImportAttribute wymaga niebezpiecznego kodu. - - - - The return type the two method must be the expected type. - Zwracany typ obu tych metod musi być oczekiwanym typem. - - - - The return type of '{0}' must be '{1}' - Zwracany typ „{0}” musi być „{1}” - - - - The return types of the two methods must be the same type. - Zwracane typy obu tych metod muszą być tego samego typu. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - Zwracany typ „{0}” musi być tego samego typu co zwracany typ „{1}” - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Stanowy marshaller musi mieć metodę wystąpienia zwracającą wartość nieważną o parametrze 0 o nazwie „Free”. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - Typ „{0}” jest stanowym marshallerem i nie ma metody wystąpienia zwracającego wartość nieważną o parametrze 0 o nazwie „Free” - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Stanowu marshaller obsługujący kierowanie z zarządzanego do niezarządzanego musi udostępniać metodę wystąpienia „ZNiezarządzane”, która przyjmuje wartość zarządzaną jako parametr i zwraca wartość „nieważne” - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - Typ „{0}” określa, że obsługuje tryb marshalingu „{1}” dla „{2}”, ale nie udostępnia metody wystąpienia z jednym parametrem o nazwie „ZNiezarządzane”, która przyjmuje jako parametr „{2}” i zwraca wartość „nieważne” - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Stanowy marshaller obsługujący kierowanie z niezarządzanego do zarządzanego musi udostępniać metodę wystąpienia „ZNiezarządzane”, która przyjmuje wartość niezarządzaną jako parametr i zwraca wartość „nieważne”. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - Typ „{0}” określa, że obsługuje tryb marshalingu „{1}” dla elementu „{2}”, ale nie udostępnia metody wystąpienia jednego parametru o nazwie „ZNiezarządzane”, która przyjmuje wartość „niezarządzane” jako parametr i zwraca wartość „nieważne” - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Marshaller stanu obsługujący kierowanie z niezarządzanego do zarządzanego musi udostępniać metodę wystąpienia „DoZarządzane”, która nie przyjmuje parametrów i zwraca typ zarządzany. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - Typ „{0}” określa, że obsługuje tryb marshalingu „{1}” dla elementu „{2}”, ale nie udostępnia metody wystąpienia o wartości zero parametrów o nazwie „DoZarządzane”, która zwraca wartość „{2}” - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Stanowy marshaller obsługujący kierowanie z zarządzanego do niezarządzanego musi udostępniać metodę wystąpienia „DoNiezarządzane”, która nie przyjmuje parametrów i zwraca typ „niezarządzane”. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - Typ „{0}” określa, że obsługuje tryb marshalingu „{1}” dla elementu „{2}”, ale nie udostępnia metody wystąpienia o wartości zero parametrów o nazwie „DoNiezarządzane”, która zwraca typ „niezarządzane” dla marshalera - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Gdy kształt „Zarządzane do niezarządzanych za pomocą buforu przydzielonego przez wywołującego” jest używany poprzez zapewnienie metody „AllocateContainerForUnmanagedElements”, która przyjmuje wartość „Span< T>” w przypadku typu organizatora, typ musi zapewniać statyczną właściwość „BufferSize”, aby określić liczbę elementów w buforze przydzielonym przez wywołującego. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - Typ organizatora „{0}” musi mieć statyczną właściwość „BufferSize” „int” tylko do odczytu, aby określić rozmiar buforu przydzielonego przez wywołującego, ponieważ ma metodę „AllocateContainerForUnmanagedElements”, która przyjmuje przydzieloną przez wywołującego wartość „Span<{1}>” - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Organizator zwartej kolekcji, który obsługuje przeprowadzanie marshalingu z niezarządzanych do zarządzanych, musi zapewniać metodę „GetManagedValuesSource”, która przyjmuje zarządzaną wartość jako parametr i zwraca wartość „ReadOnlySpan<>”, oraz metodę „GetUnmanagedValuesDestination”, która przyjmuje niezarządzaną wartość jako parametr i zwraca wartość „Span<>”. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Typ „{0}” określa, że obsługuje tryb przeprowadzania marshalingu „{1}”, ale nie zapewnia metody „GetManagedValuesSource”, która przyjmuje wartość „{2}” jako parametr i zwraca wartość „ReadOnlySpan<>”, oraz metodę „GetUnmanagedValuesDestination”, która przyjmuje niezarządzaną wartość jako parametr i zwraca wartość „Span<>” - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Organizator zwartej kolekcji, który obsługuje przeprowadzanie marshalingu z niezarządzanych do zarządzanych, musi zapewniać metodę „GetManagedValuesDestination”, która przyjmuje zarządzaną wartość i zwraca wartość „Span<>”, oraz metodę „GetUnmanagedValuesSource”, która przyjmuje niezarządzaną wartość i wartość „int” oraz zwraca wartość „ReadOnlySpan<>”. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - Typ „{0}” określa, że obsługuje tryb przeprowadzania marshalingu „{1}”, ale nie zapewnia metody „GetManagedValuesDestination”, która przyjmuje wartość „{2}” i zwraca wartość „Span<>”, oraz metodę „GetUnmanagedValuesSource”, która przyjmuje wartość niezarządzaną i „int” oraz zwraca wartość „ReadOnlySpan<>” - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Bezstanowy organizator zwartej kolekcji, który obsługuje przeprowadzanie marshalingu z zarządzanych do niezarządzanych, musi zapewniać metodę „AllocateContainerForManagedElements”, przyjmując typ niezarządzany jako pierwszy parametr oraz liczbę elementów jako parametr „int” - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - Typ „{0}” określa, że obsługuje tryb przeprowadzania marshalingu „{1}” dla „{2}”, ale nie zapewnia metody „AllocateContainerForManagedElements” z dwoma parametrami, która przyjmuje typ niezarządzany jako pierwszy parametr i wartość „int” jako drugi parametr - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Bezstanowy organizator zwartej kolekcji, który obsługuje przeprowadzanie marshalingu z zarządzanych do niezarządzanych, musi zapewniać metodę „AllocateContainerForUnmanagedElements”, przyjmując typ zarządzany jako pierwszy parametr oraz określając liczbę elementów jako parametr „out int” - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - Typ „{0}” określa, że obsługuje tryb przeprowadzania marshalingu „{1}” dla „{2}”, ale nie zapewnia metody „AllocateContainerForUnmanagedElements” z dwoma parametrami, która przyjmuje wartość „{2}” jako pierwszy parametr i wartość „out int” jako drugi parametr - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Bezstanowy organizator wartości, który obsługuje przeprowadzanie marshalingu z zarządzanych do niezarządzanych, musi zapewniać metodę „ConvertToManaged”, która przyjmuje typ niezarządzany jako parametr i zwraca typ zarządzany. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - Typ „{0}” określa, że obsługuje tryb przeprowadzania marshalingu „{1}”, ale nie zapewnia metody „ConvertToManaged”, która przyjmuje typ niezarządzany jako parametr i zwraca wartość „{2}” - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Bezstanowy organizator wartości, który obsługuje przeprowadzanie marshalingu z zarządzanych do niezarządzanych, musi zapewniać metodę „ConvertToUnmanaged” z jednym parametrem, która przyjmuje wartość zarządzaną jako parametr i zwraca wartość typu „niezarządzany”. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - Typ „{0}” określa, że obsługuje tryb przeprowadzania marshalingu „{1}” dla „{2}”, ale nie zapewnia metody „ConvertToUnmanaged” z jednym parametrem, która przyjmuje wartość „{2}” jako parametr i zwraca wartość typu „niezarządzany” - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - Zwracany typ elementu „ConvertToUnmanaged” i typ parametru elementu „ConvertToManaged” muszą być takie same. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - Zwracany typ elementu „ConvertToUnmanaged” i typ parametru elementu „ConvertToManaged” muszą być takie same - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - Typ niezarządzany dla niestandardowego organizatora musi być niezarządzanym typem języka C#. - - - - The return type of '{0}' must be unmanaged - Zwracany typ „{0}” musi być niezarządzany - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - Element „void*” musi być rzutowany na typ, aby przypięty wynik statycznej metody „GetPinnableReference” mógł zostać przekazany do kontekstu macierzystego po przypięciu. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - Element „void*” musi być rzutowany na typ „{0}”, ponieważ typ zarządzany „{1}” ma statyczną metodę „GetPinnableReference” - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Typ punktu wejścia do przeprowadzenia marshalingu danego typu musi mieć atrybut „System.Runtime.InteropServices.CustomMarshaellerAttribute”, który określa ten typ jako typ zarządzany. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - Typ marshallera punktu wejścia „{0}” dla typu „{1}” musi być typem z co najmniej jednym atrybutem „System.Runtime.InteropServices.CustomMarshaellerAttribute”, który określa ten typ jako typ zarządzany - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Typ natywny rodzaju „Value” lub „LinearCollection”, który obsługuje skierowanie w kierunku „Out”, musi zapewniać metodę „ToManaged”, która zwraca typ zarządzany. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - Typ „{0}” określa, że obsługuje skierowanie w kierunku „Out”, ale nie zapewnia metody „ToManaged”, która zwraca typ zarządzany - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - Zwracany typ elementu „ToUnmanaged” i typ parametru elementu „FromUnmanaged” muszą być takie same. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - Zwracany typ elementu „ToUnmanaged” i typ parametru elementu „FromUnmanaged” muszą być takie same - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - W przypadku typów, które nie są obsługiwane przez funkcję P/Invokes generowaną przez źródło, wynikowa funkcja P/Invoke będzie polegać na bazowym środowisku uruchomieniowym, aby skierować określony typ. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - Typ „{0}” nie jest obsługiwany przez funkcję P/Invokes generowaną przez źródło. Wygenerowane źródło nie obsługuje skierowania parametru „{1}”. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Wygenerowane źródło nie obsługuje skierowania parametru „{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - Typ „{0}” nie jest obsługiwany przez funkcję P/Invokes generowaną przez źródło. Wygenerowane źródło nie obsługuje skierowania wartości zwracanej przez metodę „{1}”. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0}Wygenerowane źródło nie obsługuje skierowania wartości zwracanej przez metodę „{1}”. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - Określony typ nie jest obsługiwany przez funkcję P/Invokes generowaną przez źródło - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Typ natywny rodzaju „Value”, który obsługuje funkcję „CallerAllocatedBuffer” musi zapewniać konstruktora z dwoma parametrami przyjmującego typ zarządzany i wartość „Span” typu „unmanaged” jako parametry - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - Typ „{0}” określa, że obsługuje marshalling „In” z funkcją „CallerAllocatedBuffer” dla elementu „{1}”, ale nie zapewnia konstruktora z dwoma parametrami, który przyjmuje wartośći „{1}””Span” typu „unmanaged” jako parametry - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Typ natywny rodzaju „Value” musi zapewniać konstruktora z jednym parametrem przyjmującego typ zarządzany jako parametr - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - Typ „{0}” określa, że obsługuje skierowanie „In” z elementu „{1}”, ale nie zapewnia konstruktora z jednym parametrem, który przyjmuje element „{1}” jako parametr - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pt-BR.xlf deleted file mode 100644 index 0ee8ec9385533..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.pt-BR.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Adicionar membros marshaller de tipo personalizado ausentes - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Quando a forma 'Managed to Unmanaged com Caller-Allocated Buffer' é usada fornecendo um método 'FromManaged' que usa um 'Span<T>' no tipo de empacotador, o tipo deve fornecer uma propriedade estática 'BufferSize' para fornecer o número de elementos no buffer alocado pelo chamador. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - O tipo de empacotador '{0}' deve ter uma propriedade estática somente leitura 'int' 'BufferSize' para especificar o tamanho do buffer alocado pelo chamador porque ele tem um método FromManaged que recebe um 'Span' alocado pelo chamador<{1}>' - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - O 'DllImportAttribute' gerado não terá um valor correspondente a '{0}'. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - '{0}' não tem equivalente em 'DllImportAttribute' e não será encaminhado - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Os argumentos 'LibraryImportAttribute' especificados não podem ser encaminhados para 'DllImportAttribute' - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - P/Invokes gerados pela origem ignorarão qualquer configuração sem suporte. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - A configuração “{0}” não é tem suporte para P/Invokes gerados pela origem. Se a configuração especificada for necessária, use um 'DllImport' regular. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - Não há suporte para a configuração de marshaling especificada por P/Invokes gerados pela origem. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - A configuração “{0}” especificada para o parâmetro “{1}” não tem o suporte do P/Invokes gerados pela origem. Se a configuração especificada for necessária, use um 'DllImport' regular. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - A configuração “{0}” especificada para o valor retornado do método “{1}” não tem suporte para P/Invokes gerados pela origem. Se a configuração especificada for necessária, use um 'DllImport' regular. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - O valor “{0}” especificado para “{1}” não tem suporte do P/Invokes gerados pela origem. Se o valor especificado for necessário, use um 'DllImport' regular. - - - - Specified configuration is not supported by source-generated P/Invokes. - A configuração especificada não tem suporte de P/Invokes gerados pela origem. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - Converter automaticamente um P/Invoke com 'PreserveSig' definido como 'false' em um P/Invoke gerado pela origem pode produzir código inválido - - - - Convert to 'LibraryImport' - Converter em 'LibraryImport' - - - - Convert to 'LibraryImport' and enable unsafe code - Converta em 'LibraryImport' e habilite código não seguro - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Use 'LibraryImportAttribute' em vez de 'DllImportAttribute' para gerar código de marshalling P/Invoke no tempo de compilação - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - Converter essa API em 'LibraryImport' exigirá código adicional para fornecer marshallers personalizados para alguns parâmetros. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Marque o método '{0}' com 'LibraryImportAttribute' em vez de 'DllImportAttribute' para gerar código de marshaling P/Invoke em tempo de compilação - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Use 'LibraryImportAttribute' em vez de 'DllImportAttribute' para gerar código de marshalling P/Invoke no tempo de compilação - - - - Convert to 'LibraryImport' with '{0}' suffix - Converter em 'LibraryImport' com '{0}' sufixo - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Converta em 'LibraryImport' com o sufixo '{0}' e habilite o código não seguro - - - - Marshaller type does not have the required shape - O tipo de marshaller não tem a forma necessária - - - - A marshaller for an element scenario cannot be stateful. - Um marshaller para um cenário de elemento não pode ter estado. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - O tipo de marshaller especificado '{0}' é um marshaller com estado, mas os marshallers com estado não são permitidos no modo de marshal '{1}' fornecido - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - O tipo de elemento do intervalo retornado pelo primeiro método deve ser do mesmo tipo que o tipo de elemento da extensão retornada pelo segundo método. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - O tipo de elemento do intervalo retornado por “{0}” deve ser do mesmo tipo que o tipo de elemento do intervalo retornado por “{1}”. - - - - An entry-point type for marshalling a given type must not be 'null'. - Um tipo de ponto de entrada para empacotar um determinado tipo não deve ser 'null'. - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - O tipo de empacotador de ponto de entrada para o tipo '{0}' não deve ser 'nulo' - - - - The first parameter of the first method must be the same type as the return types of the second method. - O primeiro parâmetro do primeiro método deve ser do mesmo tipo que os tipos de retorno do segundo método. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - O primeiro parâmetro de “{0}” deve ser do mesmo tipo que o tipo de retorno “{1}” - - - - The first parameters of the two methods must be the same type. - Os primeiros parâmetros dos dois métodos devem ser do mesmo tipo. - - - - The first parameter of '{0}' and '{1}' must be the same type - O primeiro parâmetro de “{0}” e “{1}” deve ser do mesmo tipo - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - A sobrecarga do método 'FromUnmanaged' não é suportada, pois algumas formas não conseguem distinguir entre sobrecargas. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - O tipo '{0}' sobrecarrega o método 'FromUnmanaged', que não tem suporte em marshallers personalizados - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - O tipo de retorno de 'GetPinnableReference' (após a contabilização de 'ref') deve ser blittable. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - O tipo desreferenciado do tipo de retorno do método 'GetPinnableReference' deve ser blittable - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - O '{0}' está contido em um tipo '{1}' que não está marcado como 'partial'. A geração de origem P/Invoke ignorará o método '{0}'. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Os métodos marcados com 'LibraryImportAttribute' devem ser 'static', 'partial' e não genéricos. A geração de origem P/Invoke ignorará os métodos que não são 'static', não-'partial' ou genéricos. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - O método '{0}' deve ser 'static', 'partial' e não genérico quando marcado com 'LibraryImportAttribute'. A geração de origem P/Invoke ignorará o método '{0}'. - - - - Invalid 'CustomMarshallerAttribute' usage - Uso inválido de 'CustomMarshallerAttribute' - - - - Invalid 'LibraryImportAttribute' usage - Uso 'LibraryImportAttribute' inválido - - - - Specified managed type is invalid - O tipo gerenciado especificado é inválido - - - - Invalid 'MarshalMode' value. - Valor 'MarshalMode' inválido. - - - - Specified marshaller type is invalid - O tipo de empacotador especificado é inválido - - - - Invalid 'NativeMarshallingAttribute' usage - Uso 'NativeMarshallingAttribute' inválido - - - - Marshaller type has incompatible method signatures - O tipo de marshaller tem assinaturas de método incompatíveis - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - A configuração de 'StringMarshalling' e 'StringMarshallingCustomType' é inválida. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - A configuração de 'StringMarshalling' e 'StringMarshallingCustomType' no método '{0}' é inválida. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshallingCustomType' deve ser especificado quando 'StringMarshalling' está definido como 'StringMarshalling.Custom'. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshalling' deve ser definido como 'StringMarshalling.Custom' quando 'StringMarshallingCustomType' for especificado. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - O tipo de elemento de 'ReadOnlySpan' retornado por 'GetManagedValuesSource' deve ser igual ao tipo de elemento retornado por 'GetManagedValuesDestination'. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - O tipo de elemento de 'ReadOnlySpan' retornado por 'GetManagedValuesSource' deve ser igual ao tipo de elemento retornado por 'GetManagedValuesDestination' - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Um tipo nativo do tipo 'LinearCollection' que dá suporte ao recurso 'CallerAllocatedBuffer' deve fornecer um construtor de três parâmetros usando o tipo gerenciado como o primeiro parâmetro, um 'Span<byte>' como o segundo parâmetro e o tamanho nativo do elemento como o terceiro parâmetro - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - O tipo '{0}' especifica que dá suporte ao empacotamento 'In' com o recurso 'CallerAllocatedBuffer' para o '{1}', mas não fornece um construtor de três parâmetros que recebe um '{1}', um 'Span<byte>' e um 'int' - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Um marshaller de coleção contíguo que dê suporte ao marshaling de gerenciado para não gerenciado deve fornecer um 'GetManagedValuesSource' que retorna um método 'ReadOnlySpan<>' e um método 'GetUnmanagedValuesDestination' que retorna um 'Span<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - O tipo “{0}” especifica que é compatível com o modo marshal “{1},” mas não fornece um 'GetManagedValuesSource' que retorna um método 'ReadOnlySpan<>' e um método 'GetUnmanagedValuesDestination' que retorna um 'Span<>' - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Um marshaller de coleção contíguo que dê suporte ao marshaling de não gerenciado para gerenciado deve fornecer um método 'GetManagedValuesDestination' que aceita um 'int' e retorna um método 'Span<>' e um método 'GetUnmanagedValuesSource' que aceita um 'int' e retorna um 'ReadOnlySpan<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - O tipo “{0}” especifica que dá suporte ao modo marshal “{1}”, mas não fornece um método 'GetManagedValuesDestination' que recebe um 'int' e retorna um método 'Span<>' e um método 'GetUnmanagedValuesSource' que usa um 'int' e retorna um 'ReadOnlySpan<>' - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - O tipo de empacotador deve ser um genérico fechado ou ter o mesmo número de parâmetros genéricos que o tipo gerenciado para que o gerador possa determinar quais métodos estão disponíveis nos tipos de empacotador específicos. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - O tipo gerenciado '{0}' para o tipo de empacotador de ponto de entrada '{1}' deve ser um tipo genérico fechado, ter a mesma aridade que o tipo gerenciado se for um empacotador de valor ou ter um parâmetro genérico adicional se for um empacotador de coleção. - - - - The managed type for a custom marshaller must be non-null. - O tipo gerenciado para um empacotador personalizado deve ser não nulo. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - O tipo gerenciado para o tipo de empacotador de ponto de entrada '{0}' não deve ser 'nulo' - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - A configuração especificada "MarshalAsAttribute" para o parâmetro "{1}" não tem suporte do P/Invokes gerado pela origem. Se a configuração especificada for necessária, use "DllImport" no lugar. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - A configuração especificada "MarshalAsAttribute" para o valor retornado do método "{1}" não tem suporte do P/Invokes gerado pela origem. Se a configuração especificada for necessária, use "DllImport" no lugar. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - O argumento 'marshalMode' de 'CustomMarshallerAttribute' deve ser um valor de enumeração válido de 'MarshalMode'. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - O tipo de empacotador deve ser um genérico fechado ou ter o mesmo número de parâmetros genéricos que o tipo gerenciado para que o código emitido possa usar uma instanciação específica. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - O tipo de empacotador '{0}' apontado pelo tipo de empacotador de ponto de entrada '{1}' deve ser um tipo genérico fechado ou ter a mesma aridade que o tipo gerenciado - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - O parâmetro 'marshallerType' no 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' não pode ser 'null'. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - O parâmetro 'marshallerType' no 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' não pode ser 'null' - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Um tipo de marshaller deve ser uma classe estática sem estado ou um tipo de valor com estado. Uma classe não estática não é permitida. - - - - The type '{0}' must be a static class or a value type - O tipo “{0}” deve ser uma classe estática ou um tipo de valor - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Um tipo com um 'System.Runtime.InteropServices.CustomMarshallerAttribute' deve especificar um tipo gerenciado não 'null' - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - O tipo '{0}' não especifica um tipo gerenciado no 'System.Runtime.InteropServices.CustomMarshallerAttribute' aplicado ao tipo - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - O tipo de empacotador deve ser um genérico fechado ou ter o mesmo número de parâmetros genéricos que o tipo gerenciado para que o código emitido possa usar uma instanciação específica. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - O tipo de empacotador '{0}' para tipo gerenciado '{1}' deve ser um tipo genérico fechado, ter a mesma aridade que o tipo gerenciado se for um empacotador de valor ou ter um parâmetro genérico adicional se for um empacotador de coleção. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requer código não seguro. O projeto deve ser atualizado com '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute requer código não seguro. O projeto deve ser atualizado com '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute requer código não seguro. - - - - The return type the two method must be the expected type. - O tipo de retorno do método dois deve ser o tipo esperado. - - - - The return type of '{0}' must be '{1}' - O tipo de retorno de “{0}” deve ser “{1}” - - - - The return types of the two methods must be the same type. - Os tipos de retorno dos dois métodos devem ser do mesmo tipo. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - O tipo de retorno de “{0}” deve ser do mesmo tipo que o tipo de retorno “{1}” - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Um marshaller com estado deve ter um método de instância de retorno nulo de parâmetro zero chamado 'Gratuito'. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - O tipo '{0}' é um marshaller com estado e não tem um método de instância de retorno nulo de parâmetro zero chamado 'Gratuito' - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Um marshaller com estado que dá suporte ao marshalling de gerenciado para não gerenciado deve fornecer um método de instância 'FromManaged' que usa o valor gerenciado como um parâmetro e retorna 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - O tipo '{0}' especifica que ele dá suporte ao modo de marshaling '{1}' para '{2}', mas não fornece um método de instância de um parâmetro chamado 'FromManaged' que usa um '{2}' como um parâmetro e retorna 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Um marshaller com estado que dá suporte ao marshalling de não gerenciado para gerenciado deve fornecer um método de instância 'FromUnmanaged' que usa o valor não gerenciado como um parâmetro e retorna 'void'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - O tipo '{0}' especifica que ele dá suporte ao modo de marshaling '{1}' para '{2}', mas não fornece um método de instância de um parâmetro chamado 'FromUnmanaged' que usa o valor 'unmanaged' como um parâmetro e retorna 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Um marshaller com estado que dá suporte ao marshalling de não gerenciado para gerenciado deve fornecer um método de instância 'ToManaged' que não usa parâmetros e retorna o tipo gerenciado. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - O tipo '{0}' especifica que ele dá suporte ao modo de marshaling '{1}' para '{2}', mas não fornece um método de instância de parâmetro zero chamado 'ToManaged' que retorna '{2}' - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Um marshaller com estado que dá suporte ao marshalling de gerenciado para não gerenciado deve fornecer um método de instância 'ToUnmanaged' que não usa parâmetros e retorna o tipo 'não gerenciado'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - O tipo '{0}' especifica que ele dá suporte ao marshal '{1}' modo para '{2}', mas não fornece um método de instância de parâmetro zero chamado 'ToUnmanaged' que retorna o tipo 'unmanaged' para o marshaller - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Quando a forma 'Managed to Unmanaged with Caller-Allocated Buffer' é usada fornecendo um método 'AllocateContainerForUnmanagedElements' que usa um 'Span<T>' no tipo de marshaller, o tipo deve fornecer uma propriedade estática 'BufferSize' para fornecer o número de elementos no buffer alocado pelo chamador. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - O tipo de marshaller “{0}” deve ter uma propriedade estática somente leitura 'int' 'BufferSize' para especificar o tamanho do buffer alocado pelo chamador porque ele tem um método 'AllocateContainerForUnmanagedElements' que recebe um 'Span' alocado pelo chamador<{1}>' - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Um marshaller de coleção contíguo que dê suporte ao marshaling de gerenciado para não gerenciado deve fornecer um método 'GetManagedValuesSource' que aceita o valor gerenciado como um parâmetro e retorna o método 'ReadOnlySpan<>' e um método 'GetUnmanagedValuesDestination' que aceita o valor não gerenciado como um parâmetro e retorna um 'Span<>' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - O tipo “{0}” especifica que dá suporte ao modo marshal “{1}”, mas não fornece um método 'GetManagedValuesSource' que recebe um “{2}’’ como um parâmetro e retorna um método 'ReadOnlySpan<>' e um método 'GetUnmanagedValuesDestination' que usa o valor não gerenciado como um parâmetro e retorna um 'Span<>' - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Um marshaller de coleção contíguo que dê suporte ao marshaling de não gerenciado para gerenciado deve fornecer um método 'GetManagedValuesDestination' que aceita o valor gerenciado e retorna o método 'Span<>' e um método 'GetUnmanagedValuesSource' que aceita o valor não gerenciado e um 'int' e retorna um 'ReadOnlySpan<>'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - O tipo “{0}” especifica que dá suporte ao modo marshal “{1}”, mas não fornece um método 'GetManagedValuesDestination' que recebe um “{2}” e retorna um método 'Span<>' e um método 'GetUnmanagedValuesSource' que usa um valor não gerenciado e um 'int' e retorna um 'ReadOnlySpan<>' - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Um marshaller de coleção contíguo sem estado que dê suporte ao marshalling de gerenciado para não gerenciado deve fornecer um método 'AllocateContainerForManagedElements' usando o tipo não gerenciado como o primeiro parâmetro e o número de elementos como um parâmetro 'int' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - O tipo “{0}” especifica que dá suporte ao modo marshal “{1}” para “{2}”, mas não fornece um método de dois parâmetros 'AllocateContainerForManagedElements' que usa o tipo não gerenciado como o primeiro parâmetro e um 'int' como o segundo parâmetro - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Um marshaller de coleção contíguo sem estado que dê suporte ao marshalling de gerenciado para não gerenciado deve fornecer um método 'AllocateContainerForManagedElements' usando o tipo não gerenciado como o primeiro parâmetro e fornecendo um número de elementos como um parâmetro 'out int' - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - O tipo “{0}” especifica que dá suporte ao modo marshalling “{1}” para “{2}”, mas não fornece um método de dois parâmetros 'AllocateContainerForUnmanagedElements' que usa um “{2}” como o primeiro parâmetro e um 'out int' como o segundo parâmetro - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Um marshaller de valor sem estado que dê suporte ao marshalling de não gerenciado para gerenciado deve fornecer um método 'ConvertToManaged' que usa o tipo não gerenciado como um parâmetro e retorna o tipo gerenciado. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - O tipo “{0}” especifica que dá suporte ao modo marshal “{1}”, mas não fornece um método 'ConvertToManaged' que usa o tipo não gerenciado como um parâmetro e retorna “{2}” - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Um marshaller de valor sem estado que dê suporte ao marshalling de gerenciado para não gerenciado deve fornecer um método 'ConvertToUnmanaged' de um parâmetro que assume o valor gerenciado como parâmetro e retorna um valor do tipo 'unmanaged'. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - O tipo “{0}” especifica que dá suporte ao modo de marshaling “{1}” para “{2}”, mas não fornece um método 'ConvertToUnmanaged' de um parâmetro que usa um “{2}” como um parâmetro e retorna um valor de um tipo 'unmanaged' - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - O tipo de retorno de 'ConvertToUnmanaged' e o tipo de parâmetro de 'ConvertToManaged' devem ser os mesmos. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - O tipo de retorno de 'ConvertToUnmanaged' e o tipo de parâmetro de 'ConvertToManaged' devem ser os mesmos - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - O tipo não gerenciado para um marshaller personalizado deve ser um tipo não gerenciado C#. - - - - The return type of '{0}' must be unmanaged - O tipo de retorno de “{0}” deve ser não gerenciado - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - 'void*' deve ser passível de conversão para o tipo para que o resultado fixado do método estático 'GetPinnableReference' possa ser passado para o contexto nativo após ser fixado. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - 'void*' deve ser convertível para o tipo '{0}' porque o tipo gerenciado '{1}' tem um método estático 'GetPinnableReference' - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Um tipo de ponto de entrada para empacotar um determinado tipo deve ter um 'System.Runtime.InteropServices.CustomMarshallerAttribute' que especifica esse tipo como o tipo gerenciado. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - O tipo de empacotador de ponto de entrada '{0}' para o tipo '{1}' deve ser um tipo com pelo menos um 'System.Runtime.InteropServices.CustomMarshallerAttribute' que especifica esse tipo como o tipo gerenciado - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Um tipo nativo do tipo 'Value' ou 'LinearCollection' que dá suporte a marshalling na direção 'Out' deve fornecer um método 'ToManaged' que retorne o tipo gerenciado. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - O tipo '{0}' especifica que ele dá suporte a marshalling na direção 'Out', mas não fornece um método 'ToManaged' que retorna o tipo gerenciado - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - O tipo de retorno de 'ToUnmanaged' e o tipo de parâmetro de 'FromUnmanaged' devem ser os mesmos. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - O tipo de retorno de 'ToUnmanaged' e o tipo de parâmetro de 'FromUnmanaged' devem ser os mesmos - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - Para tipos sem suporte por P/Invokes gerados pela origem, o P/Invoke resultante dependerá do tempo de execução subjacente para realizar marshaling no tipo especificado. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - O tipo '{0}' não é suportado por P/Invokes gerados pela origem. A origem gerada não manipulará o marshalling do parâmetro '{1}'. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} A origem gerada não manipulará o marshalling do parâmetro '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - O tipo '{0}' não é suportado por P/Invokes gerados pela origem. A origem gerada não tratará marshaling do valor de retorno do método '{1}'. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} A origem gerada não manipulará o marshalling do valor retornado do método '{1}'. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - O tipo especificado não tem suporte de P/Invokes gerados pela origem. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Informações desnecessárias de organização foram fornecidas. Essas informações de empacotamento podem ser removidas sem qualquer alteração no comportamento do aplicativo. - - - - Unnecessary marshalling info was provided and can be removed. - Informações de organização desnecessárias foram fornecidas e podem ser removidas. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Informações de organização desnecessárias '{0}' foram fornecidas para o parâmetro '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Informações desnecessárias de empacotamento '{0}' foram fornecidas para o tipo de retorno do método '{1}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Um tipo nativo do tipo 'Value' que dá suporte ao recurso 'CallerAllocatedBuffer' deve fornecer um construtor de dois parâmetros usando o tipo gerenciado e um 'Span' de um tipo 'não gerenciado' como parâmetros - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - O tipo '{0}' especifica que ele dá suporte ao marshalling 'In' com o recurso 'CallerAllocatedBuffer' para '{1}', mas não fornece um construtor de dois parâmetro que usa um '{1}' e 'Span' de um tipo 'não gerenciado' como parâmetros - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Um tipo nativo do tipo 'Value' deve fornecer um construtor de um parâmetro usando o tipo gerenciado como um parâmetro - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - O tipo '{0}' especifica que ele dá suporte ao marshalling 'In' do '{1}', mas não fornece um construtor de um parâmetro que recebe um '{1}' como um parâmetro - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ru.xlf deleted file mode 100644 index 74338b7678a9d..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.ru.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Добавить отсутствующие элементы маршалатора настраиваемого типа - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Если фигура "Из управляемого в неуправляемый с буфером, выделяемым вызывающим объектом" используется путем предоставления метода "FromManaged", выполняющего "Span<T>" для типа маршалера, этот тип должен предоставлять статическое свойство "BufferSize", чтобы предоставить количество элементов в буфере, выделенном вызывающим объектом. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - У типа маршалера "{0}" должно быть статическое доступное только для чтения свойство "BufferSize" со значением типа "int", чтобы указывать размер буфера, выделенного вызывающим объектом, поскольку у этого типа есть метод FromManaged, выполняющий "Span<{1}>", выделяемый вызывающим объектом. - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - Созданный атрибут \"DllImportAttribute\" не будет иметь значения, соответствующего \"{0}\". - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - "{0}" не имеет эквивалента в "DllImportAtttribute" и не будет перенаправляться - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Указанные аргументы \"LibraryImportAttribute\" не могут быть перенаправлены в \"DllImportAttribute\" - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - P/Invoke с созданием источника будут игнорировать все неподдерживаемые конфигурации. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Конфигурация "{0}" не поддерживается P/Invokes, созданными источником. Если требуется указанная конфигурация, используйте вместо нее обычный "DllImport". - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - Указанная конфигурация маршализации не поддерживается в P/Invoke с созданием источника. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Указанная конфигурация "{0}" для параметра "{1}" не поддерживается P/Invokes, созданными источником. Если требуется указанная конфигурация, используйте вместо нее обычный "DllImport". - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Указанная конфигурация "{0}" для возвращаемого значения метода "{1}" не поддерживается созданным источником P/Invokes. Если указанная конфигурация обязательна, используйте обычный метод "DllImport". - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - Указанное значение "{0}" для "{1}" не поддерживается P/Invokes, сгенерированными источником. Если требуется указанное значение, используйте вместо него обычный "DllImport". - - - - Specified configuration is not supported by source-generated P/Invokes. - Указанная конфигурация не поддерживается в P/Invoke с созданием источника. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - Автоматическое преобразование P/Invoke с параметром \"PreserveSig\" со значением \"false\" в P/Invoke с созданием источника может привести к неправильному коду - - - - Convert to 'LibraryImport' - Преобразовать в \"LibraryImport\" - - - - Convert to 'LibraryImport' and enable unsafe code - Преобразование в "LibraryImport" и включение небезопасного кода - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Используйте \"LibraryImportAttribute\" вместо \"DllImportAttribute\" для генерирования кода маршализации P/Invoke во время компиляции - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - Преобразование этого API в "LibraryImport" потребует дополнительного кода для предоставления настраиваемых маршалеров для некоторых параметров. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Пометьте метод \"{0}\" атрибутом \"LibraryImportAttribute\" вместо \"DllImportAttribute\", чтобы генерировать код маршализации P/Invoke во время компиляции - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - Используйте \"LibraryImportAttribute\" вместо \"DllImportAttribute\" для генерирования кода маршализации P/Invoke во время компиляции - - - - Convert to 'LibraryImport' with '{0}' suffix - Преобразовать в \"LibraryImport\" с суффиксом \"{0}\" - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - Преобразование в "LibraryImport" с суффиксом "{0}" и включение небезопасного кода - - - - Marshaller type does not have the required shape - Тип маршалера не имеет требуемой фигуры - - - - A marshaller for an element scenario cannot be stateful. - Маршалер для сценария элемента не может иметь отслеживание состояния. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - Указанный тип маршалера "{0}" является маршалером с отслеживанием состояния, но маршалер с отслеживанием состояния в предоставленном режиме "{1}" не допускается. - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - Тип элемента диапазона, возвращаемого первым методом, должен быть того же типа, что и тип элемента диапазона, возвращаемого вторым методом. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - Тип диапазона, возвращаемого "{0}", должен быть того же типа, что и тип диапазона, возвращаемого "{1}". - - - - An entry-point type for marshalling a given type must not be 'null'. - Тип точки входа для маршалирования заданного типа должен отличаться от "NULL". - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - Тип маршалера точки входа для типа '{0}' должен отличаться от "NULL" - - - - The first parameter of the first method must be the same type as the return types of the second method. - Первый параметр первого метода должен иметь тот же тип, что и возвращаемые типы второго метода. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - Первый параметр "{0}" должен иметь тот же тип, что и тип возвращаемого значения "{1}" - - - - The first parameters of the two methods must be the same type. - Первые параметры двух методов должны быть одного типа. - - - - The first parameter of '{0}' and '{1}' must be the same type - Первый параметр "{0}" и "{1}" должны быть одного типа - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - Перегрузка метода FromUnmanaged не поддерживается, поскольку некоторые фигуры не могут различать перегрузки. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - Тип "{0}" перегружает метод FromUnmanaged, не поддерживаемый в настраиваемых маршалерах. - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - Тип возвращаемого значения \"GetPinnableReference\" (после учета \"ref\") должен быть непреобразуемым. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - Разыменованный тип возвращаемого типа метода \"GetPinnableReference\" должен быть непреобразуемым - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - Метод \"{0}\" содержится в типе \"{1}\", который не помечен как \"partial\". Метод \"{0}\" будет игнорироваться при создании источника в P/Invoke. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - Методы, помеченные атрибутом \"LibraryImportAttribute\", должны быть \"static\", \"partial\" и неуниверсальными. При создании источника в P/Invoke будут игнорироваться методы, отличные от \"static\", \"partial\" или универсальные. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - Метод \"{0}\" должен быть \"static\", \"partial\" и неуниверсальным, если он имеет атрибут \"LibraryImportAttribute\". При создании источника в P/Invoke метод \"{0}\" игнорируется. - - - - Invalid 'CustomMarshallerAttribute' usage - Недопустимое использование "CustomMarshallerAttribute" - - - - Invalid 'LibraryImportAttribute' usage - Недопустимое использование \"LibraryImportAttribute\" - - - - Specified managed type is invalid - Указан недопустимый управляемый тип - - - - Invalid 'MarshalMode' value. - Недопустимое значение "MarshalMode". - - - - Specified marshaller type is invalid - Указан недопустимый тип маршалера - - - - Invalid 'NativeMarshallingAttribute' usage - Недопустимое использование "NativeMarsingAttribute" - - - - Marshaller type has incompatible method signatures - Тип маршалер имеет несовместимые сигнатуры методов - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - Конфигурация \"StringMarshalling\" и \"StringMarshallingCustomType\" недопустима. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - Конфигурация \"StringMarshalling\" и \"StringMarshallingCustomType\" в методе \"{0}\" недопустима. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - Если для \"StringMarshalling\" задано значение \"StringMarshalling.Custom\", необходимо указать \"StringMarshallingCustomType\". - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - Если указано \"StringMarshallingCustomType\", для \"StringMarshalling\" следует задать значение \"StringMarshalling.Custom\". - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - Тип элемента \"ReadOnlySpan\", возвращенный методом \"GetManagedValuesSource\", должен совпадать с типом элемента, возвращаемым методом \"GetManagedValuesDestination\". - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - Тип элемента \"ReadOnlySpan\", возвращаемый методом \"GetManagedValuesSource\", должен совпадать с типом элемента, возвращаемым методом \"GetManagedValuesDestination\" - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - Собственный тип вида \"LinearCollection\", который поддерживает функцию CallerAllocatedBuffer, должен предоставлять конструктор с тремя параметрами, управляемый тип, \"Span<byte>\" и собственный размер элемента - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - \"{0}\" указывает, что поддерживает маршализацию в направлении \"внутрь\" с функцией \"CallerAllocatedBuffer\" для \"{1}\", но не предоставляет конструктор, принимающий три параметра: \"{1}\", \"Span<byte>\" и \"int\" - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Непрерывный маршалер коллекции, поддерживающий маршалинг из управляемого в неуправляемый, должен предоставлять метод "GetManagedValuesSource", который возвращает "ReadOnlySpan<>" и метод "GetUnmanagedValuesDestination", возвращающий "Span<>". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - Тип "{0}" указывает, что он поддерживает режим маршалирования "{1}", но не предоставляет метод "GetManagedValuesSource", возвращающий "ReadOnlySpan<>", и метод GetUnmanagedValuesDestination, возвращающий "Span<>". - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Непрерывный маршалер коллекции, поддерживающий маршалинг из управляемого в неуправляемый, должен предоставлять метод "GetManagedValuesDestination", который принимает "int" и возвращает "Span"<>, и метод "GetUnmanagedValuesSource", который принимает "int" и возвращает "ReadOnlySpan<>". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - Тип "{0}" указывает, что он поддерживает маршализацию "{1}"l, но не предоставляет "GetManagedValuesDestination", принимающий "int" и возвращающий "Span<>", и метод "GetUnmanagedValuesSource", принимающий "int" и возвращающий "ReadOnlySpan<>" - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - Тип маршалера должен быть закрытым универсальным типом или у него должно быть столько же универсальных параметров, как у управляемого типа, чтобы генератор мог определить, какие методы доступны для определенных типов маршалеров. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Управляемый тип "{0}" для типа маршалера точки входа "{1}" должен быть закрытым универсальным типом, его арность должна быть такой же, как у управляемого типа, если это маршалер значений, либо у него должен быть один дополнительный универсальный параметр, если это маршалер коллекций. - - - - The managed type for a custom marshaller must be non-null. - Управляемый тип для настраиваемого маршалера должен отличаться от "NULL". - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - Управляемый тип для типа маршалера точки входа "{0}" должен отличаться от "NULL" - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Указанная конфигурация "MarshalAsAttribute" для параметра "{1}" не поддерживается сгенерированными источником P/Invokes. Если требуется указанная конфигурация, используйте вместо нее обычный "DllImport". - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - Указанная конфигурация "MarshalAsAttribute" для возвращаемого значения метода "{1}" не поддерживается сгенерированными источником P/Invokes. Если указанная конфигурация обязательна, используйте обычный метод "DllImport". - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - Аргумент "marshalMode" атрибута "CustomMarshallerAttribute" должен быть допустимым перечисляемым значением "MarshalMode". - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Тип маршалера должен быть закрытым универсальным или иметь то же количество универсальных параметров, что и управляемый тип, чтобы создаваемый код мог использовать конкретный экземпляр. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - Тип маршалера "{0}", на который ссылается тип маршалера точки входа "{1}", должен быть закрытым универсальным или иметь такую же арность, что и управляемый тип - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - У параметра "marshallerType" в "System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute" не может быть значение "NULL". - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - У параметра "marshallerType" в "System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute" не может быть значение "NULL" - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Тип маршалера должен быть статическим классом без сохранения состояния или типом значения с отслеживанием состояния. Нестатический класс не допускается. - - - - The type '{0}' must be a static class or a value type - Тип "{0}" должен быть статическим классом или типом значения - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - Тип с атрибутом "System.Runtime.InteropServices.CustomMarshallerAttribute" должен указывать управляемый тип, отличный от "NULL" - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - Тип "{0}" не указывает управляемый тип в примененном к нему атрибуте "System.Runtime.InteropServices.CustomMarshallerAttribute" - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Тип маршалера должен быть закрытым универсальным или иметь то же количество универсальных параметров, что и управляемый тип, чтобы создаваемый код мог использовать конкретный экземпляр. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Управляемый тип "{0}" для управляемого типа "{1}" должен быть закрытым универсальным типом, его арность должна быть такой же, как у управляемого типа, если это маршалер значений, либо у него должен быть один дополнительный универсальный параметр, если это маршалер коллекций. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Для LibraryImportAttribute требуется небезопасный код. Проект необходимо обновить с использованием значения "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - Для LibraryImportAttribute требуется небезопасный код. Проект необходимо обновить с использованием значения "<AllowUnsafeBlocks>true</AllowUnsafeBlocks>". - - - - LibraryImportAttribute requires unsafe code. - Для LibraryImportAttribute требуется небезопасный код. - - - - The return type the two method must be the expected type. - Тип возвращаемого значения метода two должен быть ожидаемым. - - - - The return type of '{0}' must be '{1}' - Тип возвращаемого значения "{0}" должен быть "{1}" - - - - The return types of the two methods must be the same type. - Типы возвращаемого метода должны быть одинаковыми. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - Тип возвращаемого значения "{0}" должен быть тем же, что и тип возвращаемого значения "{1}" - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Маршалер с отслеживанием состояния должен иметь метод экземпляра с нулевым параметром, возвращающий void, с именем "Free". - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - Тип "{0}" является маршалером с отслеживанием состояния и не имеет метода экземпляра с нулевым параметром, возвращающего void, с именем "Free" - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Маршалер с отслеживанием состояния, поддерживающий маршалинг от управляемого к неуправляемому, должен предоставить метод экземпляра FromManaged, принимающий управляемое значение в качестве параметра и возвращающий значение "void". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - Тип "{0}" указывает, что он поддерживает режим маршалинга "{1}" для "{2}", но не предоставляет метод экземпляра с одним параметром с именем "FromManaged", принимающим в качестве параметра "{2}" и возвращающим "void" - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Маршалер с отслеживанием состояния, поддерживающий маршалинг от неуправляемого к управляемому, должен предоставить метод экземпляра "FromUnmanaged", принимающий неуправляемое значение в качестве параметра и возвращающий "void". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - Тип "{0}" указывает, что он поддерживает маршалинг "{1}" для "{2}", но не предоставляет метод экземпляра с одним параметром с именем "FromUnmanaged", принимающий значение "unmanaged" в качестве параметра и возвращающий "void" - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Маршалер с отслеживанием состояния, поддерживающий маршалинг от неуправляемого к управляемому, должен предоставить метод экземпляра "ToManaged", не принимающий параметров и возвращающий управляемый тип. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - Тип "{0}" указывает, что он поддерживает режим маршалинга "{1}" для "{2}", но не предоставляет метод экземпляра с нулевым параметром с именем "ToManaged", возвращающим "{2}" - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Маршалер с отслеживанием состояния, поддерживающий маршалинг от управляемого к неуправляемому, должен предоставить метод экземпляра "ToUnmanaged", не принимающий параметров и возвращающий тип "unmanaged". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - Тип "{0}" указывает, что он поддерживает "{1}" режим маршалинга для "{2}", но не предоставляет метод экземпляра с нулевым параметром с именем "ToUnmanaged", возвращающим тип "unmanaged" для маршалера - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Когда форма "Управляемый в неуправляемый с буфером, выделенным вызывающим объектом" используется путем предоставления метода "AllocateContainerForUnmanagedElements", принимающим "Span<T>" для типа маршаллера, тип должен предоставлять статическое свойство "BufferSize", чтобы предоставить число элементов в выделенном вызывающей стороне буфере. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - У типа маршалера "{0}" должно быть статическое свойство "int" "BufferSize" только для чтения, чтобы указать размер буфера, выделенного вызывающей стороной, поскольку он имеет метод "AllocateContainerForUnmanagedElements", принимающий выделенную вызывающей стороной область "Span<{1}>" - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Непрерывный маршалер коллекций, поддерживающий маршаллинг от управляемого к неуправляемому, должен предоставить метод "GetManagedValuesSource", принимающий управляемое значение в качестве параметра и возвращающий метод ReadOnlySpan<>, и метод "GetUnmanagedValuesDestination", принимающий неуправляемое значение в качестве параметра и возвращающий "Span<>" - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Тип "{0}" указывает, что он поддерживает маршалинг "{1}", но не предоставляет "GetManagedValuesSource", принимающий "{2}" в качестве параметра и возвращающий "ReadOnlySpan<>", а также метод "GetUnmanagedValuesDestination", принимающий неуправляемое значение как параметр и возвращающий "Span<>" - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Непрерывный маршалер коллекции, поддерживающий маршалирование из управляемого в неуправляемый, должен предоставить метод "GetManagedValuesDestination", принимающий управляемое значение и возвращающий "Span<>", и метод "GetUnmanagedValuesSource", принимающий неуправляемое значение и целое число и возвращающий значение "ReadOnlySpan<>". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - Тип "{0}" указывает, что он поддерживает маршалинг "{1}", но он не предоставляет "GetManagedValuesDestination", принимающий "{2}" и возвращающий "Span<>", а также метод "GetUnmanagedValuesSource", принимающий неуправляемое значение и "int" и возвращающий "ReadOnlySpan<>" - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Непрерывный маршаллер коллекций без сохранения состояния, который поддерживает маршалирование от управляемого к неуправляемому, должен предоставить метод "AllocateContainerForManagedElements", принимающий неуправляемый тип в качестве первого параметра и количество элементов в качестве параметра "int". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - Тип "{0}" указывает, что он поддерживает маршалирование "{1}" для {2}"', но не предоставляет метод с двумя параметрами "AllocateContainerForManagedElements", принимающий неуправляемый тип в качестве первого параметра и "int" в качестве второго параметра. - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Непрерывный маршаллер коллекций без сохранения состояния, который поддерживает маршалинг от управляемого к неуправляемому, должен предоставить метод "AllocateContainerForUnmanagedElements", принимающий управляемый тип в качестве первого параметра и предоставляющий количество элементов в качестве параметра "out int". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - Тип "{0}" указывает, что он поддерживает маршалирование "{1}" для "{2}"но не предоставляет метод "AllocateContainerForUnmanagedElements" с двумя параметрами, который принимает "{2}" в качестве первого параметра и "out int" в качестве второго параметра. - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Маршалер значений без отслеживания состояния, поддерживающий маршаллинг от управляемого к неуправляемому, должен предоставить метод с одним параметром "ConvertToManaged", принимающий неуправляемый тип в качестве параметра и возвращающий управляемый тип. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - Тип "{0}" указывает, что он поддерживает маршалирование "{1}", но он не предоставляет метод "ConvertToManaged", принимающий неуправляемый тип в качестве параметра и возвращающий "{2}" - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Маршалер значений без отслеживания состояния, поддерживающий маршаллинг от управляемого к неуправляемому, должен предоставить метод с одним параметром "ConvertToUnmanaged", принимающий управляемое значение в качестве параметра и возвращающий значение типа "unmanaged'". - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - Тип "{0}" указывает, что он поддерживает маршалинг "{1}" для "{2}", но не предоставляет метод "ConvertToUnmanaged" с одним параметром, который принимает "{2}" в качестве параметра и возвращает значение типа "unmanaged" - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - Тип возвращаемого значения "ConvertToUnmanaged" и тип параметра "ConvertToManaged" должны совпадать. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - Тип возвращаемого значения "ConvertToUnmanaged" и тип параметра "ConvertToManaged" должны совпадать - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - Неуправляемый тип для пользовательского маршаллера должен быть неуправляемым типом C#. - - - - The return type of '{0}' must be unmanaged - Тип возвращаемого значения "{0}" должен быть неуправляемым - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - "void*" должен быть приводимым к типу, чтобы закрепленный результат статического метода "GetPinnableReference" можно было передавать в собственный контекст после закрепления. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - "void*" должен быть приводимым к типу "{0}", поскольку у управляемого типа "{1}" есть статический метод "GetPinnableReference" - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - У типа точки входа для маршалирования указанного типа должен быть атрибут "System.Runtime.InteropServices.CustomMarshallerAttribute", указывающий этот тип в качестве управляемого. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - Тип маршалера точки входа "{0}" для типа "{1}" должен содержать хотя бы один атрибут "System.Runtime.InteropServices.CustomMarshallerAttribute", указывающий этот тип в качестве управляемого типа - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - Собственный тип вида \"Value\" или \"LinearCollection\", поддерживающий маршализацию в направлении \"наружу\", должен предоставлять метод \"ToManaged\", который возвращает управляемый тип. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - Тип \"{0}\" указывает, что поддерживает маршализацию в направлении \"наружу\", но не предоставляет метод \"ToManaged\", который возвращает управляемый тип - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - Тип возвращаемого значения "ToUnmanaged" и тип параметра "FromUnmanaged" должны совпадать. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - Тип возвращаемого значения "ToUnmanaged" и тип параметра "FromUnmanaged" должны совпадать - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - Для типов, которые не поддерживаются в P/Invoke с созданием источника, в полученном P/Invoke для маршализации указанного типа будет использоваться среда выполнения. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - Тип \"{0}\" не поддерживается в P/Invoke с созданием источника. Созданный источник не будет обрабатывать маршализацию параметра \"{1}\". - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Созданный источник не будет обрабатывать маршализацию параметра \"{1}\". - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - Тип \"{0}\" не поддерживается в P/Invoke с созданием источника. Созданный источник не будет обрабатывать маршализацию возвращаемого значения метода \"{1}\". - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Созданный источник не будет обрабатывать маршализацию возвращаемого значения метода \"{1}\". - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - Указанный тип не поддерживается в P/Invoke с созданием источника. - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Указаны ненужные сведения маршалирования. Эти сведения маршалирования можно удалить без каких-либо изменений в работе приложения. - - - - Unnecessary marshalling info was provided and can be removed. - Указаны ненужные сведения маршалирования, которые можно удалить. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Указаны ненужные сведения маршалирования "{0}" для параметра "{1}" - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Указаны ненужные сведения маршалирования "{0}" для типа возвращаемого значения метода "{1}" - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - Собственный тип вида \"Value\", который поддерживает функцию \"CallerAllocatedBuffer\", должен предоставлять конструктор с двумя параметрами: управляемый тип и \"Span неуправляемого типа\" - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - Тип ''{0}'' указывает, что он поддерживает сортировку ''In'' с функцией ''CallerAllocatedBuffer'' для ''{1}'', но не предоставляет конструктор с двумя параметрами, который принимает ''{1}'' и 'Span' типа ''unmanaged'' в качестве параметров - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - Собственный тип вида \"Value\" должен предоставлять конструктор с одним параметром: управляемый тип - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - Тип \"{0}\" указывает, что поддерживает маршализацию \"{1}\" в направлении \"внутрь, но не предоставляет конструктор, принимающий один параметр \"{1}\" - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.tr.xlf deleted file mode 100644 index e516681f84c59..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.tr.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - Eksik olan özel tür sıralayıcı üyelerini ekleyin - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Hazırlayıcı türünde 'Span<T>' alan bir 'FromManaged' yöntemi sağlanarak 'Çağıran Tarafından Ayrılan Arabellek ile Yönetilenden Yönetilmeyene' şekli kullanıldığında tür, çağıran tarafından ayrılan arabellekteki öğe sayısını sağlamak için statik bir 'BufferSize' özelliği belirtmelidir. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - Hazırlayıcı türü '{0}', çağıran tarafından ayrılan arabelleğin boyutunu belirtmek için statik bir salt okunur 'int' 'BufferSize' özelliğine sahip olmalıdır çünkü çağıran tarafından ayrılan 'Span<{1}>' alan bir 'FromManaged' yöntemine sahiptir. - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - Oluşturulan 'DllImportAttribute' üzerinde '{0}' için karşılık gelen bir değer bulunmaz. - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - '{0}' için 'DllImportAttribute' içinde herhangi bir eşdeğer yok ve iletilemiyor - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - Belirtilen 'LibraryImportAttribute' bağımsız değişkenleri 'DllImportAttribute' öğesine iletilemez - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - Kaynak tarafından oluşturulan P/Invokes desteklenmeyen yapılandırmaları yok sayar. - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - '{0}' yapılandırması, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Belirtilen yapılandırma gerekli ise, bunun yerine normal bir 'DllImport' kullanın. - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - Belirtilen sıralama yapılandırması, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. {0}. - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - '{1}' parametresi için belirtilen '{0}' yapılandırması, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Belirtilen yapılandırma gerekli ise, bunun yerine normal bir 'DllImport' kullanın. - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - '{0}' metodunun dönüş değeri için belirtilen '{1}' yapılandırması, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Belirtilen yapılandırma gerekli ise, bunun yerine normal bir 'DllImport' kullanın. - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - '{1}' için belirtilen '{0}' değeri, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Belirtilen değer gerekli ise, bunun yerine normal bir 'DllImport' kullanın. - - - - Specified configuration is not supported by source-generated P/Invokes. - Belirtilen yapılandırma, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - 'PreserveSig' değeri 'false' olarak ayarlanmış bir P/Invoke öğesini kaynak tarafından oluşturulan bir P/Invoke'a otomatik olarak dönüştürülmesi sonucunda geçersiz kod üretilebilir - - - - Convert to 'LibraryImport' - 'LibraryImport' olarak dönüştür - - - - Convert to 'LibraryImport' and enable unsafe code - 'LibraryImport' türüne dönüştür ve güvenli olmayan kodu etkinleştir - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - P/Invoke sıralama kodunu derleme zamanında oluşturmak için 'DllImportAttribute' yerine 'LibraryImportAttribute' kullanın - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - Bu API'yi 'LibraryImport' olarak dönüştürmek, bazı parametreler için özel hazırlayıcılar sağlamak amacıyla ek kod gerektirir. - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - P/Invoke sıralama kodunu derleme zamanında oluşturmak için '{0}' metodunu, 'DllImportAttribute' yerine 'LibraryImportAttribute' ile işaretleyin - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - P/Invoke sıralama kodunu derleme zamanında oluşturmak için 'DllImportAttribute' yerine 'LibraryImportAttribute' kullanın - - - - Convert to 'LibraryImport' with '{0}' suffix - '{0}' soneki ile 'LibraryImport' olarak dönüştür - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - '{0}' soneki ile 'LibraryImport' türüne dönüştür ve güvenli olmayan kodu etkinleştir - - - - Marshaller type does not have the required shape - Sıralayıcı türü gerekli şekle sahip değil - - - - A marshaller for an element scenario cannot be stateful. - Öğe senaryosu için bir hazırlayıcının durum bilgisi yoktur. - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - Belirtilen hazırlayıcı '{0}' türü durum bilgisi olan bir hazırlayıcıdır, ancak durum bilgisi olan hazırlayıcılara, sağlanan '{1}' hazırlama modunda izin verilmez - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - İlk yöntem tarafından döndürülen yayılım öğe türü, ikinci metot tarafından döndürülen yayılım öğe türüyle aynı olmalıdır. - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - '{0}' tarafından döndürülen yayılım öğe türü, '{1}'tarafından döndürülen yayılım öğe türüyle aynı olmalıdır. - - - - An entry-point type for marshalling a given type must not be 'null'. - Belirli bir tür için bir giriş noktası türü, 'null' olmamalıdır. - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - Tür '{0}' için giriş noktası hazırlayıcı türü 'null' olmamalıdır - - - - The first parameter of the first method must be the same type as the return types of the second method. - İlk metodun ilk parametresi, ikinci metodun dönüş türleriyle aynı olmalıdır. - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - '{0}' öğesinin ilk parametresi, '{1}' dönüş türüyle aynı olmalıdır - - - - The first parameters of the two methods must be the same type. - İki yöntemin ilk parametreleri aynı türde olmalıdır. - - - - The first parameter of '{0}' and '{1}' must be the same type - '{0}' ve '{1}' öğelerinin ilk parametresi aynı türde olmalıdır - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - Bazı şekiller aşırı yüklemeler arasında ayrım yapamadığından, 'FromUnmanaged' yönteminin aşırı yüklemesi desteklenmez. - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - '{0}' türü, özel hazırlayıcılarda desteklenmeyen 'FromUnmanaged' metoduna aşırı yükleme yapıyor - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - 'GetPinnableReference' dönüş türü ('ref' olarak belirtildikten sonra) blok halinde kopyalanabilir olmalıdır. - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - 'GetPinnableReference' metodunun dönüş türünün başvurulan türü blok halinde kopyalanabilir olmalıdır - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - '{0}'metodu, 'partial' olarak işaretlenmemiş olan bir '{1}' türünün içinde yer alıyor. P/Invoke kaynak oluşturma işlemi, '{0}' metodunu yok sayacak. - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - 'LibraryImportAttribute' ile işaretlenmiş metotlar 'static', 'partial' ve genel olmayan özellikte olmalıdır. P/Invoke kaynak oluşturma 'static', 'partial' ve genel olmayan özellikteki metotlar dışında kalan metotları yok sayar. - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - 'LibraryImportAttribute' ile işaretlendiğinde '{0}' metodu 'static', 'partial' ve genel olmayan özellikte olmalıdır. P/Invoke kaynak oluşturma '{0}' metodunu yok sayar. - - - - Invalid 'CustomMarshallerAttribute' usage - Geçersiz 'CustomMarshallerAttribute' kullanımı - - - - Invalid 'LibraryImportAttribute' usage - Geçersiz 'LibraryImportAttribute' kullanımı - - - - Specified managed type is invalid - Belirtilen yönetilen tür geçersiz - - - - Invalid 'MarshalMode' value. - Geçersiz 'MarshalMode' değeri. - - - - Specified marshaller type is invalid - Belirtilen hazırlayıcı türü geçersiz - - - - Invalid 'NativeMarshallingAttribute' usage - Geçersiz 'NativeMarshallingAttribute' kullanımı - - - - Marshaller type has incompatible method signatures - Sıralayıcı türü uyumsuz metot imzaları içeriyor - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' ve 'StringMarshallingCustomType' yapılandırması geçersiz. - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - '{0}' metodundaki 'StringMarshalling' ve 'StringMarshallingCustomType' yapılandırması geçersiz. {1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 'StringMarshalling' 'StringMarshalling.Custom' olarak ayarlandığında 'StringMarshallingCustomType' belirtilmelidir. - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 'StringMarshallingCustomType' belirtilirken 'StringMarshalling', 'StringMarshalling.Custom' olarak ayarlanmalıdır. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - 'GetManagedValuesSource' tarafından döndürülen 'ReadOnlySpan' öğe türü, 'GetManagedValuesDestination' tarafından döndürülen öğe türüyle aynı olmalıdır. - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - 'GetManagedValuesSource' tarafından döndürülen 'ReadOnlySpan' öğe türü, 'GetManagedValuesDestination' tarafından döndürülen öğe türüyle aynı olmalıdır - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - 'CallerAllocatedBuffer' özelliğini destekleyen 'LinearCollection' tipi bir yerel türde, yönetilen türü birinci parametre, 'Span<byte>' değerini ikinci parametre ve öğenin yerel boyutunu ise üçüncü parametre olarak alan üç parametreli bir oluşturucu belirtilmelidir - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - '{0}' türünde '{1}' için 'CallerAllocatedBuffer' özelliğiyle 'In' sıralamasının desteklendiği belirtiliyor, ancak '{1}', 'Span<byte>' ve 'int' parametrelerini dahil eden üç parametreli bir oluşturucu sağlanmıyor - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - Yönetilenden yönetilmeyene sıralamayı destekleyen bitişik bir koleksiyon sıralayıcı, 'ReadOnlySpan<>' döndüren bir 'GetManagedValuesSource' ve 'Span<>' döndüren bir 'GetUnmanagedValuesDestination' metodu sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - '{0}' türü, '{1}' sıralama modunu desteklediğini belirtiyor, ancak 'ReadOnlySpan<>' döndüren bir 'GetManagedValuesSource' ve 'Span<>' döndüren bir ''GetUnmanagedValuesDestination' metodu sağlamıyor. - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - Yönetilmeyenden yönetilene sıralamayı destekleyen bitişik bir koleksiyon sıralayıcı, 'int' alan ve 'Span<>' döndüren bir 'GetManagedValuesDestination' ile 'int' alan ve 'ReadOnlySpan<>' döndüren bir 'GetUnmanagedValuesSource' metodu sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - '{0}' türü, '{1}' sıralama modunu desteklediğini belirtiyor, ancak 'int' alan ve 'Span<>' döndüren bir 'GetManagedValuesDestination' ile 'int' alan ve 'ReadOnlySpan<>' döndüren bir 'GetUnmanagedValuesSource' metodu sağlamıyor. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - Oluşturucunun belirli hazırlayıcı türlerde hangi yöntemlerin kullanılabilir olduğunu belirleyebilmesi için hazırlayıcı kapalı bir genel tür olmalıdır veya yönetilen türle aynı sayıda genel parametreye sahip olmalıdır. - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Giriş noktası hazırlayıcı türü '{1}' için yönetilen tür '{0}', kapalı bir genel tür olmalı, bir değer hazırlayıcı olması durumunda yönetilen türle aynı parametreye sahip olmalı, koleksiyon hazırlayıcı olması durumunda ise ek genel parametreye sahip olmalıdır. - - - - The managed type for a custom marshaller must be non-null. - Özel hazırlayıcı için yönetilen tür, null olmayan bir değer olmalıdır. - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - Giriş noktası hazırlayıcı türü '{0}' için yönetilen tür 'null' olmamalıdır - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - '{1}' parametresi için belirtilen 'MarshalAsAttribute' yapılandırması, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine normal bir 'DllImport' kullanın. - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - '{1}' yönteminin dönüş değeri için belirtilen 'MarshalAsAttribute' yapılandırması, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Belirtilen yapılandırma gerekiyorsa, bunun yerine normal bir 'DllImport' kullanın. - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - 'CustomMarshallerAttribute' için 'marshalMode' bağımsız değişkeni 'MarshalMode' için geçerli bir sabit listesi değeri olmalıdır. - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Hazırlayıcı türü kapalı bir genel tür olmalıdır veya gösterilen kodun belirli bir örnek oluşturma kullanabilmesi için yönetilen türle aynı sayıda genel parametreye sahip olmalıdır. - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - Giriş noktası hazırlayıcı türü '{1}' tarafından işaret edilen hazırlayıcı türü '{0}', kapalı bir genel tür olmalıdır veya yönetilen türle aynı parametreye sahip olmalıdır - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' öğesindeki 'marshallerType' parametresi 'null' olamaz. - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' öğesindeki 'marshallerType' parametresi 'null' olamaz - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - Sıralayıcı türü ya durum bilgisi olmayan bir statik sınıf ya da durum bilgisi olan bir değer türü olmalıdır. Statik olmayan sınıfa izin verilmez. - - - - The type '{0}' must be a static class or a value type - '{0}' türü statik bir sınıf veya değer türü olmalıdır - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - 'System.Runtime.InteropServices.CustomMarshallerAttribute' değerine sahip bir tür, 'null' olmayan bir yönetilen tür belirtmelidir - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - Tür '{0}', türe uygulanan 'System.Runtime.InteropServices.CustomMarshallerAttribute' içinde yönetilen bir tür belirtmiyor - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - Hazırlayıcı türü kapalı bir genel tür olmalıdır veya gösterilen kodun belirli bir örnek oluşturma kullanabilmesi için yönetilen türle aynı sayıda genel parametreye sahip olmalıdır. - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - Yönetilen türü '{1}' için hazırlayıcı türü '{0}', kapalı bir genel tür olmalı, bir değer hazırlayıcı olması durumunda yönetilen türle aynı parametreye sahip olmalı, koleksiyon hazırlayıcı olması durumunda ise ek genel parametreye sahip olmalıdır. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute, güvenli olmayan kod gerektiriyor. Projenin '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' ile güncelleştirilmesi gerekir. - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute, güvenli olmayan kod gerektiriyor. Projenin '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' ile güncelleştirilmesi gerekir. - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute, güvenli olmayan kod gerektiriyor. - - - - The return type the two method must be the expected type. - İki metodun dönüş türü beklenen tür olmalıdır. - - - - The return type of '{0}' must be '{1}' - '{0}' dönüş türü, '{1}' olmalıdır - - - - The return types of the two methods must be the same type. - İki yöntemin dönüş türleri aynı olmalıdır. - - - - The return type of '{0}' must be the same type as the return type of '{1}' - '{0}' öğesinin dönüş türü, '{1}' öğesinin dönüş türüyle aynı olmalıdır - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - Durum bilgisi olan bir hazırlayıcının 'Free' adlı sıfır parametreli hükümsüz dönen bir örnek yöntemi olmalıdır. - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - '{0}' türü durum bilgisi olan bir hazırlayıcıdır ve 'Free' adlı sıfır parametreli hükümsüz dönen bir örnek yöntemine sahip değil - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - Yönetilenden yönetilmeyene hazırlamayı destekleyen durum bilgisi olan bir hazırlayıcı, yönetilen değeri parametre olarak alan ve 'void' döndüren bir 'FromManaged' örnek yöntemi sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - '{0}' türü, '{1}' hazırlama modunu '{2}' için desteklediğini belirtir ancak '{2}' değerini parametre olarak alan ve 'void' döndüren 'FromManaged' adlı tek parametreli bir örnek yöntemi sağlamaz - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - Yönetimeyenden yönetilene hazırlamayı destekleyen durum bilgisi olan bir hazırlayıcı, yönetilmeyen değeri parametre olarak alan ve 'void' döndüren bir 'FromUnmanaged' örnek yöntemi sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - '{0}' türü, '{1}' hazırlama modunu '{2}' için desteklediğini belirtir ancak 'unmanaged' değerini parametre olarak alan ve 'void' döndüren 'FromUnmanaged' adlı tek parametreli bir örnek yöntemi sağlamaz - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - Yönetilmeyenden yönetilene hazırlamayı destekleyen durum bilgisi olan bir hazırlayıcı, parametre almayan ve yönetilen tür döndüren bir 'Tomanaged' örnek yöntemi sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - '{0}' türü, '{2}' için '{1}' öğesini desteklediğini belirtir ancak hazırlayıcı için '{2}' döndüren 'ToManaged' adlı sıfır parametreli bir örnek yöntemi sağlamaz - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - Yönetilenden yönetilmeyene hazırlamayı destekleyen durum bilgisi olan bir hazırlayıcı, parametre almayan ve 'unmanaged' tür döndüren bir 'ToUnmanaged' örnek yöntemi sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - '{0}' türü, '{2}' için '{1}' öğesini desteklediğini belirtir ancak hazırlayıcı için 'unmanaged' türünü döndüren 'ToUnmanaged' adlı sıfır parametreli bir örnek yöntemi sağlamaz - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - Sıralayıcı türünde 'Span<T>' alan bir 'AllocateContainerForUnmanagedElements' yöntemi sağlanarak 'Çağıran Tarafından Ayrılan Arabellek ile Yönetilenden Yönetilmeyene' şekli kullanıldığında tür, çağıran tarafından ayrılan arabellekteki öğe sayısını sağlamak için statik bir 'BufferSize' özelliği belirtmelidir. - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - '{0}' sıralayıcı türü, çağıran tarafından ayrılan arabelleğin boyutunu belirtmek için statik bir salt okunur 'int' 'BufferSize' özelliğine sahip olmalıdır çünkü çağıran tarafından ayrılan 'Span<{1}>' alan bir 'AllocateContainerForUnmanagedElements' yöntemine sahiptir. - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - Yönetilenden yönetilmeyene sıralamayı destekleyen bitişik bir koleksiyon sıralayıcı, yönetilen değeri parametre olarak alan ve 'ReadOnlySpan<>' döndüren bir 'GetManagedValuesSource'' ile yönetilmeyen değeri parametre olarak alan ve 'Span<>' döndüren bir 'GetUnmanagedValuesDestination' metodu sağlamalıdır - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - '{0}' türü, '{1}' sıralama modunu desteklediğini belirtiyor, ancak '{2}' öğesini parametre olarak alan ve 'ReadOnlySpan<>' döndüren bir 'GetManagedValuesSource ile yönetilmeyen değeri parametre olarak' alan ve 'Span<>' döndüren bir 'GetUnmanagedValuesDestination' metodu sağlamıyor. - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - Yönetilmeyenden yönetilene sıralamayı destekleyen bitişik bir koleksiyon sıralayıcı, yönetilen değeri alan ve 'Span<>' döndüren bir 'GetManagedValuesDestination' ile yönetilmeyen değeri ve 'int' alan ve 'ReadOnlySpan<>' döndüren bir 'GetUnmanagedValuesSource' metodu sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - '{0}' türü, '{1}' sıralama modunu desteklediğini belirtiyor, ancak '{2}' alan ve 'Span<>' döndüren bir 'GetManagedValuesDestination' ile yönetilmeyen değeri ve 'int' alan ve 'ReadOnlySpan<>' döndüren bir 'GetUnmanagedValuesSource' metodu sağlamıyor. - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - Yönetilenden yönetilmeyene sıralamayı destekleyen, durum bilgisi olmayan bitişik bir koleksiyon sıralayıcı, yönetilmeyen türü ilk parametre olarak ve öğe sayısını 'int' parametresi olarak alan bir 'AllocateContainerForManagedElements' yöntemi sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - '{0}' türü, '{2}' için '{1}' sıralama modunu desteklediğini belirtiyor, ancak yönetilmeyen türü birinci parametre ve 'int' öğesini ikini parametre olarak alan iki parametreli bir 'AllocateContainerForManagedElements' metodu sağlamıyor - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - Yönetilenden yönetilmeyene sıralamayı destekleyen, durum bilgisi olmayan bitişik bir koleksiyon sıralayıcı, yönetilen türü ilk parametre olarak ve öğe sayısını 'out int' parametresi olarak alan bir 'AllocateContainerForUnmanagedElements' yöntemi sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - '{0}' türü, '{2}' için '{1}' sıralama modunu desteklediğini belirtiyor, ancak '{2}' öğesini birinci parametre ve 'out int' öğesini ikini parametre olarak alan iki parametreli bir 'AllocateContainerForUnmanagedElements' metodu sağlamıyor. - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - Yönetilmeyenden yönetilene sıralamayı destekleyen, durum bilgisi olmayan bir değer sıralayıcı, yönetilmeyen değeri parametre olarak alan ve yönetilen türünde bir değer döndüren 'ConvertToManaged' yöntemi sağlamalıdır. - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - '{0}' türü, '{1}' sıralama modunu desteklediğini belirtiyor, ancak yönetilmeyen türü parametre olarak alan ve '{2}' döndüren bir 'ConvertToManaged' metodu sağlamıyor. - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - Yönetilenden yönetilmeyene sıralamayı destekleyen, durum bilgisi olmayan bir değer sıralayıcı, yönetilen değeri parametre olarak alan ve 'unmanaged' türünde bir değer döndüren tek parametreli bir 'ConvertToUnmanaged' yöntemi sağlamalıdır. - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - '{0}' türü, '{2}' için '{1}' sıralama modunu desteklediğini belirtiyor, ancak '{2}' öğesini parametre olarak alan ve 'unmanaged' türünde bir değer döndüren tek parametreli bir 'ConvertToUnmanaged' metodu sağlamıyor. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - 'ConvertToUnmanaged' dönüş türü ve ''ConvertToManaged' parametre türü aynı olmalıdır. - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - 'ConvertToUnmanaged' dönüş türü ve ''ConvertToManaged' parametre türü aynı olmalıdır - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - Özel sıralayıcının yönetilmeyen türü, C# yönetilmeyen bir tür olmalıdır. - - - - The return type of '{0}' must be unmanaged - '{0}' dönüş türü, yönetilmeyen olmalıdır - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - Statik 'GetPinnableReference' yönteminin sabitlenmiş sonucunun sabitlendikten sonra yerel bağlama geçirilebilmesi için 'void*', türe atanabilir olmalıdır. - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - Yönetilen tür '{1}', statik 'GetPinnableReference' yöntemine sahip olduğundan 'void*', '{0}' türüne atanabilir olmalıdır. - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - Belirli bir tür için bir giriş noktası türünün, bu türü yönetilen tür olarak belirten 'System.Runtime.InteropServices.CustomMarshallerAttribute' değerini taşımalıdır. - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - Tür '{1}' için giriş noktası hazırlayıcı türü '{0}', bu türü yönetilen tür olarak belirten en az bir 'System.Runtime.InteropServices.CustomMarshallerAttribute' türü olmalıdır - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - 'Out' yönünde sıralamayı destekleyen 'Value' veya 'LinearCollection' tipi yerel türde, yönetilen türü döndüren bir 'ToManaged' metodu sağlanmalıdır. - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - '{0}' türü, 'Out' yönünde sıralamayı desteklediğini belirtiyor, ancak yönetilen türü döndüren bir 'ToManaged' metodu sağlamıyor - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - 'ToUnmanaged' dönüş türü ve 'FromUnmanaged' parametre türü aynı olmalıdır. - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - 'ToUnmanaged' dönüş türü ve 'FromUnmanaged' parametre türü aynı olmalıdır - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - Kaynak tarafından oluşturulan P/Invokes tarafından desteklenmeyen türler için, elde edilen P/Invoke, belirtilen türü sıralamak için temel alınan çalışma zamanını kullanır. - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - '{0}' türü, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Oluşturulan kaynak, '{1}' parametresinin sıralamasını işlemez. - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} Oluşturulan kaynak '{1}' parametresinin sıralamasını işlemez. - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - '{0}' türü, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor. Oluşturulan kaynak, '{1}' metodunun dönüş değerinin sıralamasını işlemez. - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} Oluşturulan kaynak, '{1}' metodunun dönüş değerinin sıralamasını işlemez. - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - Belirtilen tür, kaynak tarafından oluşturulan P/Invokes tarafından desteklenmiyor - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - - - - Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info was provided and can be removed. - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - 'CallerAllocatedBuffer' özelliğini destekleyen bir 'Value' tipi yerel türün, yönetilen türü ve 'unmanaged' türünün 'Span' değerini parametre olarak alan iki parametreli bir oluşturucu sağlaması gerekir - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - '{0}' türünde '{1}' için 'CallerAllocatedBuffer' özelliğiyle 'In' sıralamasının desteklendiği belirtiliyor, ancak parametre olarak '{1}' ve 'unmanaged' türünün 'Span' değerlerini alan iki parametreli bir oluşturucu sağlanmıyor - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - 'Value' tipi yerel türün, yönetilen türü parametre olarak alan tek parametreli bir oluşturucu sağlaması gerekir - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - '{0}' türü '{1}' için 'In' sıralamasını desteklediğini belirtiyor, ancak parametre olarak '{1}' değerini alan tek parametreli bir oluşturucu sağlamıyor - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hans.xlf deleted file mode 100644 index 3933aae2acd14..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hans.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - 添加缺少的自定义类型封送程序成员 - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - 如果通过提供从封送处理程序类型提取“Span<T>”的“FromManaged”方法来使用“Managed to Unmanaged with Caller-Allocated Buffer”形状,则该类型必须提供一个静态的“BufferSize”属性才能提供已分配调用方缓冲。 - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - 封送处理程序类型“{0}”必须拥有静态的只读“int”“BufferSize”属性,才能指定已分配调用方缓冲的大小,因为它具有提取已分配调用方“Span<{1}>”的 FromManaged 方法 - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - 生成的 “DllImportAttribute” 将不具有与“{0}”对应的值。 - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - "{0}" 在 "DllImportAtttribute" 中没有等效项,并且将不会被转发 - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - 指定的 “LibraryImportAttribute” 参数无法转发到 “DllImportAttribute” - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - 源生成的 P/Invoke 将忽略任何不受支持的配置。 - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 源生成的 P/Invoke 不支持“{0}”配置。如果需要指定配置,请改用常规的“DllImport”。 - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - 源生成的 P/Invoke 不支持指定的封送配置。{0}。 - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 源生成的 P/Invoke 不支持参数“{1}”的指定“{0}”配置。如果需要指定配置,请改用常规的“DllImport”。 - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 源生成的 P/Invoke 不支持方法“{1}”返回值的指定“{0}”配置。如果需要指定配置,请改用常规的“DllImport”。 - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - 源生成的 P/Invoke 不支持“{1}”的指定值“{0}”。如果需要指定值,请改用常规的“DllImport”。 - - - - Specified configuration is not supported by source-generated P/Invokes. - 源生成的 P/Invoke 不支持指定的配置。 - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - 将 “PreserveSig” 设置为 “false” 的 P/Invoke 自动转换为源生成的 P/Invoke 可能会产生无效代码 - - - - Convert to 'LibraryImport' - 转换为 “LibraryImport” - - - - Convert to 'LibraryImport' and enable unsafe code - 转换为 “LibraryImport” 并启用不安全代码 - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 使用 “LibraryImportAttribute” 而不是 “DllImportAttribute” 在编译时生成 P/Invoke 封送代码 - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - 将此 API 转换为 “LibraryImport” 将需要额外的代码来为某些参数提供自定义封送程序。 - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 使用 “LibraryImportAttribute” 而不是 “DllImportAttribute” 标记方法“{0}”,以便在编译时生成 P/Invoke 封送代码 - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 使用 “LibraryImportAttribute” 而不是 “DllImportAttribute” 在编译时生成 P/Invoke 封送代码 - - - - Convert to 'LibraryImport' with '{0}' suffix - 转换为带“{0}”后缀的 “LibraryImport” - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - 转换为具有“{0}”后缀的 “LibraryImport” 并启用不安全的代码 - - - - Marshaller type does not have the required shape - 封送程序类型没有必需的形状 - - - - A marshaller for an element scenario cannot be stateful. - 元素方案的封送程序不能是监控状态的。 - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - 指定的封送程序类型“{0}”是监控状态的封送程序,但在提供的封送模式“{1}”中不允许使用监控状态的封送程序 - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - 第一个方法返回的跨度的元素类型必须与第二个方法返回的跨度的元素类型为相同的类型。 - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - “{0}”返回的跨度的元素类型必须与“{1}”返回的跨度的元素类型为相同的类型。 - - - - An entry-point type for marshalling a given type must not be 'null'. - 用于封送给定类型的入口点类型不能为“null”。 - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - 类型“{0}”的入口点封送处理程序类型不能为“null” - - - - The first parameter of the first method must be the same type as the return types of the second method. - 第一个方法的第一个参数必须与第二个方法的返回类型为相同的类型。 - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - “{0}”的第一个参数必须与“{1}”的返回类型为相同的类型 - - - - The first parameters of the two methods must be the same type. - 这两种方法的第一个参数必须为相同的类型。 - - - - The first parameter of '{0}' and '{1}' must be the same type - “{0}”和“{1}”的第一个参数必须为相同的类型 - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - 不支持重载“FromUnmanaged”方法,因为某些形状无法区分重载。 - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - 类型“{0}”重载 “FromUnmanaged” 方法,这在自定义封送程序中不受支持 - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - “GetPinnableReference” 的返回类型(考虑到 “ref” 之后)必须是 blittable 的。 - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - “GetPinnableReference” 方法的返回类型的取消引用类型必须是 blittable - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - 方法“{0}”包含在未标记为 “partial” 的类型“{1}”中。P/Invoke 源生成将忽略方法“{0}”。 - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - 标记为 “LibraryImportAttribute” 的方法应为 “static”、“partial” 和非泛型。P/Invoke 源生成将忽略非“static”、“non--partial” 或泛型的方法。 - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - 在标记为 “LibraryImportAttribute” 时,方法“{0}”应为 “static”、“partial” 和非泛型。P/Invoke 源生成将忽略方法“{0}”。 - - - - Invalid 'CustomMarshallerAttribute' usage - “CustomMarshallerAttribute”用法无效 - - - - Invalid 'LibraryImportAttribute' usage - “LibraryImportAttribute” 用法无效 - - - - Specified managed type is invalid - 指定的托管类型无效 - - - - Invalid 'MarshalMode' value. - “MarshalMode”值无效。 - - - - Specified marshaller type is invalid - 指定的封送处理程序类型无效 - - - - Invalid 'NativeMarshallingAttribute' usage - “NativeMarshallingAttribute”用法无效 - - - - Marshaller type has incompatible method signatures - 封送程序类型具有不兼容的方法签名 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - “StringMarshalling” 和 “StringMarshallingCustomType” 的配置无效。 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - 方法“{0}”上的 “StringMarshalling” 和 “StringMarshallingCustomType” 的配置无效。{1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 在 “StringMarshalling” 设置为 “StringMarshalling.Custom” 时,必须指定 “StringMarshallingCustomType”。 - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 在指定 “StringMarshallingCustomType” 时,应将 “StringMarshalling” 设置为 “StringMarshalling.Custom”。 - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - “GetManagedValuesSource” 返回的 “ReadOnlySpan” 的元素类型必须与 “GetManagedValuesDestination” 返回的元素类型相同。 - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - “GetManagedValuesSource” 返回的 “ReadOnlySpan” 的元素类型必须与 “GetManagedValuesDestination” 返回的元素类型相同 - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - 支持 “CallerAllocatedBuffer” 功能的 “LinearCollection” 种类本机类型必须提供一个三参数构造函数,该构造函数将托管类型作为第一个参数、“Span<byte>” 作为第二个参数,并将元素本机大小作为第三个参数 - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - 类型“{0}”指定它支持使用 “CallerAllocatedBuffer” 功能对“{1}”进行 “In” 封送,但不提供采用“{1}”、“Span<byte>” 和 “int” 的三参数构造函数 - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - 支持从托管到非托管的封送的连续集合封送程序必须提供返回“ReadOnlySpan<>”的“GetManagedValuesSource”和返回“Span<>”的“GetUnmanagedValuesDestination”方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - 类型“{0}”指定它支持“{1}”封送模式,但不提供返回“ReadOnlySpan<>”的“GetManagedValuesSource”和返回“Span<>”的“GetUnmanagedValuesDestination”方法 - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - 支持从非托管封送封送到托管的连续集合封送程序必须提供采用“int”并返回“Span<>”的“GetManagedValuesDestination”和采用“int”并返回“ReadOnlySpan<>”的“GetUnmanagedValuesSource”方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - 类型“{0}”指定它支持“{1}”封送模式,但不提供采用“int”并返回“Span<>”的“GetManagedValuesDestination”和采用“int”并返回“ReadOnlySpan<>”的“GetUnmanagedValuesSource”方法 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - 封送处理程序类型必须是封闭泛型或具有与托管类型相同的泛型参数,以便生成器可以确定哪些方法可用于特定封送处理程序类型。 - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - 适用于入口点封送处理程序类型“{1}”的托管类型“{0}”必须是封闭式泛型类型,如果托管类型是值封送处理程序,则该类型必须与托管类型具有相同的 arity;如果托管类型是集合封送处理程序,则它多具有一个泛型参数。 - - - - The managed type for a custom marshaller must be non-null. - 自定义封送处理程序的托管类型必须为非 null。 - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - 入口点封送处理程序类型“{0}”的托管类型不能为“null” - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 源生成的 P/Invoke 不支持参数“{1}”的指定“MarshalAsAttribute”配置。如果需要指定配置,请改用常规的“DllImport”。 - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 源生成的 P/Invoke 不支持方法“{1}”返回值的指定“MarshalAsAttribute”配置。如果需要指定配置,请改用常规的“DllImport”。 - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - “CustomMarshallerAttribute”的“marshalMode”参数必须是“MarshalMode”的有效枚举值。 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - 封送处理程序类型必须是封闭泛型或具有与托管类型相同数目的泛型参数,以便发出的代码可以使用特定实例化。 - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - 入口点封送程序类型“{1}”指向的封送程序类型“{0}”必须是闭合泛型类型或与托管类型具有相同的 arity - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - “System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute”中的“marshallerType”参数不能为“null”。 - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - “System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute”中的“marshallerType”参数不能为“null” - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - 封送程序类型必须为无状态静态类或有状态值类型。不允许使用非静态类。 - - - - The type '{0}' must be a static class or a value type - 类型“{0}”必须为静态类或值类型 - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - 具有“System.Runtime.InteropServices.CustomMarshallerAttribute”的类型必须指定非空的托管类型 - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - 类型“{0}”未在应用于该类型的 “System.Runtime.InteropServices.CustomMarshallerAttribute”中指定托管类型 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - 封送处理程序类型必须是封闭泛型或具有与托管类型相同数目的泛型参数,以便发出的代码可以使用特定实例化。 - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - 适用于托管类型“{1}”的封送处理程序类型“{0}”必须是封闭式泛型类型,如果托管类型是值封送处理程序,则该类型必须与托管类型具有相同的 arity;如果托管类型是集合封送处理程序,则它多具有一个泛型参数。 - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute 需要不安全的代码。必须使用 “<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”更新项目。 - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute 需要不安全的代码。必须使用 “<AllowUnsafeBlocks>true</AllowUnsafeBlocks>”更新项目。 - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute 需要不安全的代码。 - - - - The return type the two method must be the expected type. - 这两种方法的返回类型必须为预期类型。 - - - - The return type of '{0}' must be '{1}' - “{0}”的返回类型必须为“{1}” - - - - The return types of the two methods must be the same type. - 这两种方法的返回类型必须为相同的类型。 - - - - The return type of '{0}' must be the same type as the return type of '{1}' - “{0}”的返回类型必须与“{1}”的返回类型为相同的类型 - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - 监控状态的封送程序必须具有名为 “Free” 的零参数 void 返回实例方法。 - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - 类型“{0}”是监控状态的封送程序,并且不具有名为 “Free” 的零参数 void 返回实例方法 - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - 支持从托管到非管理的封送的监控状态封送程序必须提供 “FromManaged” 实例方法,该方法将托管值作为参数并返回 “void”。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - 类型“{0}”指定它支持“{2}”的“{1}”封送模式,但它不提供名为 “FromUnmanaged”,且将“{2}”作为参数并返回 “void” 的单参数实例方法 - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - 支持从非管理到托管的封送的监控状态封送程序必须提供 “FromUnmanaged” 实例方法,该方法将非管理的值作为参数并返回 “void”。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - 类型“{0}”指定它支持“{2}”的“{1}”封送模式,但它不提供名为 “FromUnmanaged”,且将“非管理”的值作为参数并返回 “void” 的单参数实例方法 - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - 支持从非管理到托管的封送的监控状态封送程序必须提供不采用任何参数并返回托管类型的“ToManaged”实例方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - 类型“{0}”指定它支持“{2}”的“{1}”封送模式,但它不提供名为 “Tomanaged”,且返回“{2}”的零参数实例方法。 - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - 支持从托管到非管理的封送的监控状态封送程序必须提供 “ToUnmanaged” 实例方法,该方法不使用参数并返回“非管理”类型。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - 类型“{0}”指定它支持“{2}”的“{1}”封送模式,但它不提供名为 “ToUnmanaged”,且为封送程序返回“非管理”类型的零参数实例方法。 - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - 如果在封送程序类型上提供采用“Span<T>”的“AllocateContainerForUnmanagedElements”方法以使用“通过调用方分配的缓冲区从托管到非托管”形状,则该类型必须提供静态“BufferSize”属性以提供调用方分配的缓冲区中的元素数。 - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - 封送程序类型“{0}”必须具有静态只读“int”“BufferSize”属性以指定调用方分配的缓冲区的大小,因为它具有采用调用方分配的“Span<{1}>”的“AllocateContainerForUnmanagedElements”方法 - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - 支持从托管到非托管的封送的连续集合封送程序必须提供将托管值用作参数并返回“ReadOnlySpan<>”的“GetManagedValuesSource”和将非托管值用作参数并返回“Span<>”的“GetUnmanagedValuesDestination”方法 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - 类型“{0}”指定它支持“{1}”封送模式,但不提供将“{2}”用作参数并返回“ReadOnlySpan<>”的“GetManagedValuesSource 和将非托管值用作参数并返回“Span<>”的“GetUnmanagedValuesDestination”方法 - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - 支持从非托管到托管的封送的连续集合封送程序必须提供采用托管值并返回“Span<>”的“GetManagedValuesDestination”以及采用非托管值和“int”并返回“ReadOnlySpan<>”的“GetUnmanagedValuesSource”方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - 类型“{0}”指定它支持“{1}”封送模式,但不提供采用“{2}”并返回“Span<>”的“GetManagedValuesDestination”以及采用非托管值和“int”并返回“ReadOnlySpan<>”的“GetManagedValuesSource”方法 - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - 支持从托管到非托管的封送的无状态连续集合封送程序必须提供将非托管类型用作第一个参数并将元素数用作 “int” 参数的“AllocateContainerForManagedElements” 方法 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - 类型“{0}”指定它支持“{2}”的“{1}”封送模式,但不提供将非托管类型用作第一个参数并将“int”用作第二个参数的双参数“AllocateContainerForManagedElements”方法 - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - 支持从托管到非托管的封送的无状态连续集合封送程序必须提供将托管类型用作第一个参数并将元素数作为 “out int” 参数提供的“AllocateContainerForUnmanagedElements” 方法 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - 类型“{0}”指定它支持“{2}”的“{1}”封送模式,但不提供将“{2}”用作第一个参数并将“out int”用作第二个参数的双参数“AllocateContainerForUnmanagedElements”方法 - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - 支持从非托管到托管的封送的无状态值封送程序必须提供将非托管类型用作参数并返回托管类型的“ConvertToManaged”方法。 - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - 类型“{0}”指定它支持“{1}”封送模式,但不提供将非托管类型用作参数并返回“{2}”的“ConvertToManaged”方法 - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - 支持从托管到非托管的封送的无状态值封送程序必须提供将托管值用作参数并返回“非托管”类型的值的单参数“ConvertToUnmanaged”方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - 类型“{0}”指定它支持“{2}”的“{1}”封送模式,但不提供将“{2}”用作参数并返回“非托管”类型的值的单参数“ConvertToUnmanaged”方法 - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - “ConvertToUnmanaged”的返回类型和“ConvertToManaged”的参数类型必须相同。 - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - “ConvertToUnmanaged”的返回类型和“ConvertToManaged”的参数类型必须相同 - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - 自定义封送程序的非托管类型必须为 C# 非托管类型。 - - - - The return type of '{0}' must be unmanaged - “{0}”的返回类型必须为非托管 - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - 必须将“void*”强制转换为类型,这样静态“GetPinnableReference”方法的固定结果才能在固定后传递到本机上下文。 - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - “void*”必须可转换为类型“{0}”,因为托管类型“{1}”具有静态“GetPinnableReference”方法 - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - 对给定类型进行封送处理的入口点类型必须具有将此类型指定为托管类型的 “System.Runtime.InteropServices.CustomMarshallerAttribute”。 - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - 适用于类型“{1}”的入口点封送处理程序类型“{0}”必须是至少具有一个指定此类型为托管类型的 “System.Runtime.InteropServices.CustomMarshallerAttribute”的类型 - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - 支持在 “Out” 方向进行封送处理的 “Value” 或 “LinearCollection” 种类的本机类型必须提供返回托管类型的 “ToManaged” 方法。 - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - 类型“{0}”指定它支持按 “Out” 方向进行封送,但不提供返回托管类型的 “ToManaged” 方法 - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - “ToUnmanaged”的返回类型和“FromUnmanaged”的参数类型必须相同。 - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - “ToUnmanaged”的返回类型和“FromUnmanaged”的参数类型必须相同 - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - 对于源生成的 P/Invoke 不支持的类型,生成的 P/Invoke 将依赖基础运行时来封送指定的类型。 - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - 源生成的 P/Invoke 不支持“{0}”类型。生成的源将不处理参数“{1}”的封送。 - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 生成的源将不处理参数“{1}”的封送。 - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - 源生成的 P/Invoke 不支持“{0}”类型。生成的源将不处理方法“{1}”的返回值的封送。 - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 生成的源将不处理方法“{1}”的返回值的封送。 - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - 源生成的 P/Invoke 不支持指定的类型 - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - 提供了不必要的封送信息。可移除此封装信息,而不对应用程序的行为进行任何更改。 - - - - Unnecessary marshalling info was provided and can be removed. - 提供了不必要的封送信息,可将此信息移除。 - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - 为参数“{1}”提供了不必要的封送信息“{0}” - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - 为方法“{1}”的返回类型提供了不必要的封送信息“{0}” - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - 支持 \"CallerAllocatedBuffer\" 功能的 \"Value\" 种类本机类型必须提供以托管类型和“非管理”类型的 \"Span\" 作为参数的双参数构造函数 - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - 类型“{0}”指定它支持使用“{1}”的 “CallerAllocatedBuffer” 功能进行 “In” 封送,但不提供以“{1}”和“非管理”类型的 “Span” 作为参数的双参数构造函数 - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - “Value” 种类本机类型必须提供一个以托管类型作为参数的单参数构造函数 - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - 类型“{0}”指定它支持“{1}”的 “In” 封送,但不提供将“{1}”作为参数的单参数构造函数 - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hant.xlf deleted file mode 100644 index 7bc2dffec1f23..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Resources/xlf/Strings.zh-Hant.xlf +++ /dev/null @@ -1,674 +0,0 @@ - - - - - - Add missing custom type marshaller members - 新增遺漏的自訂類型排列器成員 - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing a 'FromManaged' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - 當透過提供在封送處理器類型上採用 'Span<T>' 的 'FromManaged' 方法來使用 'Managed to Unmanaged with Caller-Allocated Buffer' 圖形時,該類型必須提供靜態 'BufferSize' 屬性以提供 caller-allocated 緩衝區中的元素數字。 - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has a FromManaged method that takes a caller-allocated 'Span<{1}>' - 封送處理器類型 '{0}' 必須有靜態唯讀 'int' 'BufferSize' 屬性,以指定 caller-allocated 緩衝區的大小,因為它具有採用 caller-allocated 'Span<{1}>' 的 FromManaged 方法 - - - - The generated 'DllImportAttribute' will not have a value corresponding to '{0}'. - 產生的 'DllImportAttribute' 將不會有對應至 '{0}' 的值。 - - - - '{0}' has no equivalent in 'DllImportAttribute' and will not be forwarded - '{0}'在 'DllImportAttribute' 中没有相等項目,將不會轉寄 - - - - Specified 'LibraryImportAttribute' arguments cannot be forwarded to 'DllImportAttribute' - 指定的 'LibraryImportAttribute' 自變量無法轉送到 'DllImportAttribute' - - - - Source-generated P/Invokes will ignore any configuration that is not supported. - 来源產生的 P/Invokes 將會忽略任何不支援的設定。 - - - - The '{0}' configuration is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 來源產生的 P/Invokes 不支援 '{0}' 設定。如果需要指定的設定,請改用一般 'DllImport'。 - - - - The specified marshalling configuration is not supported by source-generated P/Invokes. {0}. - 来源產生的 P/Invokes 不支援指定的排列設定。{0}。 - - - - The specified '{0}' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 來源產生的 P/Invokes 不支援為參數 '{1}' 指定的 '{0}' 設定。如果需要指定的設定,請改用一般 'DllImport'。 - - - - The specified '{0}' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 來源產生的 P/Invokes 不支援為方法 '{1}' 的傳回值指定 '{0}' 設定。如果需要指定的設定,請改用一般 'DllImport'。 - - - - The specified value '{0}' for '{1}' is not supported by source-generated P/Invokes. If the specified value is required, use a regular 'DllImport' instead. - 來源產生的 P/Invokes 不支援為 '{1}' 指定的值 '{0}'。如果需要指定的設定,請改用一般 'DllImport'。 - - - - Specified configuration is not supported by source-generated P/Invokes. - 来源產生的 P/Invokes 不支援指定的設定。 - - - - Automatically converting a P/Invoke with 'PreserveSig' set to 'false' to a source-generated P/Invoke may produce invalid code - 將 'PreserveSig' 設為 'false' 的 P/Invoke 自動轉換來源產生的 P/Invoke 可能會產生無效的程式碼 - - - - Convert to 'LibraryImport' - 轉換為 'LibraryImport' - - - - Convert to 'LibraryImport' and enable unsafe code - 轉換為 'LibraryImport',並啟用不安全的程式碼 - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 使用 'LibraryImportAttribute' 而非 'DllImportAttribute' 在編譯時間產生 P/Invoke 封送處理程式碼 - - - - Converting this API to 'LibraryImport' will require additional code to provide custom marshallers for some parameters. - 將此 API 轉換為 'LibraryImport' 需要額外的程式碼,才能提供某些參數的自訂封送處理器。 - - - - Mark the method '{0}' with 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 以 'LibraryImportAttribute' 代替 'DllImportAttribute' 標示方法'{0}',以在編譯時間產生 P/Invoke 封送處理程式碼 - - - - Use 'LibraryImportAttribute' instead of 'DllImportAttribute' to generate P/Invoke marshalling code at compile time - 使用 'LibraryImportAttribute' 而非 'DllImportAttribute' 在編譯時間產生 P/Invoke 封送處理程式碼 - - - - Convert to 'LibraryImport' with '{0}' suffix - 轉換為具有 '{0}'後綴的 'LibraryImport' - - - - Convert to 'LibraryImport' with '{0}' suffix and enable unsafe code - 轉換為具有 '{0}' 尾碼的 'LibraryImport',並啟用不安全的程式碼 - - - - Marshaller type does not have the required shape - 封送處理器類型沒有必要的圖形 - - - - A marshaller for an element scenario cannot be stateful. - 元素案例的封送處理器不可為可設定狀態。 - - - - The specified marshaller type '{0}' is a stateful marshaller, but stateful marshallers are not allowed in the provided marshal mode '{1}' - 指定的封送處理器類型 '{0}' 是可設定狀態的封送處理器,但是在提供的封送處理模式 '{1}' 中不允許有狀態的封送處理器 - - - - The element type of the span returned by the first method must be the same type as the element type of the span returned by the second method. - 第一個方法傳回之跨距的元素類型必須與第二個方法傳回之跨距的元素類型相同類型。 - - - - The element type of the span returned by '{0}' must be the same type as the element type of the span returned by '{1}'. - '{0}' 傳回之跨距的元素類型必須與 '{1}' 傳回之跨距的元素類型相同類型。 - - - - An entry-point type for marshalling a given type must not be 'null'. - 封送處理指定類型的進入點類型不得為 'null'。 - - - - The entry-point marshaller type for the type '{0}' must be not 'null' - 類型 '{0}' 的進入點封送處理器類型不能是 'null' - - - - The first parameter of the first method must be the same type as the return types of the second method. - 第一個方法的第一個參數必須與第二個方法的傳回類型相同類型。 - - - - The first parameter of '{0}' must be the same type as the return type of '{1}' - '{0}' 的第一個參數必須與 '{1}' 的傳回類型相同 - - - - The first parameters of the two methods must be the same type. - 兩種方法的第一個參數必須是相同的類型。 - - - - The first parameter of '{0}' and '{1}' must be the same type - '{0}' 與 '{1}' 的第一個參數必須是相同的類型 - - - - Overloading the 'FromUnmanaged' method is unuspported as some shapes are unable to distinguish between overloads. - 不支援多載 'FromUnmanaged' 方法,因為某些圖形無法區分多載。 - - - - The type '{0}' overloads the 'FromUnmanaged' method, which is not supported in custom marshallers - 自訂封送處理器中不支援類型 '{0}' 多載 'FromUnmanaged' 方法 - - - - The return type of 'GetPinnableReference' (after accounting for 'ref') must be blittable. - ('ref' 帳戶處理後的) 'GetPinnableReference' 傳回類型必須是 blittable。 - - - - The dereferenced type of the return type of the 'GetPinnableReference' method must be blittable - 'GetPinnableReference' 方法傳回類型的解除参照類型必須是 blittable - - - - Method '{0}' is contained in a type '{1}' that is not marked 'partial'. P/Invoke source generation will ignore method '{0}'. - 方法 '{0}' 包含在未標示為 'partial' 的類型'{1}'中。產生 P/Invoke 来源會忽略方法'{0}'。 - - - - Methods marked with 'LibraryImportAttribute' should be 'static', 'partial', and non-generic. P/Invoke source generation will ignore methods that are non-'static', non-'partial', or generic. - 以 'LibraryImportAttribute' 標示的方法應該是 'static'、'partial' 和非泛型。產生 P/Invoke 来源會忽略非'static'、non-'partial' 或一般的方法。 - - - - Method '{0}' should be 'static', 'partial', and non-generic when marked with 'LibraryImportAttribute'. P/Invoke source generation will ignore method '{0}'. - 以 'LibraryImportAttribute' 標示時,方法'{0}'應為 'static'、'partial' 和非泛型。產生 P/Invoke 来源會忽略方法'{0}'。 - - - - Invalid 'CustomMarshallerAttribute' usage - `CustomMarshallerAttribute` 使用方式無效 - - - - Invalid 'LibraryImportAttribute' usage - 'LibraryImportAttribute' 使用方式無效 - - - - Specified managed type is invalid - 指定的受控類型無效 - - - - Invalid 'MarshalMode' value. - 'MarshalMode' 值無效。 - - - - Specified marshaller type is invalid - 指定的封送處理器類型無效 - - - - Invalid 'NativeMarshallingAttribute' usage - 'NativeMarshallingAttribute' 使用方式無效 - - - - Marshaller type has incompatible method signatures - 封送處理器類型有不相容的方法簽章 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' is invalid. - 'StringMarshalling' 和 'StringMarshallingCustomType' 的設定無效。 - - - - The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on method '{0}' is invalid. {1} - 方法 '{0}' 上的 'StringMarshalling' 和 'StringMarshallingCustomType' 設定無效。{1} - {1} is a message containing additional details about what is not valid - - - 'StringMarshallingCustomType' must be specified when 'StringMarshalling' is set to 'StringMarshalling.Custom'. - 當 'StringMarshalling' 設定為 'StringMarshalling.Custom' 時,必須指定 'StringMarshallingCustomType'。 - - - - 'StringMarshalling' should be set to 'StringMarshalling.Custom' when 'StringMarshallingCustomType' is specified. - 指定 'StringMarshallingCustomType' 時,'StringMarshalling' 應設定為 'StringMarshalling.Custom'。 - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination'. - 'GetManagedValuesSource' 傳回的 'ReadOnlySpan' 元素類型必須與 'GetManagedValuesDestination' 傳回的元素類型相同。 - - - - The element type of the 'ReadOnlySpan' returned by 'GetManagedValuesSource' must be the same as the element type returned by 'GetManagedValuesDestination' - 'GetManagedValuesSource' 傳回的 'ReadOnlySpan' 元素類型必須與 'GetManagedValuesDestination' 傳回的元素類型相同 - - - - A 'LinearCollection'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a three-parameter constructor taking the managed type as the first parameter, a 'Span<byte>' as the second parameter, and the native size of the element as the third parameter - 支援 'CallerAllocatedBuffer' 功能的 'LinearCollection'-kind 原生類型必須提供以 Managed 類型作為第一個參數的三個參數建構函式、將 'Span<byte>' 作為第二個參數,以及元素的原生大小作為第三個參數 - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a three-parameter constructor that takes a '{1}' , a 'Span<byte>', and an 'int' - 類型 '{0}' 指定其支援 'In' 封送處理,且'{1}'的 'CallerAllocatedBuffer' 功能,但不提供接受'{1}'、'Span<byte>' 和 'int' 的三個參數建構函示 - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>'. - 支援從非受控到受控封送處理的連續集合封送處理程式必須提供傳回 'ReadOnlySpan<>' 的 'GetManagedValuesSource' 和傳回 'Span<>' 的 'GetNativeValuesDestination' 方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that returns a 'Span<>' - 類型 '{0}' 指定它支援 '{1}' 封送處理模式,但未提供傳回 'ReadOnlySpan<>' 的 'GetManagedValuesSource' 和傳回 'Span<>' 的 'GetNativeValuesDestination' 方法 - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>'. - 支援從非受控到受控封送處理的連續集合封送處理程式必須提供接受 'int' 和傳回 'Span<>' 的 'GetManagedValuesDestination',和接受 'int' 和傳回 'ReadOnlySpan<>' 的 'GetNativeValuesSource' 方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes an 'int' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes an 'int' and returns a 'ReadOnlySpan<>' - 類型 '{0}' 指定它支援 '{1}' 封送處理模式,但未提供接受 'int' 和傳回 'Span<>' 的 'GetManagedValuesDestination',和接受 'int' 和傳回 'ReadOnlySpan<>' 的 'GetNativeValuesSource' 方法 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the generator can determine which methods are available on the specific marshaller types. - 封送處理器類型必須是封閉的泛型或具有與受控類型相同的泛型參數數目,以便產生器可以判斷哪些方法可用於特定的封送處理器類型。 - - - - The managed type '{0}' for entry-point marshaller type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - 進入點封送處理器類型 '{1}' 的受控類型 '{0}' 必須是封閉的泛型類型、如果是值封送處理器,則其 arity 必須與受控類型相同,如果是集合封送處理器,則必須有另一個泛型參數。 - - - - The managed type for a custom marshaller must be non-null. - 自訂封送處理器的受控類型必須是非 Null。 - - - - The managed type for the entry-point marshaller type '{0}' must not be 'null' - 進入點封送處理器類型 '{0}' 的受控類型不得為 'null' - - - - The specified 'MarshalAsAttribute' configuration for parameter '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 來源產生的 P/Invokes 不支援為參數 '{1}' 指定 'MarshalAsAttribute' 設定。如果需要指定的設定,請改用一般 'DllImport'。 - - - - The specified 'MarshalAsAttribute' configuration for the return value of method '{1}' is not supported by source-generated P/Invokes. If the specified configuration is required, use a regular 'DllImport' instead. - 來源產生的 P/Invokes 不支援為方法 '{1}' 的傳回值指定 'MarshalAsAttribute' 設定。如果需要指定的設定,請改用一般 'DllImport'。 - - - - The 'marshalMode' argument of 'CustomMarshallerAttribute' must be a valid enum value of 'MarshalMode'. - 'CustomMarshallerAttribute' 的 'marshalMode' 引數必須是有效的列舉值 'MarshalMode'。 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - 封送處理器類型必須是封閉式泛型或具有與受控類型相同的泛型參數數目,因此發出的程式碼可以使用特定的具現化。 - - - - The marshaller type '{0}' pointed to by the entry-point marshaller type '{1}' must be a closed generic type or have the same arity as the managed type - 進入點封送處理器類型 '{1}' 指向的封送處理器類型 '{0}' 必須是封閉的泛型類型或與受控類型具有相同的 Arity - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null'. - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' 中的 'marshallerType' 參數不可以是 'null'。 - - - - The 'marshallerType' parameter in the 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' cannot be 'null' - 'System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute' 中的 'marshallerType' 參數不可以是 'null' - - - - A marshaller type must either be a stateless static class or a stateful value type. A non-static class is not allowed. - 封送處理程式類型必須是無狀態靜態類型或具狀態的數值類型。不允許非靜態類型。 - - - - The type '{0}' must be a static class or a value type - 類型 '{0}' 必須是靜態類別或數值類型 - - - - A type with a 'System.Runtime.InteropServices.CustomMarshallerAttribute' must specify a non-'null' managed type - 具有 'System.Runtime.InteropServices.CustomMarshallerAttribute' 的類型必須指定非 Null 受控類型 - - - - The type '{0}' does not specify a managed type in the 'System.Runtime.InteropServices.CustomMarshallerAttribute' applied to the type - 類型 '{0}' 未在套用至類型的 'System.Runtime.InteropServices.CustomMarshallerAttribute' 中指定受控類型 - - - - The marshaller type must be a closed generic or have the same number of generic parameters as the managed type so the emitted code can use a specific instantiation. - 封送處理器類型必須是封閉式泛型或具有與受控類型相同的泛型參數數目,因此發出的程式碼可以使用特定的具現化。 - - - - The marshaller type '{0}' for managed type '{1}' must be a closed generic type, have the same arity as the managed type if it is a value marshaller, or have one additional generic parameter if it is a collection marshaller. - 受控類型 '{1}' 的封送處理器類型 '{0}' 必須是封閉的泛型類型、如果是值封送處理器,則其 arity 必須與受控類型相同,如果是集合封送處理器,則必須有另一個泛型參數。 - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute 需要不安全的程式碼。專案必須以 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' 更新。 - - - - LibraryImportAttribute requires unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. - LibraryImportAttribute 需要不安全的程式碼。專案必須以 '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>' 更新。 - - - - LibraryImportAttribute requires unsafe code. - LibraryImportAttribute 需要不安全的程式碼。 - - - - The return type the two method must be the expected type. - 兩種方法的傳回類型必須是預期的類型。 - - - - The return type of '{0}' must be '{1}' - '{0}' 的傳回類型必須為 '{1}' - - - - The return types of the two methods must be the same type. - 兩種方法的傳回類型必須是相同的類型。 - - - - The return type of '{0}' must be the same type as the return type of '{1}' - '{0}' 的傳回類型必須與 '{1}' 的傳回類型相同 - - - - A stateful marshaller must have a zero-parameter void-returning instance method named 'Free'. - 具狀態的封送處理常式必須有名稱為 'Free' 的零參數無效傳回執行個體方法。 - - - - The type '{0}' is a stateful marshaller and does not have a zero-parameter void-returning instance method named 'Free' - 類型 '{0}' 是具狀態的封送處理器,且沒有名為 'Free' 的零參數無效傳回執行個體方法 - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'FromManaged' instance method that takes the managed value as a parameter and returns 'void'. - 支援從受控到未受控封送處理的具狀態封送處理器必須提供 'FromManaged' 執行個體方法,該方法將受控值作為參數並傳回 'void'。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromManaged' that takes a '{2}' as a parameter and returns 'void' - 類型 '{0}' 指定它支援 '{1}' 的 '{2}' 封送處理模式,但它不提供名為 'FromManaged' 的單一參數執行個體方法,該方法將 '{2}' 值作為參數並傳回 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'FromUnmanaged' instance method that takes the unmanaged value as a parameter and returns 'void'. - 支援從未受控到受控封送處理的具狀態封送處理器必須提供 'FromUnmanaged' 執行個體方法,該方法將未受控值作為參數並傳回 'void'。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a one-parameter instance method named 'FromUnmanaged' that takes the 'unmanaged' value as a parameter and returns 'void' - 類型 '{0}' 指定它支援 '{1}' 的 '{2}' 封送處理模式,但它不提供名為 'FromUnmanaged' 的單一參數執行個體方法,該方法將 'unmanaged' 值作為參數並傳回 'void' - - - - A stateful marshaller that supports marshalling from unmanaged to managed must provide a 'ToManaged' instance method that takes no parameters and returns the managed type. - 支援從未受控到受控封送處理的具狀態封送處理器必須提供 'ToManaged' 執行個體方法,該方法沒有參數並傳回受控類型。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToManaged' that returns '{2}' - 類型 '{0}' 指定它支援 '{1}' 的 '{2}' 封送處理模式,但不提供名為 'ToManaged' 的零參數執行個體方法,該方法會傳回 '{2}' - - - - A stateful marshaller that supports marshalling from managed to unmanaged must provide a 'ToUnmanaged' instance method that takes no parameters and returns the 'unmanaged' type. - 支援從受控到未受控封送處理的具狀態封送處理器必須提供 'ToUnmanaged' 執行個體方法,該方法沒有參數並傳回 'unmanaged' 類型。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but it does not provide a zero-parameter instance method named 'ToUnmanaged' that returns the 'unmanaged' type for the marshaller - 類型 '{0}' 指定它支援 '{1}' 的 '{2}' 封送處理模式,但不提供名為 'ToUnmanaged' 的零參數執行個體方法,該方法會傳回封送處理器的 'unmanaged' 類型 - - - - When the 'Managed to Unmanaged with Caller-Allocated Buffer' shape is used by providing an 'AllocateContainerForUnmanagedElements' method that takes a 'Span<T>' on the marshaller type, the type must provide a static 'BufferSize' property to provide the number of elements in the caller-allocated buffer. - 當透過提供在封送處理程式類型上採用 'Span<T>' 的 'AllocateContainerForUnmanagedElements' 方法來使用 'Managed to Unmanaged with Caller-Allocated Buffer' 圖形時,該類型必須提供靜態 'BufferSize' 屬性以提供 caller-allocated 緩衝區中的元素數目。 - - - - The marshaller type '{0}' must have a static read-only 'int' 'BufferSize' property to specify the size of the caller-allocated buffer because it has an 'AllocateContainerForUnmanagedElements' method that takes a caller-allocated 'Span<{1}>' - 封送處理程式類型 '{0}' 必須有靜態唯讀 'int' 'BufferSize' 屬性,以指定 caller-allocated 緩衝區的大小,因為它具有採用 caller-allocated 'Span<{1}>' 的 'AllocateContainerForUnmanagedElements' 方法 - - - - A contiguous collection marshaller that supports marshalling from managed to unmanaged must provide a 'GetManagedValuesSource' that takes the managed value as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - 支援從非受控到受控封送處理的連續集合封送處理程式必須提供接受受控值為參數並傳回 'ReadOnlySpan<>' 的 'GetManagedValuesDestination',和接受非受控值為參數並傳回 'Span<>' 的 'GetUnmanagedValuesSource' 方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesSource' that takes '{2}' as a parameter and returns a 'ReadOnlySpan<>' and a 'GetUnmanagedValuesDestination' method that takes the unmanaged value as a parameter and returns a 'Span<>' - 類型 '{0}' 指定它支援 '{1}' 封送處理模式,但未提供接受 '{2}' 為參數並傳回 'ReadOnlySpan<>' 的 'GetManagedValuesSource' ,和接受未受控值為參數並傳回 'Span<>' 的 'GetUnmanagedValuesDestination' 方法 - - - - A contiguous collection marshaller that supports marshalling from unmanaged to managed must provide a 'GetManagedValuesDestination' that takes the managed value and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>'. - 支援從非受控到受控封送處理的連續集合封送處理程式必須提供接受受控值並傳回 'Span<>' 的 'GetManagedValuesDestination',和接受非受控值及 'int' 並傳回 'ReadOnlySpan<>' 的 'GetUnmanagedValuesSource' 方法。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode, but it does not provide a 'GetManagedValuesDestination' that takes '{2}' and returns a 'Span<>' and a 'GetUnmanagedValuesSource' method that takes the unmanaged value and an 'int' and returns a 'ReadOnlySpan<>' - 類型 '{0}' 指定它支援 '{1}' 封送處理模式,但未提供接受 '{2}' 和傳回 'Span<>' 的 'GetManagedValuesDestination',和接受未受控值和傳回 'ReadOnlySpan<>' 的 'GetUnmanagedValuesSource' 方法 - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForManagedElements' method taking the unmanaged type as the first parameter and the number of elements as an 'int' parameter - 支援從受控到未受控封送處理的無狀態連續集合封送處理程式必須提供 'AllocateContainerForManagedElements' 方法,將未受控的類型作為第一個參數,以及元素數目作為 'int' 參數 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForManagedElements' method that takes the unmanaged type as the first parameter and an 'int' as the second parameter - 類型 '{0}' 指定它支援 '{2}' 的 '{1}' 封送處理模式,但不提供接受未受控類型作爲第一個參數和 'int' 作為第二個參數的雙參數 'AllocateContainerForManagedElements' 方法 - - - - A stateless contiguous collection marshaller that supports marshalling from managed to unmanaged must provide an 'AllocateContainerForUnmanagedElements' method taking the managed type as the first parameter and providing the number of elements as an 'out int' parameter - 支援從受控到未受控封送處理的無狀態連續集合封送處理程式必須提供 'AllocateContainerForManagedElements' 方法,將受控類型作為第一個參數,以及提供元素數目作為 'out int' 參數 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a two-parameter 'AllocateContainerForUnmanagedElements' method that takes a '{2}' as the first parameter and an 'out int' as the second parameter - 類型 '{0}' 指定它支援 '{2}' 的 '{1}' 封送處理模式,但不提供接受 '{2}' 作爲第一個參數和 'out int' 作為第二個參數的雙參數 'AllocateContainerForUnmanagedElements' 方法 - - - - A stateless value marshaller that supports marshalling from unmanaged to managed must provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns the the managed type. - 支援從受控到未受控封送處理的無狀態值封送處理程式必須提供接受未受控類型作為參數,並傳回受控類型的 'ConvertToManaged' 方法。 - - - - The type '{0}' specifies it supports the '{1}' marshal mode, but it does not provide a 'ConvertToManaged' method that takes the unmanaged type as a parameter and returns '{2}' - 類型 '{0}' 指定它支援 '{1}' 封送處理模式,但未提供將未受控的類型當做參數並傳回 '{2}' 的 'ConvertToManaged' 方法 - - - - A stateless value marshaller that supports marshalling from managed to unmanaged must provide a one-parameter 'ConvertToUnmanaged' method that takes the managed value as the parameter and returns a value of the 'unmanaged' type. - 支援從受控到未受控封送處理的無狀態值封送處理程式必須提供單一參數 'ConvertToUnmanaged' 方法,將受控值作為參數,並傳回 'unmanaged' 類型的值。 - - - - The type '{0}' specifies that it supports the '{1}' marshal mode for '{2}' but does not provide a one-parameter 'ConvertToUnmanaged' method that takes a '{2}' as a parameter and returns a value of an 'unmanaged' type - 類型 '{0}' 指定它支援 '{2}' 的 '{1}' 封送處理模式,但不提供以 '{2}' 為參數的單一參數 'ConvertToUnmanaged' 方法,並傳回 'unmanaged' 類型的值 - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same. - 'ConvertToUnmanaged' 的傳回類型與 'ConvertToManaged' 的參數類型必須相同。 - - - - The return type of 'ConvertToUnmanaged' and the parameter type of 'ConvertToManaged' must be the same - 'ConvertToUnmanaged' 的傳回類型與 'ConvertToManaged' 的參數類型必須相同 - - - - The unmanaged type for a custom marshaller must be a C# unmanaged type. - 自訂封送處理程式的未受控類型必須是 C# 未受控類型。 - - - - The return type of '{0}' must be unmanaged - '{0}' 的傳回類型必須為不受控 - - - - 'void*' must be castable to the type so the pinned result of the static 'GetPinnableReference' method can be passed to the native context after being pinned. - 'void*' 必須可轉換為類型,以致靜態 'GetPinnableReference' 方法的釘選結果可在釘選之後傳遞至原生內容。 - - - - 'void*' must be castable to the type '{0}' because the managed type '{1}' has a static 'GetPinnableReference' method - 'void*' 必須轉換為類型 '{0}',因為受控類型 '{1}' 具有靜態 'GetPinnableReference' 方法 - - - - An entry-point type for marshalling a given type must have a 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type. - 指定類型的封送處理進入點類型必須有 'System.Runtime.InteropServices.CustomMarshallerAttribute',指定此類型為受控類型。 - - - - The entry-point marshaller type '{0}' for the type '{1}' must be a type with at least one 'System.Runtime.InteropServices.CustomMarshallerAttribute' that specifies this type as the managed type - 類型 '{1}' 的進入點封送處理器類型 '{0}' 必須是具有至少一個 'System.Runtime.InteropServices.CustomMarshallerAttribute' 的類型,指定此類型為受控類型 - - - - A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. - 支援在 'Out' 方向排列的 'Value' 或 'LinearCollection'-kind 原生類型必須提供傳回 Managed 類型的 'ToManaged' 方法。 - - - - The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type - 類型 '{0}' 指定它支援以 'Out' 方向排列,但未提供傳回受管理類型的 'ToManaged' 方法 - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same. - 'ToUnmanaged' 的傳回類型與 'FromUnmanaged' 的參數類型必須相同。 - - - - The return type of 'ToUnmanaged' and the parameter type of 'FromUnmanaged' must be the same - 'ToUnmanaged' 的傳回類型與 'FromUnmanaged' 的參數類型必須相同 - - - - For types that are not supported by source-generated P/Invokes, the resulting P/Invoke will rely on the underlying runtime to marshal the specified type. - 對於來源產生的 P/Invokes 不支援的類型,產生的 P/Invoke 將依賴基礎運行時間來封送指定的類型。 - - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of parameter '{1}'. - 来源產生的 P/Invokes 不支援類型 '{0}'。產生的来源將不會處理參數 '{1}' 的排列。 - - - - {0} The generated source will not handle marshalling of parameter '{1}'. - {0} 產生的来源将不會處理參數 '{1}' 的排列。 - {0} is a message containing additional details about what is not supported -{1} is the name of the parameter - - - The type '{0}' is not supported by source-generated P/Invokes. The generated source will not handle marshalling of the return value of method '{1}'. - 来源產生的 P/Invokes 不支援類型 '{0}'。產生的來源將不會處理方法 '{1}' 的傳回值排列。 - - - - {0} The generated source will not handle marshalling of the return value of method '{1}'. - {0} 產生的來源將不會處理方法 '{1}' 之傳回值的排列。 - {0} is a message containing additional details about what is not supported -{1} is the name of the method - - - Specified type is not supported by source-generated P/Invokes - 来源產生的 P/Invokes 不支援指定的類型。 - - - - Unnecesssary marshalling info was provided. This marshalling information can be removed without any change in behavior to the application. - 已提供不必要的封送資訊。您可以移除此封送資訊,而不會對應用程式進行任何行為變更。 - - - - Unnecessary marshalling info was provided and can be removed. - 已提供不必要的封送資訊,而且可以移除。 - - - - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - 已為參數 '{1}' 提供了不必要的封送資訊 '{0}' - - - - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - 已為方法 '{1}' 的傳回類型提供了不必要的封送資訊 '{0}' - - - - A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters - 支援 'CallerAllocatedBuffer' 功能的 'Value'-kind 原生類型必須提供接受受管理類型的雙參數建構函示,以及以 'unmanaged' 類型的 'Span' 作為參數 - - - - The type '{0}' specifies that it supports 'In' marshalling with the 'CallerAllocatedBuffer' feature for '{1}' but does not provide a two-parameter constructor that takes a '{1}' and 'Span' of an 'unmanaged' type as parameters - 類型 '{0}' 指定其支援使用 'CallerAllocatedBuffer' 功能為 '{1}' 的 'In' 封送處理,但不提供接受 '{1}' 的二參數構建函式,以及以 'unmanaged' 類型的 'Span' 作為參數 - - - - A 'Value'-kind native type must provide a one-parameter constructor taking the managed type as a parameter - 'Value'-kind 原生類型必須提供以 Managed 類型作為參數的單一參數構建函式 - - - - The type '{0}' specifies that it supports 'In' marshalling of '{1}' but does not provide a one-parameter constructor that takes a '{1}' as a parameter - 類型 '{0}'指定它支援 'In' 封送'{1}',但不提供以'{1}'作為參數的單一參數建構函式 - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf deleted file mode 100644 index 9020a49ae71e2..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.cs.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Zařazování pole z nespravovaného na spravované vyžaduje aby pole SizeParamIndex nebo SizeConst byla nastavena buď na MarshalAsAttribute, nebo aby byly vlastnosti ConstantElementCount nebo CountElementName nastaveny na MarshalUsingAttribute. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - Zadaný parametr musí být zařazený ze spravovaného do nespravovaného a z nespravovaného do spravovaného, ale zařazovací typ {0} to nepodporuje. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - Zadaný parametr velikosti kolekce musí být u kolekce celočíselný. Pokud se informace o velikosti použijí na vnořenou kolekci, parametr velikosti musí být kolekce o jednu nižší úrovně vnoření s integrálním elementem. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - U atributu MarshalUsingAttribute pro daný ElementIndirectionDepth se může se použít jen jeden z prvků ConstantElementCount nebo ElementCountInfo - - - - Containing type '{0}' has accessibility '{1}'. - Obsahující typ „{0}“má přístupnost „{1}“. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Tento prvek nesmí záviset na {0} pro informace o velikost kolekce bez toho, aby došlo k vytvoření cyklu závislosti. - - - - Count information for a given element at a given indirection level can only be specified once - Informace o počtu pro daný prvek na dané úrovni indirekce se dají určit jenom jednou - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Více atributů zařazování pro každý prvek za úroveň indirekce se nepodporuje, ale byly poskytnuty duplicitní informace pro úroveň indirekce {0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - Informace o zařazování se určily pro ElementIndirectionDepth {0}, ale informace o zařazování byly potřebné pouze pro {1} úrovně indirekce. - - - - The provided graph has cycles and cannot be topologically sorted. - Poskytnutý graf obsahuje cykly a nelze ho řadit topologicky. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - Atribut „[In]“ se nepodporuje, pokud není zároveň použit i atribut „[Out]“. Chování atributu „[In]“ bez atributu „[Out]“ je stejné, jako výchozí chování. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Atributy „[In]“ a „[Out]“ se nepodporují u parametrů předaných odkazem. Použijte místo nich klíčová slova „in“, „ref“ nebo „out“. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Poskytnuté atributy „[In]“ a „[Out]“ u tohoto parametru se na tomto parametru nepodporují. - - - - [In] and [Out] attributes - atributy [In] a [Out] - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - Určený parametr musí být zařazený ze spravovaného do nespravovaného, ale zařazovací typ {0} to nepodporuje. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - Typ vstupního bodu řadiče „{0}“ pro spravovaný typ „{1}“ musí mít aritu o jednu větší než spravovaný typ. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Všechny zařazovací moduly pro hodnoty, které jsou předány jako nespravovaná návratová hodnota, musí mít stejný nespravovaný typ. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - Typ zařazovače {0} pro spravovaný typ {1} musí být statický. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Logická hodnota zařazování bez výslovných informací zařazování se nepodporuje. Určete buď MarshalUsingAttribute nebo MarshalAsAttribute. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - Zařazování datového typu char se StringMarshalling.{0} se nepodporuje. Místo toho ručně převeďte datový typ char na požadovanou bajtovou reprezentaci a předejte do zdrojem generovaného volání P/Invoke. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - Zařazování datového typu char se StringMarshalling.Custom se nepodporuje. Pokud chcete použít zařazování vlastního typu, zadejte MarshalUsingAttribute. - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Zařazování řetězce nebo znaku bez explicitních informací o zařazování se nepodporuje. Zadejte „{0}. StringMarshalling“, „{0}. StringMarshallingCustomType“, „MarshalUsingAttribute“ nebo „MarshalAsAttribute.“ - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - Aby se povolilo zařazování tohoto typu, musí se v tomto projektu zakázat zařazování modulu runtime použitím atributu System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute u sestavení. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Abstraktní typ odvozený ze SafeHandle nelze zařadit pomocí odkazu. Poskytnutý typ musí být konkrétní. - - - - '{0}' has accessibility '{1}'. - „{0}“ má přístupnost „{1}“. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - Určený parametr musí být zařazený z nespravovaného do spravovaného, ale zařazovací typ {0} to nepodporuje. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf deleted file mode 100644 index 2ce74b046e7dc..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.de.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Für das Marshalling eines Arrays von \"nicht verwaltet\" in \"verwaltet\" müssen entweder die Felder \"SizeParamIndex\" oder \"SizeConst\" für ein MarshalAsAttribute festgelegt werden, oder die Eigenschaften \"ConstantElementCount\" oder \"CountElementName\" müssen für ein MarshalUsingAttribute festgelegt werden. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - Der angegebene Parameter muss von verwaltet zu nicht verwaltet und von nicht verwaltet zu verwaltet gemarshallt werden, aber der Marshaller-Typ ‚{0}‘ unterstützt dies nicht. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - Der angegebene Parameter für die Sammlungsgröße für eine Auflistung muss ein ganzzahliger Typ sein. Wenn die Größeninformationen auf eine geschachtelte Auflistung angewendet werden, muss der Größenparameter eine Auflistung mit einer geringeren Schachtelungsebene mit einem ganzzahligen Element sein. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - Nur eines von \"ConstantElementCount\" oder \"ElementCountInfo\" kann in einem \"MarshalUsingAttribute\" für ein angegebenes \"ElementIndirectionDepth\" verwendet werden. - - - - Containing type '{0}' has accessibility '{1}'. - Der Enthaltende Typ '{0}' verfügt über Barrierefreiheit '{1}'. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Dieses Element kann für Informationen zur Sammlungsgröße nicht von \"{0}\" abhängen, ohne einen Abhängigkeitszyklus zu erstellen. - - - - Count information for a given element at a given indirection level can only be specified once - Die Anzahl der Informationen für ein bestimmtes Element auf einer bestimmten Dereferenzierungsebene kann nur einmal angegeben werden. - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Mehrere Marshallingattribute pro Element pro Dereferenzierungsebene werden nicht unterstützt, es wurden jedoch doppelte Informationen für die Dereferenzierungsebene {0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - Marshallinginformationen wurden für \"ElementIndirectionDepth\" {0}angegeben. Marshallinginformationen wurden jedoch nur für {1} Dereferenzierungsebene(n) benötigt. - - - - The provided graph has cycles and cannot be topologically sorted. - Das bereitgestellte Diagramm weist Zyklen auf und kann nicht topologisch sortiert werden. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - Das [In]-Attribut wird nur unterstützt, wenn auch das [Out]-Attribut verwendet wird. Das Verhalten des [In]-Attributs ohne das [Out]-Attribut entspricht dem Standardverhalten. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Die Attribute \"[In]\" und \"[Out]\" werden für Parameter, die als Verweis übergeben werden, nicht unterstützt. Verwenden Sie stattdessen die Schlüsselwörter \"in\", \"ref\" oder \"out\". - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Die angegebenen Attribute \"[In]\" und \"[Out]\" für diesen Parameter werden für diesen Parameter nicht unterstützt. - - - - [In] and [Out] attributes - [In]- und [Out]-Attribute - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - Der angegebene Parameter muss von verwaltet zu nicht verwaltet gemarshallt werden, aber der Marshaller-Typ ‚{0}‘ unterstützt dies nicht. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - Der Marshaller-Einstiegspunkttyp "{0}" für den verwalteten Typ "{1}" muss eine Stelligkeit aufweisen, die größer als der verwaltete Typ ist. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Alle Marshaller für Werte, die als nicht verwalteter Rückgabewert übergeben werden, müssen denselben nicht verwalteten Typ aufweisen. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - Der Marshallertyp '{0}' für den verwalteten Typ '{1}' muss eine statische Klasse oder eine Struktur sein. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Marshalling eines booleschen Werts ohne explizite Marshallinginformationen wird nicht unterstützt. Geben Sie entweder \"MarshalUsingAttribute\" oder \"MarshalAsAttribute\" an. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - Das Marshalling von Zeichen mit „StringMarshalling.{0}“ wird nicht unterstützt. Konvertieren Sie stattdessen den Zeichentyp manuell in die gewünschte Bytedarstellung, und übergeben Sie diesen an P/Invoke, das von der Quelle generiert wurde. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - Das Marshalling von Zeichen mit „StringMarshalling.Custom“ wird nicht unterstützt. Geben Sie „MarshalUsingAttribute“ an, um einen benutzerdefinierten Typ-Marshaller zu verwenden. - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Das Marshalling von Zeichenfolgen oder Zeichen ohne explizite Marshalling-Informationen wird nicht unterstützt. Geben Sie "{0}.StringMarshalling", "{0}.StringMarshallingCustomType", "MarshalUsingAttribute" oder "MarshalAsAttribute" an. - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - Das Runtime-Marshalling muss in diesem Projekt deaktiviert werden, indem „System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute“ auf die Assembly angewendet wird, um das Marshalling dieses Typs zu ermöglichen. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Ein abstrakter Typ, der von \"SafeHandle\" abgeleitet wird, kann nicht als Verweis gemarshallt werden. Der angegebene Typ muss ein konkretes Element sein. - - - - '{0}' has accessibility '{1}'. - '{0}' verfügt über Barrierefreiheit '{1}'. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - Der angegebene Parameter muss von nicht verwaltet zu verwaltet gemarshallt werden, aber der Marshaller-Typ ‚{0}‘ unterstützt dies nicht. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf deleted file mode 100644 index 7524ccda0a894..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.es.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - La serialización de una matriz de no administrada a administrada requiere, o bien que los campos “SizeParamIndex” o “SizeConst” se establezcan en un “MarshalAsAttribute”, o bien que las propiedades “ConstantElementCount” o “CountElementName” se establezcan en un “MarshalUsingAttribute”. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - El parámetro especificado debe serializarse de administrado a no administrado y de no administrado a administrado, pero el tipo de serializador "{0}" no lo admite. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - El parámetro de tamaño de colección especificado para una colección debe ser de tipo entero. Si la información de tamaño se aplica a una colección anidada, el parámetro de tamaño debe ser una colección de un nivel menos de anidamiento con un elemento integral. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - De entre “ConstantElementCount” y “ElementCountInfo”, solo se puede usar uno de los dos en un “MarshalUsingAttribute” para un “ElementIndirectionDepth” determinado - - - - Containing type '{0}' has accessibility '{1}'. - El tipo contenedor '{0}' tiene accesibilidad '{1}'. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Este elemento no puede depender de “{0}” para la información de tamaño de colección sin crear un ciclo de dependencia - - - - Count information for a given element at a given indirection level can only be specified once - La información de recuento de un elemento determinado en un nivel de direccionamiento indirecto determinado solo se puede especificar una vez - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - No se admiten varios atributos de serialización por elemento por nivel de direccionamiento indirecto, pero se proporcionó información duplicada para el nivel de direccionamiento indirecto {0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - Se especificó información de serialización para “ElementIndirectionDepth” {0}, pero la información de serialización solo era necesaria para {1} niveles de direccionamiento indirecto - - - - The provided graph has cycles and cannot be topologically sorted. - El gráfico porporcionado tiene ciclos y no se puede ordenar topológicamente. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - No se admite el atributo “[In]” a menos que también se use el atributo “[Out]”. El comportamiento del atributo “[In]” sin el atributo “[Out]” es el mismo que el predeterminado. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Los atributos “[In]” y “[Out]” no se admiten en los parámetros pasados por referencia. Use las palabras clave “in”, “ref” o “out” en su lugar. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - En este parámetro, los atributos “[In]” y “[Out]” proporcionados no se admiten. - - - - [In] and [Out] attributes - [In] and [Out] attributes - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - El parámetro especificado debe serializarse de administrado a no administrado, pero el tipo no administrado “{0}” no lo admite. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - El tipo de punto de entrada del serializador "{0}" para el tipo administrado "{1}" debe tener una aridad mayor que el tipo administrado. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Todos los serializadores para los valores que se pasan como valor devuelto no administrado deberán tener el mismo tipo no administrado. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - El tipo de serializador "{0}" para el tipo administrado "{1}" debe ser una clase estática o un struct. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - No se admite la serialización booleana sin información de serialización explícita. Especifique “MarshalUsingAttribute” o “MarshalAsAttribute”. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - No se admite la serialización de caracteres con \"StringMarshalling.{0}\". En su lugar, convierta manualmente el tipo de carácter en la representación de bytes deseada y pase al P/Invoke de generador de código fuente. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - No se admite la serialización de caracteres con \"StringMarshalling.Custom\". Para usar un serializador de tipo personalizado, especifique \"MarshalUsingAttribute\". - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - No se admite la serialización de cadenas o caracteres sin información de serialización explícita. Especifique '{0}. StringMarshalling', '{0}. StringMars slaingCustomType", "MarshalUsingAttribute" o "MarshalAsAttribute". - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - La serialización en tiempo de ejecución debe deshabilitarse en este proyecto aplicando \"System.Runtime.CompilerServices.DisableRuntimeMars contosoingAttribute\" al ensamblado para habilitar la serialización de este tipo. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Un tipo abstracto derivado de “SafeHandle” no se puede serializar por referencia. El tipo proporcionado debe ser concreto. - - - - '{0}' has accessibility '{1}'. - '{0}' tiene accesibilidad '{1}'. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - El parámetro especificado debe serializarse de no administrado a administrado, pero el tipo serializador “{0}” no lo admite. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf deleted file mode 100644 index a46be28e8f3cc..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.fr.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Le marshaling d’un tableau de non managé à managé nécessite que les champs « SizeParamIndex » ou « SizeConst » soient définis sur un « MarshalAsAttribute » ou les propriétés « ConstantElementCount » ou 'CountElementName' à définir sur un « MarshalUsingAttribute ». - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - Le paramètre spécifié doit être marshalé de managé à non managé et non managé à managé, mais le type marshaleur « {0} » ne le prend pas en charge. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - Le paramètre de taille de collection spécifié pour une collection doit être un type entier. Si les informations de taille sont appliquées à une collection imbriqué, le paramètre de taille doit être une collection d’un niveau d’imbrication inférieur avec un élément intégral. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - Un seul de « ConstantElementCount » ou « ElementCountInfo » peut être utilisé dans un « MarshalUsingAttribute » pour un « ElementIndirectionDepth » donné - - - - Containing type '{0}' has accessibility '{1}'. - Le type conteneur '{0}' a une accessibilité '{1}'. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Cet élément ne peut pas dépendre de « {0} » pour les informations de taille de collection sans créer un cycle de dépendance - - - - Count information for a given element at a given indirection level can only be specified once - Les informations de nombre pour un élément donné à un niveau d’indirection donné ne peuvent être spécifiées qu’une seule fois - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Plusieurs attributs de marshaling par élément par niveau d’indirection ne sont pas pris en charge, mais des informations en double ont été fournies pour le niveau d’indirection {0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - Des informations de marshaling ont été spécifiées pour « ElementIndirectionDepth » {0}, mais les informations de marshaling étaient uniquement nécessaires pour {1} niveau(s) d’indirection - - - - The provided graph has cycles and cannot be topologically sorted. - Le graphique fourni a des cycles et ne peut pas être trié topologiement. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - L’attribut « [In] » n’est pas pris en charge, sauf si l’attribut « [Out] » est également utilisé. Le comportement de l’attribut « [In] »sans l’attribut « [Out] » est identique au comportement par défaut. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Les attributs « [In] » et « [Out] » ne sont pas pris en charge sur les paramètres passés par référence. Utilisez les mots clés « in », « ref » ou 'out' à la place. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Les attributs « [In] » et « [Out] » fournis sur ce paramètre ne sont pas pris en charge sur ce paramètre. - - - - [In] and [Out] attributes - Attributs [In] et [Out] - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - Le paramètre spécifié doit être marshalé de managé à non managé, mais le type marshaleur « {0} » ne le prend pas en charge. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - Le type de point d’entrée marshaleur '{0}' pour le type managé '{1}' doit avoir une arité supérieure au type managé. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Tous les marshaleurs pour les valeurs passées en tant que valeur de retour non managée doivent avoir le même type non managé. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - Le type marshaleur « {0} » pour le type managé « {1} » doit être une classe statique ou un struct. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Le marshaling bool sans informations de marshaling explicite n’est pas pris en charge. Spécifiez « MarshalUsingAttribute » ou « MarshalAsAttribute ». - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - Le marshaling de char avec « StringMarshalling.{0} » n’est pas pris en charge. Convertissez plutôt manuellement le type de caractère en représentation d’octet souhaitée et passez au P/Invoke généré par la source. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - Le marshaling de caractère avec « StringMarshalling.Custom » n’est pas pris en charge. Pour utiliser un marshaleur de type personnalisé, spécifiez « MarshalUsingAttribute ». - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Le marshalling d’une chaîne ou d’un caractère sans information explicite sur le marshalling n’est pas pris en charge. Spécifiez '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' ou 'MarshalAsAttribute'. - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - Le marshaling du runtime doit être désactivé dans ce projet en appliquant « System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute » à l’assembly pour activer le marshaling de ce type. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Un type abstrait dérivé de « SafeHandle » ne peut pas être marshalé par référence. Le type fourni doit être concret. - - - - '{0}' has accessibility '{1}'. - '{0}' a une accessibilité '{1}'. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - Le paramètre spécifié doit être marshalé de non managé à managé, mais le type marshaleur « {0} » ne le prend pas en charge. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf deleted file mode 100644 index c8733c95ce450..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.it.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Per il marshalling di una matrice da non gestita a gestita è richiesta l'impostazione dei campi 'SizeParamIndex' o 'SizeConst' in un elemento 'MarshalAsAttribute' oppure l'impostazione delle proprietà 'ConstantElementCount' o 'CountElementName' in un elemento 'MarshalUsingAttribute'. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - È necessario effettuare il marshalling del parametro specificato da gestito a non gestito e da non gestito a gestito, ma il tipo di gestore del marshalling '{0}' non lo supporta. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - Il parametro size specificato per una raccolta deve essere un tipo Integer. Se le informazioni sulle dimensioni vengono applicate a una raccolta annidata, il parametro size deve essere una raccolta di un livello inferiore di annidamento con un elemento integrale. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - In un elemento 'MarshalUsingAttribute' per un elemento 'ElementIndirectionDepth' specificato è possibile usare solo uno dei valori 'ConstantElementCount' o 'ElementCountInfo' - - - - Containing type '{0}' has accessibility '{1}'. - Il tipo contenitore '{0}' ha accessibilità '{1}'. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Questo elemento non può dipendere da '{0}' per le informazioni sulle dimensioni della raccolta senza creare un ciclo di dipendenze - - - - Count information for a given element at a given indirection level can only be specified once - Le informazioni sul conteggio per un elemento specifico a un livello di riferimento indiretto specificato possono essere specificate una sola volta - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Non sono supportati più attributi di marshalling per elemento per livello di riferimento indiretto, ma sono state fornite informazioni duplicate per il livello di riferimento indiretto {0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - Sono state specificate informazioni di marshalling per l'elemento 'ElementIndirectionDepth' {0}, ma le informazioni di marshalling sono necessarie solo per {1} livello/i di riferimento indiretto - - - - The provided graph has cycles and cannot be topologically sorted. - Il grafico specificato contiene cicli e non può essere ordinato in modo topologico. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - L'attributo '[In]' non è supportato a meno che non venga usato anche l'attributo '[Out]'. Il comportamento dell'attributo '[In]' senza l'attributo '[Out]' è uguale a quello predefinito. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Gli attributi '[In]' e '[Out]' non sono supportati nei parametri passati per riferimento. Usare le parole chiave 'in', 'ref' o 'out'. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Gli attributi '[In]' e '[Out]' specificati per questo parametro non sono supportati in questo parametro. - - - - [In] and [Out] attributes - Attributi [In] e [Out] - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - È necessario effettuare il marshalling del parametro specificato da gestito a non gestito, ma il tipo di gestore del marshalling '{0}' non lo supporta. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - Il tipo di punto di ingresso del marshalling '{0}' per il tipo gestito '{1}' deve avere un grado maggiore rispetto a quello del tipo gestito. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Tutti i marshalling per i valori passati come valore restituito non gestito devono avere lo stesso tipo non gestito. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - Il tipo di marshaller '{0}' per il tipo gestito '{1}' deve essere una classe statica o uno struct. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Il marshalling del tipo di dati bool senza informazioni di marshalling esplicito non è supportato. Specificare 'MarshalUsingAttribute' o 'MarshalAsAttribute'. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - Il carattere di marshalling con 'StringMarshalling.{0}' non è supportato. Convertire invece manualmente il tipo carattere nella rappresentazione di byte desiderata e passare al P/Invoke generato dall'origine. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - Il marshalling del carattere con 'StringMarshalling.Custom' non è supportato. Per usare un marshaller di tipo personalizzato, specificare 'MarshalUsingAttribute'. - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Il marshalling di stringa o carattere senza informazioni di marshalling esplicite non è supportato. Specificare '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' o 'MarshalAsAttribute'. - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - Il marshalling di runtime in questo progetto deve essere disabilitato applicando 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' all'assembly per abilitare il marshalling di questo tipo. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Non è possibile effettuare il marshalling per riferimento di un tipo astratto derivato da 'SafeHandle'. Il tipo specificato deve essere concreto. - - - - '{0}' has accessibility '{1}'. - '{0}' ha accessibilità '{1}'. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - È necessario effettuare il marshalling del parametro specificato da non gestito a gestito, ma il tipo di gestore del marshalling '{0}' non lo supporta. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf deleted file mode 100644 index 58ab64f377c48..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ja.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - アンマネージドからマネージドに配列をマーシャリングするには、'MarshalAsAttribute' に 'SizeParamIndex' または 'SizeConst' フィールドを設定するか、'MarshalUsingAttribute' に 'ConstantElementCount' プロパティまたは 'CountElementName' プロパティを設定する必要があります。 - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - 指定されたパラメーターはマネージドからアンマネージドに、およびアンマネージドからマネージドにマーシャリングする必要がありますが、マーシャラー型 '{0}' ではそれはサポートされていません。 - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - コレクション用のコレクション サイズ パラメーターは整数型にする必要があります。サイズ情報が入れ子になったコレクションに適用される場合、size パラメーターは、整数要素を持つ 1 つ下のレベルのコレクションである必要があります。 - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - 指定された 'ElementIndirectionDepth' 向けに 'MarshalUsingAttribute' で使用できるのは、'ConstantElementCount' または 'ElementCountInfo' のいずれか 1 つだけです - - - - Containing type '{0}' has accessibility '{1}'. - 包含型 '{0}' にはアクセシビリティ '{1}' があります。 - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - この要素は、依存関係サイクルを作成せずに、コレクション サイズ情報向けに '{0}' に依存することはできません - - - - Count information for a given element at a given indirection level can only be specified once - 指定された間接参照レベルの特定の要素のカウント情報は、1 回のみ指定できます - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - 間接参照レベルごとに要素ごとに複数のマーシャリング属性はサポートされていませんが、間接参照レベル {0} に重複する情報が指定されました - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - 'ElementIndirectionDepth' {0} にマーシャリング情報が指定されましたが、マーシャリング情報は間接参照の {1} レベルにのみ必要です - - - - The provided graph has cycles and cannot be topologically sorted. - 指定されたグラフにはサイクルがあるため、位相的に並べ替えることはできません。 - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - '[In]' 属性は、'[Out]' 属性も使用しない限りサポートされません。'[Out]' 属性なしでの '[In]' 属性の動作は、既定の動作と同じです。 - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - '[In]' 属性と '[Out]' 属性は、参照渡しされたパラメーターではサポートされていません。代わりに 'in'、'ref'、または 'out' キーワードを使用します。 - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - このパラメーターに指定された '[In]' 属性と '[Out]' 属性は、このパラメーターではサポートされていません。 - - - - [In] and [Out] attributes - 属性の[In]と[Out] - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - 指定されたパラメーターはマネージドからアンマネージドにマーシャリングする必要がありますが、マーシャラー型 '{0}' ではそれはサポートされていません。 - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - マネージド型 '{1}' のマーシャラー エントリ ポイント型 '{0}' には、マネージド型より 1 大きい引数が必要です。 - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - アンマネージ戻り値として渡される値のすべてのマーシャラーは、同じアンマネージ型を持つ必要があります。 - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - マネージド型 '{1}' のマーシャラー型 '{0}' は、静的クラスまたは構造体である必要があります。 - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 明示的なマーシャリング情報を含まないブール値のマーシャリングはサポートされていません。'MarshalUsingAttribute' または 'MarshalAsAttribute' のいずれかを指定してください。 - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - 'StringMarshalling.{0}' を使用した文字のマーシャリングはサポートされていません。代わりに、手動で char 型を必要なバイト表現に変換し、ソース生成済みの P/Invoke に渡します。 - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - 'StringMarshalling.Custom' を使用した文字のマーシャリングはサポートされていません。カスタム型のマーシャラーを使用するには、'MarshalUsingAttribute' を指定します。 - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 明示的なマーシャリング情報を含まない文字列または文字のマーシャリングはサポートされていません。'{0}.StringMarshalling'、'{0}.StringMarshallingCustomType'、'MarshalUsingAttribute'、または 'MarshalAsAttribute'を指定します。 - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - このプロジェクトでは、アセンブリに 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' を適用してランタイム マーシャリングを無効にし、この型のマーシャリングを有効にする必要があります。 - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - 'SafeHandle' から派生した抽象型は、参照でマーシャリングできません。指定される型は具象型である必要があります。 - - - - '{0}' has accessibility '{1}'. - '{0}' にはアクセシビリティ '{1}' があります。 - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - 指定されたパラメーターはアンマネージドからマネージドにマーシャリングする必要がありますが、マーシャラー型 '{0}' ではそれはサポートされていません。 - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf deleted file mode 100644 index 696761242de9f..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ko.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - 비관리형에서 관리형으로 배열을 마샬링하려면 'MarshalAsAttribute'에 'SizeParamIndex' 또는 'SizeConst' 필드를 설정하거나 'MarshalUsingAttribute'에 'ConstantElementCount' 또는 'CountElementName' 속성을 설정해야 합니다. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - 지정된 매개 변수를 관리형에서 비관리형으로, 비관리형에서 관리형으로 마샬링해야 하지만 마샬러 유형 '{0}'은(는) 지원하지 않습니다. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - 컬렉션에 대해 지정된 컬렉션 크기 매개 변수는 정수 형식이어야 합니다. 크기 정보가 중첩된 컬렉션에 적용되는 경우 크기 매개 변수는 정수 요소가 있는 중첩 수준이 한 단계 낮은 컬렉션이어야 합니다. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - 'ConstantElementCount' 또는 'ElementCountInfo' 중 하나만 지정된 'ElementIndirectionDepth'에 대한 'MarshalUsingAttribute'에서 사용할 수 있습니다. - - - - Containing type '{0}' has accessibility '{1}'. - '{0}' 형식을 포함하는 경우 접근성 '{1}'이(가) 있습니다. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - 이 요소는 종속성 주기를 생성하지 않고 컬렉션 크기 정보에 대해 '{0}'에 의존할 수 없습니다. - - - - Count information for a given element at a given indirection level can only be specified once - 주어진 간접 수준에서 주어진 요소에 대한 개수 정보는 한 번만 지정할 수 있습니다. - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - 간접 수준당 요소당 여러 마샬링 특성이 지원되지 않지만 간접 수준 {0}에 대해 중복 정보가 제공되었습니다. - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - 마샬링 정보가 'ElementIndirectionDepth' {0}에 대해 지정되었지만 마샬링 정보는 간접 참조 수준 {1}에만 필요했습니다. - - - - The provided graph has cycles and cannot be topologically sorted. - 제공된 그래프에는 주기가 있으며 토폴로지로 정렬할 수 없습니다. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - '[In]' 특성은 '[Out]' 특성도 함께 사용되지 않는 한 지원되지 않습니다. '[Out]' 특성이 없는 '[In]' 특성의 동작은 기본 동작과 동일합니다. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - '[In]' 및 '[Out]' 특성은 참조로 전달된 매개 변수에서 지원되지 않습니다. 대신 'in', 'ref' 또는 'out' 키워드를 사용하세요. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - 이 매개 변수에 제공된 '[In]' 및 '[Out]' 특성은 이 매개 변수에서 지원되지 않습니다. - - - - [In] and [Out] attributes - [In] and [Out] attributes - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - 지정된 매개 변수를 관리형에서 비관리형으로 마샬링해야 하지만 마샬러 유형 '{0}'은(는) 지원하지 않습니다. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - 관리 유형 '{1}'에 대한 마샬러 진입점 유형 '{0}'에는 관리 유형보다 1이 더 커야 합니다. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - 관리되지 않는 반환 값으로 전달되는 값에 대한 모든 마샬러는 관리되지 않는 형식이 동일해야 합니다. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - 관리되는 형식 '{0}'의 마샬러 형식 '{1}'은(는) 정적 클래스 또는 구조체여야 합니다. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 명시적 마샬링 정보가 없는 마샬링 bool은 지원되지 않습니다. 'MarshalUsingAttribute' 또는 'MarshalAsAttribute'를 지정하세요. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - 'StringMarshalling.{0}을(를) 사용한 마샬링 문자는 지원되지 않습니다. 대신 char 형식을 원하는 바이트 표현으로 수동으로 변환하고 소스 생성 P/Invoke에 전달하세요. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - 'StringMarshalling.Custom'으로 문자를 마샬링하는 것은 지원되지 않습니다. 사용자 지정 형식 마샬러를 사용하려면 'MarshalUsingAttribute'를 지정합니다. - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 명시적 마샬링 정보 없이 문자열 또는 char을 마샬링할 수 없습니다. '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' 또는 'MarshalAsAttribute'를 지정합니다. - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - 이 형식의 마샬링을 활성화하려면 어셈블리에 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute'를 적용하여 이 프로젝트에서 런타임 마샬링을 비활성화해야 합니다. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - 'SafeHandle'에서 파생된 추상 형식은 참조로 마샬링할 수 없습니다. 제공된 형식은 구체적이어야 합니다. - - - - '{0}' has accessibility '{1}'. - '{0}'에는 접근성 '{1}'이(가) 있습니다. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - 지정된 매개 변수를 비관리에서 관리로 마샬링해야 하지만 마샬러 유형 '{0}'이(가) 지원하지 않습니다. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf deleted file mode 100644 index 05e3f53ee6c97..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pl.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Skierowanie tablicy z niezarządzanej do zarządzanej wymaga ustawienia pól „SizeParamIndex” lub „SizeConst” we właściwościach dla atrybutu„MarshalAsAttribute” lub wartości „ConstantElementCount” lub elementu „CountElementName” we właściwościach dla atrybutu „MarshalUsingAttribute”. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - Określony parametr musi być kierowany z zarządzanego do niezarządzanego i niezarządzanego do zarządzanego, ale typ marszałka „{0}” go nie obsługuje. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - Określony parametr rozmiaru kolekcji dla kolekcji musi być liczbą całkowitą. Jeśli informacje o rozmiarze są stosowane do kolekcji zagnieżdżonej, parametr rozmiaru musi być kolekcją o jednym poziomie zagnieżdżenia mniej, o liczbie całkowitej. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - Tylko jedna z wartości „ConstantElementCount” lub element „ElementCountInfo” może być użyty w atrybucie „MarshalUsingAttribute” dla danego elementu „ElementIndirectionDepth” - - - - Containing type '{0}' has accessibility '{1}'. - Zawierający typ „{0}” ma ułatwienia dostępu „{1}”. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Ten element nie może zależeć od elementu „{0}” dla informacji o rozmiarze kolekcji bez tworzenia cyklu zależności - - - - Count information for a given element at a given indirection level can only be specified once - Informacje o liczbie dla danego elementu na danym poziomie pośrednim można podać tylko raz - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Wiele atrybutów skierowania na element na poziomie pośrednim nie jest obsługiwanych, ale podano zduplikowane informacje dla poziomu pośredniego {0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - Informacje dotyczące skierowania zostały określone dla elementu „ElementIndirectionDepth” {0}, ale informacje dotyczące skierowania były potrzebne tylko dla poziomów pośrednich w liczbie {1} - - - - The provided graph has cycles and cannot be topologically sorted. - Podany wykres zawiera cykle i nie można go posortować topologicznie. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - Atrybut „[In]” nie jest obsługiwany, chyba że używany jest również atrybut „[Out]”. Zachowanie atrybutu „[In]” bez atrybutu „[Out]” jest takie samo jak zachowanie domyślne. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Atrybuty „[In]” i „[Out]” nie są obsługiwane w parametrach przekazywanych przez odwołanie. Zamiast tego użyj słów kluczowych „in”, „ref” lub „out”. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Podane atrybuty „[In]” i „[Out]” w tym parametrze nie są obsługiwane w tym parametrze. - - - - [In] and [Out] attributes - [In] and [Out] attributes - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - Określony parametr musi być kierowany z zarządzanego do niezarządzanego, ale typ marszałka „{0}” go nie obsługuje. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - Typ punktu wejścia marshallera „{0}” dla typu zarządzanego „{1}” musi mieć liczbę argumentów o jeden większą niż typ zarządzany. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Wszystkie elementy organizujące dla wartości przekazywanych jako niezarządzana wartość zwracana muszą mieć ten sam typ niezarządzany. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - Typ marshallera „{0}” dla typu zarządzanego „{1}” musi być statyczny. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Skierowanie wartości logicznej bez wyraźnych informacji o skierowaniu nie jest obsługiwane. Określ atrybut „MarshalUsingAttribute” lub atrybut „MarshalAsAttribute”. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - Znak marshallingu o wartości „StringMarshalling.{0}” nie jest obsługiwany. Zamiast tego ręcznie przekonwertuj typ znaków na żądaną reprezentację bajtów i przekaż do wygenerowanego źródła funkcji P/Invoke. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - Znak marshallingu o wartości „StringMarshalling.Custom” nie jest obsługiwany. Aby użyć marshallera typu niestandardowego, określ atrybut „MarshalUsingAttribute”. - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Kierowanie ciągu lub znaku bez jawnych informacji o kierowaniu nie jest obsługiwane. Określ „{0}.StringMarshalling”, „{0}.StringMarshallingCustomType”, „MarshalUsingAttribute” lub „MarshalAsAttribute”. - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - Marshalling środowiska uruchomieniowego musi być wyłączony w tym projekcie przez zastosowanie do zestawu atrybutu „System.Runtime.InteropServices.DisableRuntimeMarshallingAttribute”, aby umożliwić marshalling tego typu. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Typ abstrakcyjny pochodzący od elementu „SafeHandle” nie może być skierowany przez odwołanie. Podany typ musi być konkretny. - - - - '{0}' has accessibility '{1}'. - „{0}” ma ułatwienia dostępu „{1}”. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - Określony parametr musi być kierowany z niezarządzanego do zarządzanego, ale typ marszałka „{0}” go nie obsługuje. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf deleted file mode 100644 index a3b24c494c39d..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.pt-BR.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Realizar marshaling de uma matriz de não gerenciada para gerenciada requer que os campos 'SizeParamIndex' ou 'SizeConst' sejam definidos em um 'MarshalAsAttribute' ou nas propriedades 'ConstantElementCount' ou 'CountElementName' a serem definidos em um 'MarshalUsingAttribute'. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - O parâmetro especificado precisa ser marshalled de gerenciado para não gerenciado e não gerenciado para gerenciado, mas o tipo de marshaller '{0}' não dá suporte a ele. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - O parâmetro de tamanho de coleção especificado para uma coleção deve ser um tipo inteiro. Se as informações de tamanho são aplicadas a uma coleção aninhada, o parâmetro de tamanho deve ser uma coleção de um nível a menos de aninhamento com um elemento integral. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - Somente um de 'ConstantElementCount' ou 'ElementCountInfo' pode ser usado em um 'MarshalUsingAttribute' para um determinado 'ElementIndirectionDepth' - - - - Containing type '{0}' has accessibility '{1}'. - Contendo o tipo '{0}' tem acessibilidade '{1}'. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Este elemento não pode depender de '{0}' para informações de tamanho de coleção sem criar um ciclo de dependência - - - - Count information for a given element at a given indirection level can only be specified once - As informações de contagem de um determinado elemento em um determinado nível de indireção só podem ser especificadas uma vez - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Não há suporte para vários atributos de marshalling por elemento por nível de indireção, mas foram fornecidas informações duplicadas para o nível de indireção {0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - As informações de marshalling foram especificadas para o {0} 'ElementIndirectionDepth', mas as informações de marshalling só eram necessárias para {1} nível(s) de indireção - - - - The provided graph has cycles and cannot be topologically sorted. - O grafo fornecido tem ciclos e não pode ser classificado topologicamente. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - O atributo '[In]' não tem suporte, a menos que o '[Out]' também seja usado. O comportamento do atributo '[In]' sem o atributo '[Out]' é o mesmo que o comportamento padrão. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Os atributos '[In]' e '[Out]' não têm suporte em parâmetros passados por referência. Use as palavras-chave 'in', 'ref' ou 'out'. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Os atributos '[In]' e '[Out]' neste parâmetro não têm suporte neste parâmetro. - - - - [In] and [Out] attributes - Atributos [In] e [Out] - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - O parâmetro especificado precisa ser marshalled de gerenciado para não gerenciado, mas o tipo de marshaller '{0}' não dá suporte a ele. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - O tipo de ponto de entrada para realizar marshaling '{0}' para o tipo gerenciado '{1}' deve ter uma aridade maior do que o tipo gerenciado. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Todos os marshallers de valores passados como o valor retornado não gerenciado devem ter o mesmo tipo não gerenciado. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - O tipo de empacotador '{0}' para o tipo gerenciado '{1}' deve ser uma classe estática ou uma estrutura. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Não há suporte para marshalling bool sem informações de marshalling explícitas. Especifique 'MarshalUsingAttribute' ou 'MarshalAsAttribute'. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - Não há suporte para marshaling de caracteres com 'StringMarshalling.{0}'. Em vez disso, converta manualmente o tipo de caractere para a representação de byte desejada e passe para o P/Invoke gerado pela origem. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - Não há suporte para marshaling de caracteres com 'StringMarshalling.Custom'. Para usar um marshaller de tipo personalizado, especifique 'MarshalUsingAttribute'. - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Não há suporte para marshalling de cadeia de caracteres ou char sem informações de marshalling explícitas. Especifique ''{0}. StringMarshalling'', ''{0}. StringMarshallingCustomType'', ''MarshalUsingAttribute'' ou ''MarshalAsAttribute''. - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - O marshalling de tempo de execução deve ser desabilitado neste projeto aplicando o 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' ao assembly para habilitar o marshalling desse tipo. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Um tipo abstrato derivado de 'SafeHandle' não pode ser marshalled por referência. O tipo fornecido deve ser concreto. - - - - '{0}' has accessibility '{1}'. - '{0}' tem acessibilidade '{1}'. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - O parâmetro especificado precisa ser marshalled de não gerenciado para gerenciado, mas o tipo de marshaller '{0}' não dá suporte a ele. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf deleted file mode 100644 index a0c7683813929..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.ru.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Маршализация массива из неуправляемого кода в управляемый требует, чтобы в \"MarshalAsAttribute\" было задано поле \"SizeParamIndex\" или \"SizeConst\", или в \"MarshalUsingAttribute\" было задано свойство \"ConstantElementCount\" или \"CountElementName\". - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - Указанный параметр необходимо маршалировать из управляемого в неуправляемый и из неуправляемого в управляемый, но тип маршаллера "{0}" не поддерживает это. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - Указанный параметр размера коллекции должен быть целочисленным типом. Если сведения о размере применяются к вложенной коллекции, параметр размера должен быть коллекцией на один уровень вложения меньше с целочисленным элементом. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - В \"MarshalUsingAttribute\" для заданного \"ElementIndirectionDepth\" можно использовать либо \"ConstantElementCount\", либо \"ElementCountInfo\". - - - - Containing type '{0}' has accessibility '{1}'. - Содержащий тип "{0}" обеспечивает уровень доступности "{1}". - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Этот элемент не может получать от \"{0}\" сведения о размере коллекции без создания цикла зависимостей - - - - Count information for a given element at a given indirection level can only be specified once - Данные счетчика для заданного элемента на заданном уровне косвенного обращения можно указать только один раз - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Несколько атрибутов маршализации на один элемент на каждом уровне косвенного обращения не поддерживаются, но для уровня косвенного обращения {0} указаны повторяющиеся сведения - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - Для \"ElementIndirectionDepth\" {0} указаны сведения маршализации, но они необходимы только для {1} уровней косвенного обращения - - - - The provided graph has cycles and cannot be topologically sorted. - Указанный граф содержит циклы, и его невозможно топологически отсортировать. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - Атрибут \"[In]\" не поддерживается, если атрибут \"[Out]' не используется. Поведение атрибута \"[In]\" без \"[Out]\" совпадает с поведением по умолчанию. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - Атрибуты \"[In]\" и \"[Out]\" не поддерживаются для параметров, передаваемых по ссылке. Используйте вместо них ключевые слова \"in\", \"ref\" или \"out\". - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Указанные атрибуты \"[In]\" и \"[Out]\" для этого параметра не поддерживаются. - - - - [In] and [Out] attributes - Атрибуты [In] и [Out] - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - Указанный параметр необходимо маршалировать из управляемого в неуправляемый, но тип маршаллера "{0}" не поддерживает это. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - Тип точки входа маршаллера "{0}" для управляемого типа "{1}" должен иметь более высокую арность, чем управляемый тип. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Все маршалеры для значений, передаваемых в качестве неуправляемого возвращаемого значения, должны использовать одинаковый неуправляемый тип. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - Тип маршаллера "{0}" для управляемого типа "{1}" должен быть статическим классом или структурой. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Маршализация типа bool объекта без явного указания сведений маршализации не поддерживается. Укажите \"MarshalUsingAttribute\" или \"MarshalAsAttribute\". - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - Маршализация типа char с \"StringMarshalling.{0}\" не поддерживается. Вместо этого следует вручную преобразовать тип char в требуемое представление байтов и передать в P/Invoke с созданием источника. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - Маршалинг char с \"StringMarshalling.Custom\" не поддерживается. Чтобы использовать маршалер пользовательского типа, укажите \"MarshalUsingAttribute\". - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Строка или символ со строкой или символом без явных сведений о маршалинге не поддерживаются. Укажите "{0}.StringMarshalling", "{0}.StringMarshallingCustomType", "MarshalUsingAttribute" или "MarshalAsAttribute". - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - В этом проекте следует отключить маршализацию среды выполнения путем применения к сборке атрибута \"System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute\" для включения маршализации этого типа. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - Абстрактный тип, производный от \"SafeHandle\", нельзя маршализировать по ссылке. Указанный тип должен быть конкретным. - - - - '{0}' has accessibility '{1}'. - "{0}" обеспечивает уровень доступности "{1}". - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - Указанный параметр необходимо маршалировать из неуправляемого в управляемый, но тип маршаллера "{0}" не поддерживает это. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf deleted file mode 100644 index cc282ac66b7e1..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.tr.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - Bir diziyi yönetilmeyenden yönetilene sıralamak için 'SizeParamIndex' veya 'SizeConst' alanlarının 'MarshalAsAttribute' olarak ya da 'ConstantElementCount' veya 'CountElementName' özelliklerinin bir 'MarshalUsingAttribute' olarak ayarlanmış olması gerekir. - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - Belirtilen parametrenin yönetilenden yönetilmeyene ve yönetilmeyenden yönetilene doğru hazırlanması gerekiyor, ancak '{0}' hazırlayıcı türü bunu desteklemiyor. - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - Bir koleksiyon için belirtilen koleksiyon boyutu parametresi tamsayı türünde olmalıdır. Boyut bilgisi iç içe yerleştirilmiş bir koleksiyona uygulanırsa boyut parametresinin, bir tam sayı öğesiyle daha az iç içe yerleştirme düzeyine sahip bir koleksiyon olması gerekir. - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - Belirli bir 'ElementIndirectionDepth' için 'MarshalUsingAttribute' içinde 'ConstantElementCount' veya 'ElementCountInfo' değerlerinden yalnızca biri kullanılabilir - - - - Containing type '{0}' has accessibility '{1}'. - '{0}' kapsayan türü '{1}' erişilebilirlik özelliğine sahip. - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - Bu öğe, bir bağımlılık döngüsü oluşturmadan koleksiyon boyutu bilgileri için '{0}' değerine bağımlı olamaz - - - - Count information for a given element at a given indirection level can only be specified once - Belirli bir yöneltme düzeyindeki belirli bir öğeye ait sayım bilgileri yalnızca bir kez belirtilebilir - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - Her bir yöneltme düzeyi için tek bir öğe için birden çok sıralama özniteliği desteklenmiyor, ancak yöneltme düzeyi {0} için yinelenen bilgiler mevcut - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - 'ElementIndirectionDepth' {0} için sıralama bilgileri belirtildi, ancak sıralama bilgileri yalnızca {1} yöneltme düzeyi için gerekli - - - - The provided graph has cycles and cannot be topologically sorted. - Sağlanan grafikte döngüler var ve bu grafik topolojik olarak sıralanamıyor. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - '[Out]' özniteliği de kullanılmadığı sürece '[In]' özniteliği desteklenmiyor. '[Out]' özniteliği kullanılmadığında '[In]' özniteliğinin davranışı varsayılan davranışla aynı olacaktır. - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - '[In]' ve '[Out]' öznitelikleri başvuruya göre aktarılan parametrelerde desteklenmiyor. Bunun yerine 'in', 'ref' veya 'out' anahtar sözcüklerini kullanın. - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - Bu parametrede sağlanan '[In]' ve '[Out]' öznitelikleri bu parametrede desteklenmiyor. - - - - [In] and [Out] attributes - [In] and [Out] attributes - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - Belirtilen parametrenin yönetilenden yönetilmeyene doğru hazırlanması gerekiyor, ancak '{0}' hazırlayıcı türü bunu desteklemiyor. - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - Yönetilen tür '{1}' için sıralayıcı giriş noktası '{0}', yönetilen türden büyük bir parametre sayısına sahip olmalıdır. - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - Yönetilmeyen dönüş değeri olarak geçirilen değerler için tüm hazırlayıcılar aynı yönetilmeyen türe sahip olmalıdır. - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - Yönetilen '{1}' türü için hazırlayıcı türü '{0}' statik bir sınıf veya yapı olmalıdır. - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Açık sıralama bilgileri olmadan bool sıralama desteklenmiyor. 'MarshalUsingAttribute' veya 'MarshalAsAttribute' bilgilerini belirtin. - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - 'StringMarshalling.{0}' ile karakter sıralama desteklenmiyor. Bunun yerine, karakter türünü el ile istenen bayt gösterimine dönüştürerek kaynak tarafından oluşturulan P/Invoke'a geçirin. - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - 'StringMarshalling.Custom' ile karakter sıralama desteklenmiyor. Özel bir tür sıralayıcısı kullanmak için 'MarshalUsingAttribute' belirtin. - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - Açık hazırlama bilgileri olmadan dize veya karakter hazırlama desteklenmiyor. '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' veya 'MarshalAsAttribute' belirtin. - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - Bu türü sıralamayı etkinleştirmek için derlemeye 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' uygulanarak bu projede çalışma zamanı sıralaması devre dışı bırakılmalıdır. - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - 'SafeHandle' özelliğinden türetilen soyut türler, başvuruya göre sıralanamaz. Sağlanan tür somut olmalıdır. - - - - '{0}' has accessibility '{1}'. - '{0}', '{1}' erişilebilirlik özelliğine sahip. - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - Belirtilen parametrenin yönetilmeyenden yönetilene doğru hazırlanması gerekiyor, ancak '{0}' hazırlayıcı türü bunu desteklemiyor. - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf deleted file mode 100644 index bd8c7e1601fd0..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hans.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - 对从非托管到托管的数组进行封送需要在 “MarshalAsAttribute” 或 “ConstantElementCount” 或 “CountElementName” 属性上设置 “SizeParamIndex” 或 “SizeConst” 字段。 - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - 需要将指定的参数从托管封送到非托管和从非托管封送到托管,但封送程序类型“{0}”不支持它。 - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - 为集合指定的集合大小参数必须是整数类型。如果大小信息应用于嵌套集合,则大小参数必须是具有整数元素的嵌套级别少一个层次的集合。 - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - 对于给定的 “ElementIndirectionDepth”,在 “MarshalUsingAttribute” 中只能使用 “ConstantElementCount” 或 “ElementCountInfo” 中的一个 - - - - Containing type '{0}' has accessibility '{1}'. - 包含类型“{0}”具有可访问性“{1}”。 - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - 在不创建依赖关系循环的情况下,此元素无法依赖于集合大小信息的“{0}” - - - - Count information for a given element at a given indirection level can only be specified once - 给定间接级别的给定元素的计数信息只能指定一次 - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - 不支持每个间接级别每个元素有多个封送属性,但为间接级别 {0} 提供了重复的信息 - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - 为 “ElementIndirectionDepth” {0} 指定了封送信息,但只有间接的 {1} 级别需要封送信息 - - - - The provided graph has cycles and cannot be topologically sorted. - 提供的图形具有循环,并且无法按拓扑顺序排序。 - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - 不支持 “[In]” 属性,除非同时使用 “[Out]” 属性。没有 “[Out]” 属性的情况下,“[In]” 属性的行为与默认行为相同。 - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - 引用传递的参数不支持 “[In]” 和 “[Out]” 属性。请改用 “in”、“ref” 或 “out” 关键字。 - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - 此参数上提供的 “[In]” 和 “[Out]” 属性在此参数上不受支持。 - - - - [In] and [Out] attributes - [In] 和 [Out] 属性 - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - 需要将指定的参数从托管封送到非托管,但封送程序类型“{0}”不支持它。 - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - 托管类型“{1}”的封送程序入口点类型“{0}”必须具有大于托管类型的 arity。 - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - 作为非托管返回值传递的值的所有封送程序必须具有相同的非托管类型。 - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - 托管类型 "{1}" 的封送程序类型 "{0}" 必须为静态类或结构。 - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 不支持在没有显式封送信息的情况下封送布尔值。请指定 “MarshalUsingAttribute” 或 “MarshalAsAttribute”。 - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - 不支持使用 \"StringMarshalling.{0}\" 封送字符。请改用手动方式将字符类型转换为所需的字节表示形式,并传递到源生成的 P/Invoke。 - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - 不支持使用 \"StringMarscharing.Custom\" 封送 char。若要使用自定义类型封送程序,请指定 \"MarshalUsingAttribute\"。 - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 不支持没有明确封送信息的封送字符串或字符。请指定“{0}.StringMarshalling”、“{0}.StringMarshallingCustomType”、“MarshalUsingAttribute”或“MarshalAsAttribute”。 - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - 必须通过将 \"System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute\" 应用到程序集来在此项目中禁用运行时封送,以启用此类型的封送处理。 - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - 无法通过引用封送派生自 “SafeHandle” 的抽象类型。提供的类型必须是具体的。 - - - - '{0}' has accessibility '{1}'. - “{0}”具有可访问性“{1}”。 - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - 需要将指定的参数从非托管封送到托管,但封送程序类型“{0}”不支持它。 - - - - - \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf deleted file mode 100644 index f4783d196b5e6..0000000000000 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Resources/xlf/Strings.zh-Hant.xlf +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - Marshalling an array from unmanaged to managed requires either the 'SizeParamIndex' or 'SizeConst' fields to be set on a 'MarshalAsAttribute' or the 'ConstantElementCount' or 'CountElementName' properties to be set on a 'MarshalUsingAttribute'. - 將數組從未受管理排列到受管理,需要在 'MarshalUsingAttribute' 上設定 'SizeParamIndex' 或 'SizeConst' 字段,或在 'MarshalUsingAttribute' 上設定 'ConstantElementCount' 或 'CountElementName' 屬性。 - - - - The specified parameter needs to be marshalled from managed to unmanaged and unmanaged to managed, but the marshaller type '{0}' does not support it. - 指定的參數必須從受控封送處理到非受控,以及從非受控封送處理到受控,但封送處理程式類型 '{0}' 不支援。 - - - - The specified collection size parameter for an collection must be an integer type. If the size information is applied to a nested collection, the size parameter must be a collection of one less level of nesting with an integral element. - 為集合指定的集合大小參數必須是整數類型。如果大小資訊套用至巢狀集合,大小參數必須是少於一層巢狀元素的集合。 - - - - Only one of 'ConstantElementCount' or 'ElementCountInfo' may be used in a 'MarshalUsingAttribute' for a given 'ElementIndirectionDepth' - 在指定的 'ElementIndirectionDepth' 的 'MarshalUsingAttribute' 中只能使用 'ConstantElementCount' 或 'ElementCountInfo' 其中之一 - - - - Containing type '{0}' has accessibility '{1}'. - 包含的類型 '{0}' 具有存取範圍 '{1}'。 - - - - This element cannot depend on '{0}' for collection size information without creating a dependency cycle - 此元素不需要建立相依性循環,就無法依存 '{0}' 集合大小資訊 - - - - Count information for a given element at a given indirection level can only be specified once - 在指定的間接層級,指定元素的計數資訊只能指定一次。 - - - - Multiple marshalling attributes per element per indirection level is unsupported, but duplicate information was provided for indirection level {0} - 不支援每個元素的每個間接層級有多個排列屬性,但為間接層級提供了重複的資訊{0} - - - - Marshalling info was specified for 'ElementIndirectionDepth' {0}, but marshalling info was only needed for {1} level(s) of indirection - 已為 'ElementIndirectionDepth' {0}指定封送處理資訊,但只有 {1}層級 (間接) 需要封送處理資訊 - - - - The provided graph has cycles and cannot be topologically sorted. - 提供的圖表有週期,無法以拓撲排序。 - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - 除非一併使用'[Out]'屬性,否則不支援'[In]'屬性。沒有'[Out]'屬性的'[In]'屬性行為與默認行為相同。 - - - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - - - The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. - 參考所傳遞的參數不支援'[In]'和'[Out]'屬性。請改用 'in'、'ref' 或 'out' 關鍵詞。 - - - - The provided '[In]' and '[Out]' attributes on this parameter are unsupported on this parameter. - 此參數不支援在此參數上提供的 '[In]' 和 '[Out]' 屬性。 - - - - [In] and [Out] attributes - [In] 與 [Out] 屬性 - - - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - - - - The specified parameter needs to be marshalled from managed to unmanaged, but the marshaller type '{0}' does not support it. - 指定的參數必須從受控封送處理到非受控,但封送處理程式類型 '{0}' 不支援。 - - - - The marshaller entry point type '{0}' for managed type '{1}' must have an arity of one greater than the managed type. - 受控類型 '{1}' 的封送處理器進入點類型 '{0}' 必須具有大於受控類型的 arity。 - - - - All marshallers for values that are passed as the unmanaged return value must have the same unmanaged type. - 以非受控傳回值傳遞之值的所有封送處理常式,都必須具有相同的非受控類型。 - - - - The marshaller type '{0}' for managed type '{1}' must be a static class or a struct. - 受控型別 '{1}' 的封送處理器類型 '{0}' 必須是靜態類別或結構。 - - - - Marshalling bool without explicit marshalling information is not supported. Specify either 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 不支援沒有明確排列資訊的封送處理布林值。指定 'MarshalUsingAttribute' 或 'MarshalAsAttribute'。 - - - - Marshalling char with 'StringMarshalling.{0}' is not supported. Instead, manually convert the char type to the desired byte representation and pass to the source-generated P/Invoke. - 不支援具有 'StringMarshalling.{0}' 的封送字元。請改為手動將字元類型轉換為想要的位元組表示法,並傳遞至來源產生的 P/Invoke。 - - - - Marshalling char with 'StringMarshalling.Custom' is not supported. To use a custom type marshaller, specify 'MarshalUsingAttribute'. - 不支援具有 'StringMarshalling.Custom' 的封送處理字元。若要使用自訂類型封送處理器,請指定 'MarshalUsingAttribute'。 - - - - Marshalling string or char without explicit marshalling information is not supported. Specify '{0}.StringMarshalling', '{0}.StringMarshallingCustomType', 'MarshalUsingAttribute' or 'MarshalAsAttribute'. - 不支援沒有明確封送處理資訊的封送處理字串或字元。請指定 '{0}.StringMarshalling、'{0}.StringMarshallingCustomType'、'MarshalUsingAttribute' 或 'MarshalAsAttribute'。 - - - - Runtime marshalling must be disabled in this project by applying the 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' to the assembly to enable marshalling this type. - 必須將 'System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute' 套用到組件,以停用此專案中的執行階段封送處理,以啟用此類型的封送處理。 - - - - An abstract type derived from 'SafeHandle' cannot be marshalled by reference. The provided type must be concrete. - 衍生自 'SafeHandle' 的抽象類型無法依參考排列。提供的類型必須是實體。 - - - - '{0}' has accessibility '{1}'. - '{0}' 具有存取範圍 '{1}'。 - - - - The specified parameter needs to be marshalled from unmanaged to managed, but the marshaller type '{0}' does not support it. - 指定的參數必須從非受控封送處理到受控,但封送處理程式類型 '{0}' 不支援。 - - - - - \ No newline at end of file From b7f4d213c2c69ae1f0736bac629998aefbf5042e Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Thu, 6 Jul 2023 16:11:41 -0700 Subject: [PATCH 06/26] [In] is allowed but not necessary --- .../gen/Common/Resources/Strings.resx | 10 +-- .../gen/Common/Resources/xlf/Strings.cs.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.de.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.es.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.fr.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.it.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.ja.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.ko.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.pl.xlf | 4 +- .../Common/Resources/xlf/Strings.pt-BR.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.ru.xlf | 4 +- .../gen/Common/Resources/xlf/Strings.tr.xlf | 4 +- .../Common/Resources/xlf/Strings.zh-Hans.xlf | 4 +- .../Common/Resources/xlf/Strings.zh-Hant.xlf | 4 +- .../ByValueContentsMarshalKindValidator.cs | 75 +++++-------------- .../CustomTypeMarshallingGenerator.cs | 9 +++ .../StaticPinnableManagedValueMarshaller.cs | 5 +- .../CompileFails.cs | 6 +- 18 files changed, 67 insertions(+), 90 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx index 58aad49bfd818..1a110dfbec558 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx @@ -127,7 +127,7 @@ The provided graph has cycles and cannot be topologically sorted. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' and '[Out]' attributes are unsupported on parameters passed by reference. Use the 'in', 'ref', or 'out' keywords instead. @@ -192,9 +192,6 @@ '{0}' has accessibility '{1}'. - - [In] and [Out] attributes - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. @@ -868,4 +865,7 @@ The configuration of 'StringMarshalling' and 'StringMarshallingCustomType' on interface '{0}' is invalid. {1} {1} is a message containing additional details about what is not valid - \ No newline at end of file + + [In] and [Out] attributes + + diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf index 0d7b21d03bc8a..73700ae207e09 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf index 7dbe6c3e5ea76..77159d350d1b7 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf index 42990b44e266b..ca38afa23a88b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf index 363112f15bfee..e54acddf1b2d4 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf index 0e4590a340a30..5321600a1f54b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf index 2d0fbf90d3b19..c929a725f9c6b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf index ac42d7e3faad7..a7a622f1c9e87 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf index 0d59e6c16413b..2f58c4b59ba68 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf index 7249507e05f63..ec2f6f8892919 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf index a5da8e5fcb8d7..52c2d091bcd5b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf index 46e66043877b5..2ac5b8376d2ae 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf index 7cfdb431e08e6..b7dc3aa3d621a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf index 406ca00cf7cee..fdfbbad20fa3e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf @@ -428,8 +428,8 @@ - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index 8519e88db0968..e2aafc2902998 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -42,74 +42,35 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf NotSupportedDetails = SR.InOutAttributeByRefNotSupported })); } - else if (info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.In) + + bool supported = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic diagnostic); + if (!supported) { - if (generator.Generator is StaticPinnableManagedValueMarshaller) + if (diagnostic.IsFatal) { - return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.InAttributeNotSupportedWithoutOutBlittableArray - })); + return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(diagnostic)); } - } - else - { - bool supported = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic diagnostic); - if (!supported) + else { - if (diagnostic.IsFatal) + var locations = ImmutableArray.Empty; + if (info.ByValueMarshalAttributeLocations.InLocation is not null) { - return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(diagnostic)); + locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); } - else + if (info.ByValueMarshalAttributeLocations.OutLocation is not null) { - var locations = ImmutableArray.Empty; - if (info.ByValueMarshalAttributeLocations.InLocation is not null) - { - locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); - } - if (info.ByValueMarshalAttributeLocations.OutLocation is not null) - { - locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); - } + locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); + } - return generator with + return generator with + { + Diagnostics = generator.Diagnostics.Add(new GeneratorDiagnostic.UnnecessaryData(info, context, locations) { - Diagnostics = generator.Diagnostics.Add(new GeneratorDiagnostic.UnnecessaryData(info, context, locations) - { - UnnecessaryDataDetails = SR.InOutAttributes - }) - }; + UnnecessaryDataDetails = SR.InOutAttributes + }) + }; - } } - //if (support == ByValueMarshalKindSupport.NotSupported) - //{ - // return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) - // { - // NotSupportedDetails = SR.InOutAttributeMarshalerNotSupported - // })); - //} - //else if (support == ByValueMarshalKindSupport.Unnecessary) - //{ - // var locations = ImmutableArray.Empty; - // if (info.ByValueMarshalAttributeLocations.InLocation is not null) - // { - // locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); - // } - // if (info.ByValueMarshalAttributeLocations.OutLocation is not null) - // { - // locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); - // } - - // return generator with - // { - // Diagnostics = generator.Diagnostics.Add(new GeneratorDiagnostic.UnnecessaryData(info, context, locations) - // { - // UnnecessaryDataDetails = SR.InOutAttributes - // }) - // }; - //} } return generator; } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs index 8dec6faaade08..269ec16cdfe4d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Collections.Immutable; using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -122,6 +123,14 @@ public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, T diagnostic = null; return true; } + if (marshalKind == ByValueContentsMarshalKind.In) + { + diagnostic = new GeneratorDiagnostic.UnnecessaryData(info, context, ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) + { + UnnecessaryDataDetails = SR.InAttributeNotSupportedWithoutOut + }; + return false; + } diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(_byValueContentsMarshallingSupport, info, context); return false; } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs index 5280dc8521530..aca53acf2bb29 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs @@ -108,7 +108,10 @@ public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, T { if (marshalKind is ByValueContentsMarshalKind.In) { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InAttributeNotSupportedWithoutOutBlittableArray + }; return false; } return _innerMarshallingGenerator.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index 352a715e994a1..9802de60d202c 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -379,7 +379,11 @@ public static IEnumerable CodeSnippetsToCompile() } }; // By value non-array with [In, Out] attributes - yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new Diagnostic[] { } }; + yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new[] { + VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.InOutAttributesNotSupportedOnByValueParameters, "p") + } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) From 2f135c2ee2ae069ce15d0b642d592f6bfa3e94d0 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Fri, 7 Jul 2023 12:10:28 -0700 Subject: [PATCH 07/26] wip --- .../ComInterfaceDispatchMarshallerFactory.cs | 5 +- ...anagedHResultExceptionMarshallerFactory.cs | 10 +- .../ObjectUnwrapperMarshallerFactory.cs | 5 +- .../gen/Common/Resources/Strings.resx | 17 +- .../gen/Common/Resources/xlf/Strings.cs.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.de.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.es.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.fr.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.it.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.ja.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.ko.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.pl.xlf | 29 +++- .../Common/Resources/xlf/Strings.pt-BR.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.ru.xlf | 29 +++- .../gen/Common/Resources/xlf/Strings.tr.xlf | 29 +++- .../Common/Resources/xlf/Strings.zh-Hans.xlf | 29 +++- .../Common/Resources/xlf/Strings.zh-Hant.xlf | 29 +++- .../Marshalling/BlittableMarshaller.cs | 11 +- .../Marshalling/BoolMarshaller.cs | 11 +- .../Marshalling/CharMarshaller.cs | 17 +- .../CharMarshallingGeneratorFactory.cs | 2 - .../CustomTypeMarshallingGenerator.cs | 2 +- .../Marshalling/DelegateMarshaller.cs | 5 +- .../Marshalling/Forwarder.cs | 5 +- .../Marshalling/GeneratorDiagnostic.cs | 151 ++++++++++++++++++ .../Marshalling/MarshallingGenerator.cs | 8 +- .../Marshalling/SafeHandleMarshaller.cs | 5 +- .../CompileFails.cs | 4 +- 28 files changed, 481 insertions(+), 154 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs index dd54f5d2c8d7d..42562d5a99023 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs @@ -62,10 +62,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool IsSupported(TargetFramework target, Version version) => target == TargetFramework.Net && version >= new Version(5, 0); public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs index e5fed6d342c17..e88514fd75ccc 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs @@ -72,10 +72,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } @@ -113,10 +110,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs index 206ca4a432e21..1267deb123341 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs @@ -62,10 +62,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx index 1a110dfbec558..52e96594a2973 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx @@ -126,7 +126,7 @@ The provided graph has cycles and cannot be topologically sorted. - + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. @@ -195,8 +195,8 @@ The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code @@ -868,4 +868,13 @@ [In] and [Out] attributes - + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + + + This parameter is marshalled by pinning and is '[In, Out]' by default. + + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf index 73700ae207e09..1b7ca525b131e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf index 77159d350d1b7..a4b859af3bdce 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf index ca38afa23a88b..3f8a391be9a98 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf index e54acddf1b2d4..3ca9dcce2a79d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf index 5321600a1f54b..bde228f52d98e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf index c929a725f9c6b..e208413d044b7 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf index a7a622f1c9e87..198a750368fe9 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf index 2f58c4b59ba68..56326e2da0757 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf index ec2f6f8892919..7f51de9d9f73e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf index 52c2d091bcd5b..6d5a11e236ff1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf index 2ac5b8376d2ae..87cb5d0134793 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf index b7dc3aa3d621a..37d677292f7a6 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf index fdfbbad20fa3e..9ce3a77bfbd04 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf @@ -427,14 +427,19 @@ The provided graph has cycles and cannot be topologically sorted. - + + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + + The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. The '[In]' attribute is not necessary unless the '[Out]' attribute is also used. The behavior of the '[In]' attribute without the '[Out]' attribute is the same as the default behavior. - - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. + + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. + This parameter is marshalled by pinning and does not support the '[In]' attribute without the '[Out]' attribute. @@ -452,9 +457,9 @@ [In] and [Out] attributes - - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. - The `[In]` and `[Out]` attributes are not supported on value-type parameters passed by-value. + + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. + The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. @@ -887,6 +892,11 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. + + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. A 'Value' or 'LinearCollection'-kind native type that supports marshalling in the 'Out' direction must provide a 'ToManaged' method that returns the managed type. @@ -897,6 +907,11 @@ The type '{0}' specifies it supports marshalling in the 'Out' direction, but it does not provide a 'ToManaged' method that returns the managed type + + This parameter is marshalled by pinning and is '[In, Out]' by default. + This parameter is marshalled by pinning and is '[In, Out]' by default. + + 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. 'GeneratedComInterfaceAttribute' and 'GeneratedComClassAttribute' require unsafe code. Project must be updated with '<AllowUnsafeBlocks>true</AllowUnsafeBlocks>'. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs index a63d1dc6c7215..fe5c7b9c3996c 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; @@ -102,13 +101,7 @@ public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) return info.IsByRef && !context.IsInStubReturnPosition(info) && !context.SingleFrameSpansNativeContext; } - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - { - diagnostic = new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.InOutAttributesNotSupportedOnByValueParameters - }; - return false; - } + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs index 322f2bec91751..07bbd75136e28 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs @@ -100,15 +100,8 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - { - diagnostic = new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.InOutAttributesNotSupportedOnByValueParameters - }; - - return false; - } + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } /// diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs index 88bcc5a8da056..0d8aebabac60a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -136,13 +135,19 @@ private static bool IsPinningPathSupported(TypePositionInfo info, StubCodeContex } private static string PinnedIdentifier(string identifier) => $"{identifier}__pinned"; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) { - diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + // Maybe should be done in the CharMarshallerFactory, but complexity and interdependence bleeds in if you do that + if (IsPinningPathSupported(info, context) && info.RefKind == RefKind.In) { - NotSupportedDetails = SR.InOutAttributesNotSupportedOnByValueParameters - }; - return false; + diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InRefKindIsNotSupportedOnPinnedParameters + }; + return ByValueMarshalKindSupport.NotSupported; + } + return GeneratorDiagnostic.ByValueMarshalKindSupportManager.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } + } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshallingGeneratorFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshallingGeneratorFactory.cs index d60e3b8a49471..1b40fc13da59a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshallingGeneratorFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshallingGeneratorFactory.cs @@ -2,9 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; -using System.Collections.Generic; using System.Runtime.InteropServices; -using System.Text; using Microsoft.CodeAnalysis; namespace Microsoft.Interop diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs index 269ec16cdfe4d..4557da01dddce 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs @@ -127,7 +127,7 @@ public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, T { diagnostic = new GeneratorDiagnostic.UnnecessaryData(info, context, ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) { - UnnecessaryDataDetails = SR.InAttributeNotSupportedWithoutOut + UnnecessaryDataDetails = SR.InAttributeOnlyIsDefault }; return false; } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs index c06967d696eb9..a1b3e7b9fb2b6 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs @@ -103,9 +103,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs index 6fd7cd3295f13..b3e1766b7fb33 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs @@ -35,9 +35,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs index 6775a43b6750c..c07c11766e4cc 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Immutable; +using System.Diagnostics.CodeAnalysis; using System.Linq; using Microsoft.CodeAnalysis; @@ -61,6 +62,156 @@ public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, } } + /// + /// Provides the default implementation for + /// + public static bool SupportsByValueMarshalKindDefault(ByValueContentsMarshalKind kind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + { + diagnostic = null; + switch (kind) + { + case ByValueContentsMarshalKind.Default: return true; + case ByValueContentsMarshalKind.In: + diagnostic = new GeneratorDiagnostic.UnnecessaryData(info, context, ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) + { UnnecessaryDataDetails = SR.InAttributeOnlyIsDefault }; + return false; + default: + diagnostic = DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); + return false; + } + } + + public static bool ByValueParameterSupportsByValueMarshalKindByDefault( + ByValueContentsMarshalKind marshalKind, + TypePositionInfo info, + StubCodeContext context, + out GeneratorDiagnostic? diagnostic) + { + if (marshalKind.HasFlag(ByValueContentsMarshalKind.Out)) + { + diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.OutAttributeNotSupportedOnByValueParameters + }; + return true; + } + return GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + } + /// + /// Provides an implementation of through + /// + public record ByValueMarshalKindSupportManager( + ByValueMarshalKindSupport InSupport, string? InSupportDetails, + ByValueMarshalKindSupport OutSupport, string? OutSupportDetails, + ByValueMarshalKindSupport InOutSupport, string? InOutSupportDetails) + { + /// + /// A default for by value parameters. [In] is allowed, but unnecessary. Out is not allowed. + /// + public static ByValueMarshalKindSupportManager ValueTypeParameterDefault = new ByValueMarshalKindSupportManager( + InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, + OutSupport: ByValueMarshalKindSupport.NotSupported, OutSupportDetails: SR.OutAttributeNotSupportedOnByValueParameters, + InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueParameters); + + /// + /// A default for by reference parameters. [In] is allowed, but unnecessary. Out is allowed. + /// + public static ByValueMarshalKindSupportManager ReferenceTypeParameterDefault = new ByValueMarshalKindSupportManager( + InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, + OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, + InOutSupport: ByValueMarshalKindSupport.Supported, InOutSupportDetails: null); + + /// + /// A default for pinned by reference parameters. [In] is not allowed. [In, Out] is the default and unnecessary. [Out] is allowed. + /// + public static ByValueMarshalKindSupportManager PinnedByReferenceParameterDefault = new ByValueMarshalKindSupportManager( + InSupport: ByValueMarshalKindSupport.NotSupported, InSupportDetails: SR.InAttributeOnlyNotSupportedOnPinnedParameters, + OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, + InOutSupport: ByValueMarshalKindSupport.Unnecessary, InOutSupportDetails: SR.PinnedMarshallingIsInOutByDefault); + + /// + /// Returns the support for the ByValueContentsMarshalKind, and if it is not , diagnostic is not null + /// + public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + { + if (info.IsByRef && marshalKind != ByValueContentsMarshalKind.Default) + { + diagnostic = new NotSupported(info, context) + { + NotSupportedDetails = SR.InOutAttributeByRefNotSupported + }; + return ByValueMarshalKindSupport.NotSupported; + } + switch (marshalKind) + { + case ByValueContentsMarshalKind.Default: + diagnostic = null; + return ByValueMarshalKindSupport.Supported; + case ByValueContentsMarshalKind.Out: + diagnostic = OutSupport switch + { + ByValueMarshalKindSupport.Supported => null, + ByValueMarshalKindSupport.Unnecessary + => new GeneratorDiagnostic.UnnecessaryData( + info, + context, + ImmutableArray.Create(info.ByValueMarshalAttributeLocations.OutLocation)) + { UnnecessaryDataDetails = OutSupportDetails }, + ByValueMarshalKindSupport.NotSupported + => new GeneratorDiagnostic.NotSupported( + info, + context) + { NotSupportedDetails = OutSupportDetails }, + _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") + }; + return OutSupport; + case ByValueContentsMarshalKind.In: + diagnostic = InSupport switch + { + ByValueMarshalKindSupport.Supported => null, + ByValueMarshalKindSupport.Unnecessary + => new GeneratorDiagnostic.UnnecessaryData( + info, + context, + ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) + { UnnecessaryDataDetails = InSupportDetails }, + ByValueMarshalKindSupport.NotSupported + => new GeneratorDiagnostic.NotSupported( + info, + context) + { NotSupportedDetails = InSupportDetails }, + _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") + }; + return InSupport; + case ByValueContentsMarshalKind.InOut: + diagnostic = InOutSupport switch + { + ByValueMarshalKindSupport.Supported => null, + ByValueMarshalKindSupport.Unnecessary + => new GeneratorDiagnostic.UnnecessaryData( + info, + context, + ImmutableArray.Create( + info.ByValueMarshalAttributeLocations.InLocation, + info.ByValueMarshalAttributeLocations.OutLocation)) + { UnnecessaryDataDetails = InOutSupportDetails }, + ByValueMarshalKindSupport.NotSupported + => new GeneratorDiagnostic.NotSupported( + info, + context) + { NotSupportedDetails = InOutSupportDetails }, + _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") + }; + return InOutSupport; + default: + throw new UnreachableException($"Unexpected {nameof(ByValueContentsMarshalKind)} variant: {marshalKind}"); + } + } + } + + /// + /// Gets the default warnings for supported / unsupported / unnecessary ByValueMarshalKindSupport + /// public static GeneratorDiagnostic DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport support, TypePositionInfo info, StubCodeContext context) { switch (support) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs index 4b9eff270b277..f5e8aacdaa3c1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshallingGenerator.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; namespace Microsoft.Interop @@ -152,8 +151,13 @@ public interface IMarshallingGenerator /// A supported marshal kind has a different behavior than the default behavior. /// /// The marshal kind. + /// The TypePositionInfo of the parameter. /// The marshalling context. + /// + /// The diagnostic to report if the return value is not . + /// It should be non-null if the value is not + /// /// If the provided is supported and if it is required to specify the requested behavior. - bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic); + ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs index 0e730c99cfef9..3e673fdf8ed93 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs @@ -236,9 +236,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index 9802de60d202c..46243d335e022 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -388,14 +388,14 @@ public static IEnumerable CodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.InOutAttributesNotSupportedOnByValueParameters, "p") + .WithArguments(SR.InOutAttributeMarshalerNotSupported, "p") } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In, Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.InOutAttributesNotSupportedOnByValueParameters, "p") + .WithArguments(SR., "p") } }; // LCIDConversion From 58397790aee0cd3049469ae7f165c02e07e4b145 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Mon, 10 Jul 2023 10:31:37 -0700 Subject: [PATCH 08/26] wip about to merge main --- .../System.Private.CoreLib.Shared.projitems | 8 +- .../GeneratorDiagnostics.cs | 6 +- .../ComInterfaceDispatchMarshallerFactory.cs | 4 +- ...anagedHResultExceptionMarshallerFactory.cs | 8 +- .../ObjectUnwrapperMarshallerFactory.cs | 4 +- .../gen/Common/Resources/Strings.resx | 6 +- .../gen/Common/Resources/xlf/Strings.cs.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.de.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.es.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.fr.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.it.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.ja.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.ko.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.pl.xlf | 12 +- .../Common/Resources/xlf/Strings.pt-BR.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.ru.xlf | 12 +- .../gen/Common/Resources/xlf/Strings.tr.xlf | 12 +- .../Common/Resources/xlf/Strings.zh-Hans.xlf | 12 +- .../Common/Resources/xlf/Strings.zh-Hant.xlf | 12 +- .../ByValueContentsMarshalKindValidator.cs | 38 +---- .../CustomTypeMarshallingGenerator.cs | 16 +- .../Marshalling/DelegateMarshaller.cs | 4 +- .../Marshalling/Forwarder.cs | 4 +- .../Marshalling/GeneratorDiagnostic.cs | 92 ++--------- .../Marshalling/SafeHandleMarshaller.cs | 4 +- .../StaticPinnableManagedValueMarshaller.cs | 6 +- ...nagedToManagedOwnershipTrackingStrategy.cs | 2 +- .../CodeSnippets.cs | 23 ++- .../CompileFails.cs | 155 ++++++++++++++++++ .../CompileFails.cs | 12 +- .../Compiles.cs | 44 ++--- .../SharedTypes/ComInterfaces/IEmpty.cs | 1 + 32 files changed, 335 insertions(+), 258 deletions(-) diff --git a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems index 5cc1e4823e5e8..407cc5426705a 100644 --- a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems +++ b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems @@ -2587,11 +2587,11 @@ - + - - + + @@ -2661,4 +2661,4 @@ - + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs index f7ccf03284cb1..d2648af4ea995 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/GeneratorDiagnostics.cs @@ -150,12 +150,12 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.InvalidExceptionMarshallingConfigurationDescription))); - /// + /// public static readonly DiagnosticDescriptor ParameterTypeNotSupported = new DiagnosticDescriptor( Ids.TypeNotSupported, GetResourceString(nameof(SR.TypeNotSupportedTitle)), - GetResourceString(nameof(SR.InvalidExceptionMarshallingConfigurationMessage)), + GetResourceString(nameof(SR.TypeNotSupportedMessageParameterCom)), Category, DiagnosticSeverity.Error, isEnabledByDefault: true, @@ -414,6 +414,7 @@ public class Ids isEnabledByDefault: true, description: GetResourceString(nameof(SR.ClassDoesNotImplementAnyGeneratedComInterfacesDescription))); + /// public static readonly DiagnosticDescriptor UnnecessaryParameterMarshallingInfo = new DiagnosticDescriptor( Ids.UnnecessaryMarshallingInfo, @@ -428,6 +429,7 @@ public class Ids WellKnownDiagnosticTags.Unnecessary }); + /// public static readonly DiagnosticDescriptor UnnecessaryReturnMarshallingInfo = new DiagnosticDescriptor( Ids.UnnecessaryMarshallingInfo, diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs index 42562d5a99023..2acb1987021f2 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs @@ -61,8 +61,8 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier; public bool IsSupported(TargetFramework target, Version version) => target == TargetFramework.Net && version >= new Version(5, 0); - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs index e88514fd75ccc..a944003b0eddd 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs @@ -71,8 +71,8 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.NativeType; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } @@ -109,8 +109,8 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.NativeType; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs index 1267deb123341..81e629e79c455 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs @@ -61,8 +61,8 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.NativeType; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx index 52e96594a2973..3764998032a46 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx @@ -196,7 +196,7 @@ The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code @@ -844,10 +844,10 @@ Unnecessary marshalling info was provided and can be removed. - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} A 'Value'-kind native type that supports the 'CallerAllocatedBuffer' feature must provide a two-parameter constructor taking the managed type and a 'Span' of an 'unmanaged' type as parameters diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf index 1b7ca525b131e..f56d9de3e0246 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf index a4b859af3bdce..c469bb8f42ead 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf index 3f8a391be9a98..0b0cccc9c240a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf index 3ca9dcce2a79d..b841cf400be6a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf index bde228f52d98e..f6935f880d63b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf index e208413d044b7..ad86e6cbb8e7c 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf index 198a750368fe9..1de1ccc39fa48 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf index 56326e2da0757..a6a6a3925a310 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf index 7f51de9d9f73e..7d98233b424c5 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf index 6d5a11e236ff1..f2ad50ab8f402 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf index 87cb5d0134793..831f61f9c5c60 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf index 37d677292f7a6..2efc636a30809 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf index 9ce3a77bfbd04..314c2d13fb729 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf @@ -893,8 +893,8 @@ - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute are not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1225,13 +1225,13 @@ - Unnecessary marshalling info '{0}' was provided for parameter '{1}' - Unnecessary marshalling info '{0}' was provided for parameter '{1}' + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for parameter '{1}'. {2} - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' - Unnecessary marshalling info '{0}' was provided for the return type of method '{1}' + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} + Unnecessary marshalling info '{0}' was provided for the return type of method '{1}'. {2} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index e2aafc2902998..d2f32899a9520 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -2,8 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. using System; -using System.Collections.Immutable; -using Microsoft.CodeAnalysis; namespace Microsoft.Interop { @@ -43,36 +41,14 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf })); } - bool supported = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic diagnostic); - if (!supported) + var support = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic diagnostic); + return support switch { - if (diagnostic.IsFatal) - { - return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(diagnostic)); - } - else - { - var locations = ImmutableArray.Empty; - if (info.ByValueMarshalAttributeLocations.InLocation is not null) - { - locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); - } - if (info.ByValueMarshalAttributeLocations.OutLocation is not null) - { - locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); - } - - return generator with - { - Diagnostics = generator.Diagnostics.Add(new GeneratorDiagnostic.UnnecessaryData(info, context, locations) - { - UnnecessaryDataDetails = SR.InOutAttributes - }) - }; - - } - } - return generator; + ByValueMarshalKindSupport.Supported => generator, + ByValueMarshalKindSupport.NotSupported => ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(diagnostic)), + ByValueMarshalKindSupport.Unnecessary => generator with { Diagnostics = generator.Diagnostics.Add(diagnostic!) }, + _ => throw new UnreachableException() + }; } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs index 4557da01dddce..fabf5a52846f3 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Collections.Immutable; using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -116,23 +115,14 @@ public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) return _nativeTypeMarshaller.UsesNativeIdentifier(info, context); } - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) { if (_byValueContentsMarshallingSupport is ByValueMarshalKindSupport.Supported) { diagnostic = null; - return true; + return ByValueMarshalKindSupport.Supported; } - if (marshalKind == ByValueContentsMarshalKind.In) - { - diagnostic = new GeneratorDiagnostic.UnnecessaryData(info, context, ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) - { - UnnecessaryDataDetails = SR.InAttributeOnlyIsDefault - }; - return false; - } - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(_byValueContentsMarshallingSupport, info, context); - return false; + return GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs index a1b3e7b9fb2b6..c3284bf8802bf 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs @@ -102,7 +102,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs index b3e1766b7fb33..761d76bf3274c 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs @@ -34,7 +34,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs index c07c11766e4cc..9bc9c33e203af 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Immutable; -using System.Diagnostics.CodeAnalysis; using System.Linq; using Microsoft.CodeAnalysis; @@ -47,7 +46,8 @@ public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, public sealed record UnnecessaryData(TypePositionInfo TypePositionInfo, StubCodeContext StubCodeContext, ImmutableArray UnnecessaryDataLocations) : GeneratorDiagnostic(TypePositionInfo, StubCodeContext, isFatal: false) { - public required string UnnecessaryDataDetails { get; init; } + public required string UnnecessaryDataName { get; init; } + public string? UnnecessaryDataDetails { get; init; } public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, Location location, string elementName) { @@ -57,46 +57,12 @@ public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, UnnecessaryDataLocations, // Add "unnecessary locations" property so the IDE fades the right locations. DiagnosticProperties.Add(WellKnownDiagnosticTags.Unnecessary, $"[{string.Join(",", Enumerable.Range(0, UnnecessaryDataLocations.Length))}]"), - UnnecessaryDataDetails, - elementName); + UnnecessaryDataName, + elementName, + UnnecessaryDataDetails ?? ""); } } - /// - /// Provides the default implementation for - /// - public static bool SupportsByValueMarshalKindDefault(ByValueContentsMarshalKind kind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - { - diagnostic = null; - switch (kind) - { - case ByValueContentsMarshalKind.Default: return true; - case ByValueContentsMarshalKind.In: - diagnostic = new GeneratorDiagnostic.UnnecessaryData(info, context, ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) - { UnnecessaryDataDetails = SR.InAttributeOnlyIsDefault }; - return false; - default: - diagnostic = DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } - } - - public static bool ByValueParameterSupportsByValueMarshalKindByDefault( - ByValueContentsMarshalKind marshalKind, - TypePositionInfo info, - StubCodeContext context, - out GeneratorDiagnostic? diagnostic) - { - if (marshalKind.HasFlag(ByValueContentsMarshalKind.Out)) - { - diagnostic = new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.OutAttributeNotSupportedOnByValueParameters - }; - return true; - } - return GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); - } /// /// Provides an implementation of through /// @@ -156,7 +122,10 @@ public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKi info, context, ImmutableArray.Create(info.ByValueMarshalAttributeLocations.OutLocation)) - { UnnecessaryDataDetails = OutSupportDetails }, + { + UnnecessaryDataName = SR.InOutAttributes, + UnnecessaryDataDetails = OutSupportDetails + }, ByValueMarshalKindSupport.NotSupported => new GeneratorDiagnostic.NotSupported( info, @@ -174,7 +143,10 @@ public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKi info, context, ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) - { UnnecessaryDataDetails = InSupportDetails }, + { + UnnecessaryDataName = SR.InOutAttributes, + UnnecessaryDataDetails = InSupportDetails + }, ByValueMarshalKindSupport.NotSupported => new GeneratorDiagnostic.NotSupported( info, @@ -194,7 +166,10 @@ public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKi ImmutableArray.Create( info.ByValueMarshalAttributeLocations.InLocation, info.ByValueMarshalAttributeLocations.OutLocation)) - { UnnecessaryDataDetails = InOutSupportDetails }, + { + UnnecessaryDataName = SR.InOutAttributes, + UnnecessaryDataDetails = InOutSupportDetails + }, ByValueMarshalKindSupport.NotSupported => new GeneratorDiagnostic.NotSupported( info, @@ -208,38 +183,5 @@ public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKi } } } - - /// - /// Gets the default warnings for supported / unsupported / unnecessary ByValueMarshalKindSupport - /// - public static GeneratorDiagnostic DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport support, TypePositionInfo info, StubCodeContext context) - { - switch (support) - { - case ByValueMarshalKindSupport.Supported: - throw new ArgumentException("Supported ByValueMarshalKind will not have a diagnostic"); - case ByValueMarshalKindSupport.NotSupported: - return new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.InOutAttributeMarshalerNotSupported - }; - case ByValueMarshalKindSupport.Unnecessary: - var locations = ImmutableArray.Empty; - if (info.ByValueMarshalAttributeLocations.InLocation is not null) - { - locations = locations.Add(info.ByValueMarshalAttributeLocations.InLocation); - } - if (info.ByValueMarshalAttributeLocations.OutLocation is not null) - { - locations = locations.Add(info.ByValueMarshalAttributeLocations.OutLocation); - } - return new GeneratorDiagnostic.UnnecessaryData(info, context, locations) - { - UnnecessaryDataDetails = SR.InOutAttributes - }; - default: - throw new UnreachableException("Unexpected ByValueMarshalKindSupport"); - } - } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs index 3e673fdf8ed93..9ee28fa89ec61 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs @@ -235,7 +235,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.SupportsByValueMarshalKindDefault(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs index aca53acf2bb29..f41c7d0f1986a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs @@ -104,7 +104,7 @@ private IEnumerable GeneratePinningPath(TypePositionInfo info, } } - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) { if (marshalKind is ByValueContentsMarshalKind.In) { @@ -112,9 +112,9 @@ public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, T { NotSupportedDetails = SR.InAttributeNotSupportedWithoutOutBlittableArray }; - return false; + return ByValueMarshalKindSupport.NotSupported; } - return _innerMarshallingGenerator.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); + return GeneratorDiagnostic.ByValueMarshalKindSupportManager.PinnedByReferenceParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs index 3f1c29dd46efa..e5c06e2f51997 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs @@ -164,7 +164,7 @@ IEnumerable GenerateStatementsFromInner(StubCodeContext context public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => _inner.GetNativeSignatureBehavior(info); public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => _inner.GetValueBoundaryBehavior(info, context); public bool IsSupported(TargetFramework target, Version version) => _inner.IsSupported(target, version); - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) => _inner.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => _inner.UsesNativeIdentifier(info, context); } diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs index 33100b9e7ad24..a980bcea7745f 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs @@ -51,15 +51,32 @@ private string UnmanagedCallConv(Type[]? CallConvs = null) public static readonly string DisableRuntimeMarshalling = "[assembly:System.Runtime.CompilerServices.DisableRuntimeMarshalling]"; public static readonly string UsingSystemRuntimeInteropServicesMarshalling = "using System.Runtime.InteropServices.Marshalling;"; - public string InAttributedBlittableArray => $$""" + + public const string IntStructAndMarshaller = IntStructDefinition + IntStructMarshallerDefinition; + public const string IntStructDefinition = """ + internal struct IntStruct + { + public int Field; + } + """; + public const string IntStructMarshallerDefinition = """ + [CustomMarshaller(typeof(IntStruct), MarshalMode.Default, typeof(IntStructMarshaller))] + internal static class IntStructMarshaller + { + public static nint ConvertToUnmanaged(int managed) => (nint)0; + public static IntStruct ConvertToManaged(nint unmanaged) => default; + } + """; + + public string ByValueMarshallingOfType(string preTypeModifierOrAttribute, string parameterType, string parameterName, (StringMarshalling? StringMarshalling, string? StringMarshallingCustomType)? stringMarshalling = null) => $$""" using System.Runtime.InteropServices; using System.Runtime.InteropServices.Marshalling; - {{GeneratedComInterface()}} + {{GeneratedComInterface(stringMarshalling?.)}} partial interface INativeAPI { {{VirtualMethodIndex(0)}} - void Method([InAttribute] int[] parameter); + void Method({{preTypeModifierOrAttribute}} {{parameterType}} {{parameterName}}); } """; diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index 46233af677e3f..d2969b3ad5367 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -545,6 +545,161 @@ public async Task VerifyInterfaceWithLessVisibilityThanInterfaceWarns(string id, await VerifyComInterfaceGenerator.VerifySourceGeneratorAsync(source, diagnostics); } + public static IEnumerable ByValueMarshalAttributeOnValueTypes() + { + var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); + const string inAttribute = "[{|#1:InAttribute|}]"; + const string outAttribute = "[{|#2:OutAttribute|}]"; + const string paramName = "p"; + string paramNameWithLocation = $$"""{|#0:{{paramName}}|}"""; + var inAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) + .WithLocation(0) + .WithLocation(1) + .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); + + + // [In] is default for all non-pinned marshalled types + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute, "int", paramNameWithLocation), new DiagnosticResult[] { + inAttributeIsDefaultDiagnostic, + //https://github.com/dotnet/runtime/issues/88540 + inAttributeIsDefaultDiagnostic } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute, "byte", paramNameWithLocation), new DiagnosticResult[] { + inAttributeIsDefaultDiagnostic, + //https://github.com/dotnet/runtime/issues/88540 + inAttributeIsDefaultDiagnostic } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+"[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { + inAttributeIsDefaultDiagnostic, + //https://github.com/dotnet/runtime/issues/88540 + inAttributeIsDefaultDiagnostic } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute, "[MarshalAs(UnmanagedType.U2)] char", paramNameWithLocation), new DiagnosticResult[] { + inAttributeIsDefaultDiagnostic, + //https://github.com/dotnet/runtime/issues/88540 + inAttributeIsDefaultDiagnostic } }; + + // [Out] is not allowed on value types passed by value - there is no indirection for the callee to make visible modifications. + var outAttributeNotSupportedOnValueParameters = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, paramName); + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute, "int", paramNameWithLocation), new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters } }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(outAttribute, "IntStruct", paramNameWithLocation) + CodeSnippets.IntStructAndMarshaller, + new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters, + } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute+"[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters + } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute, "[MarshalAs(UnmanagedType.U2)] char", paramNameWithLocation), new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters + } }; + // [In,Out] should only warn for Out attribute + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+outAttribute, "int", paramNameWithLocation), new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters } }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute+outAttribute, "IntStruct", paramNameWithLocation) + CodeSnippets.IntStructAndMarshaller, + new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters, + } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+outAttribute+"[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters + } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+outAttribute, "[MarshalAs(UnmanagedType.U2)] char", paramNameWithLocation), new DiagnosticResult[] { + outAttributeNotSupportedOnValueParameters, + //https://github.com/dotnet/runtime/issues/88540 + outAttributeNotSupportedOnValueParameters + } }; + + // Any ref keyword is okay for value types + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("out", "IntStruct", paramNameWithLocation) + CodeSnippets.IntStructAndMarshaller, + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("out", "byte", paramNameWithLocation), + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("", "[MarshalAs(UnmanagedType.U2)] out char", paramNameWithLocation), + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("in", "IntStruct", paramNameWithLocation) + CodeSnippets.IntStructAndMarshaller, + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("in", "byte", paramNameWithLocation), + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("", "[MarshalAs(UnmanagedType.U2)] in char", paramNameWithLocation), + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("ref", "IntStruct", paramNameWithLocation) + CodeSnippets.IntStructAndMarshaller, + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("ref", "byte", paramNameWithLocation), + new DiagnosticResult[] {} + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("", "[MarshalAs(UnmanagedType.U2)] ref char", paramNameWithLocation), + new DiagnosticResult[] {} + }; + } + public static IEnumerable ByValueMarshalAttributeOnValueTypes() + { + var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); + const string inAttribute = "[{|#1:InAttribute|}]"; + const string outAttribute = "[{|#2:OutAttribute|}]"; + const string paramName = "p"; + string paramNameWithLocation = $$"""{|#0:{{paramName}}|}"""; + var inAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) + .WithLocation(0) + .WithLocation(1) + .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute, "[MarshalAs(UnmanagedType.U2)] ref char", paramNameWithLocation), + new DiagnosticResult[] {} + }; + + } + + [Theory] + [MemberData(nameof(ByValueMarshalAttributeOnValueTypes))] + public async Task VerifyInvalidByValueMarshallingAttributeUsageWarns(string id, string source, DiagnosticResult[] diagnostics) + { + _ = id; + await VerifyComInterfaceGenerator.VerifySourceGeneratorAsync(source, diagnostics); + } + [Fact] public async Task VerifyNonPartialInterfaceWarns() { diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index 46243d335e022..9aa2f8f9e4e69 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -379,23 +379,25 @@ public static IEnumerable CodeSnippetsToCompile() } }; // By value non-array with [In, Out] attributes - yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new[] { - VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("{|#1:In|}"), new [] { + VerifyCS.Diagnostic(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) .WithLocation(0) - .WithArguments(SR.InOutAttributesNotSupportedOnByValueParameters, "p") + .WithLocation(1) + .WithArguments(SR.InOutAttributes, "p", SR.InAttributeOnlyIsDefault) + .WithSeverity(DiagnosticSeverity.Info) } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.InOutAttributeMarshalerNotSupported, "p") + .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, "p") } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In, Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR., "p") + .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, "p") } }; // LCIDConversion diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/Compiles.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/Compiles.cs index 1c3bae10f095a..f87474a59ea87 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/Compiles.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/Compiles.cs @@ -1,26 +1,24 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using Microsoft.Interop.UnitTests; -using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.CSharp.Syntax; using System; using System.Collections.Generic; +using System.Collections.Immutable; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using System.Text; +using System.Threading; using System.Threading.Tasks; -using Xunit; -using SourceGenerators.Tests; - -using VerifyCS = Microsoft.Interop.UnitTests.Verifiers.CSharpSourceGeneratorVerifier; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Testing; -using System.Collections.Immutable; -using System.Threading; using Microsoft.CodeAnalysis.Text; -using System.Text; +using Microsoft.Interop.UnitTests; +using Xunit; using GeneratorDiagnostics = Microsoft.Interop.GeneratorDiagnostics; +using VerifyCS = Microsoft.Interop.UnitTests.Verifiers.CSharpSourceGeneratorVerifier; namespace LibraryImportGenerator.UnitTests { @@ -474,7 +472,7 @@ private class PreprocessorTest : VerifyCS.Test private readonly IEnumerable _preprocessorSymbols; public PreprocessorTest(IEnumerable preprocessorSymbols) - :base(referenceAncillaryInterop: false) + : base(referenceAncillaryInterop: false) { _preprocessorSymbols = preprocessorSymbols; } @@ -544,7 +542,7 @@ class FallbackForwarderTest : VerifyCS.Test private readonly bool _expectFallbackForwarder; public FallbackForwarderTest(TestTargetFramework targetFramework, bool expectFallbackForwarder) - :base(targetFramework) + : base(targetFramework) { _expectFallbackForwarder = expectFallbackForwarder; } @@ -587,7 +585,7 @@ public async Task ValidateSnippetsWithBlittableAutoForwarding(string id, string class BlittableAutoForwarderTest : VerifyCS.Test { public BlittableAutoForwarderTest() - :base(referenceAncillaryInterop: false) + : base(referenceAncillaryInterop: false) { } @@ -651,8 +649,8 @@ public static IEnumerable CodeSnippetsToCompileWithMarshalType() } #pragma warning disable xUnit1004 // Test methods should not be skipped. - // If we have any new experimental APIs that we are implementing that have not been approved, - // we will add new scenarios for this test. + // If we have any new experimental APIs that we are implementing that have not been approved, + // we will add new scenarios for this test. [Theory(Skip = "No current scenarios to test.")] #pragma warning restore xUnit1004 [MemberData(nameof(CodeSnippetsToCompileWithMarshalType))] @@ -728,11 +726,11 @@ public async Task ValidateNoGeneratedOuptutForNoImport(string id, string source, class NoChangeTest : VerifyCS.Test { public NoChangeTest(TestTargetFramework framework) - :base(framework) + : base(framework) { } - protected async override Task<(Compilation compilation, ImmutableArray generatorDiagnostics)> GetProjectCompilationAsync(Project project, IVerifier verifier, CancellationToken cancellationToken) + protected override async Task<(Compilation compilation, ImmutableArray generatorDiagnostics)> GetProjectCompilationAsync(Project project, IVerifier verifier, CancellationToken cancellationToken) { var originalCompilation = await project.GetCompilationAsync(cancellationToken); var (newCompilation, diagnostics) = await base.GetProjectCompilationAsync(project, verifier, cancellationToken); @@ -744,13 +742,7 @@ public NoChangeTest(TestTargetFramework framework) public static IEnumerable ByValueMarshalKindSnippets() { // Blittable array - yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("{|#10:Out|}"), new[] - { - VerifyCS.Diagnostic(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) - .WithLocation(0) - .WithLocation(10) - .WithArguments("[In] and [Out] attributes", "p") - } }; + yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("{|#10:Out|}"), new DiagnosticResult[] { } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("{|#10:In|}, {|#11:Out|}"), new[] { @@ -758,7 +750,7 @@ public static IEnumerable ByValueMarshalKindSnippets() .WithLocation(0) .WithLocation(10) .WithLocation(11) - .WithArguments("[In] and [Out] attributes", "p") + .WithArguments("[In] and [Out] attributes", "p", SR.PinnedMarshallingIsInOutByDefault) } }; } diff --git a/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs b/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs index e586a04573c9f..b57f46f535aa9 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs @@ -12,5 +12,6 @@ namespace SharedTypes.ComInterfaces internal partial interface IEmpty { public const string _guid = "95D19F50-F2D8-4E61-884B-0A9162EA4646"; + void Method([In][MarshalAs(UnmanagedType.U2)] char p); } } From 7d2ac74a209f79f33d977d8aba3fb8d9bdaecc37 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Mon, 10 Jul 2023 16:31:47 -0700 Subject: [PATCH 09/26] Test cases done, filed / prepped issues for problems I hit --- .../Marshaling/BaseJSGenerator.cs | 2 +- .../Marshaling/EmptyJSGenerator.cs | 7 +- .../ByValueContentsMarshalKindValidator.cs | 4 +- .../CodeSnippets.cs | 30 ++- .../CompileFails.cs | 206 ++++++++++++++++-- .../StringTests.cs | 2 +- .../SharedTypes/ComInterfaces/IEmpty.cs | 1 - 7 files changed, 224 insertions(+), 28 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs index d05fa68752bb3..97d158bb319de 100644 --- a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/BaseJSGenerator.cs @@ -26,7 +26,7 @@ protected BaseJSGenerator(MarshalerType marshalerType, IMarshallingGenerator inn public virtual bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => _inner.UsesNativeIdentifier(info, context); public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => _inner.GetNativeSignatureBehavior(info); public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => _inner.GetValueBoundaryBehavior(info, context); - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) => _inner.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); public virtual IEnumerable GenerateBind(TypePositionInfo info, StubCodeContext context) diff --git a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs index 11116a858988a..48ffbe6ea0293 100644 --- a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs @@ -15,11 +15,8 @@ internal sealed class EmptyJSGenerator : IJSMarshallingGenerator public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => SignatureBehavior.ManagedTypeAndAttributes; public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => false; - public bool SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - { - diagnostic = GeneratorDiagnostic.DefaultDiagnosticForByValueGeneratorSupport(ByValueMarshalKindSupport.NotSupported, info, context); - return false; - } + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index d2f32899a9520..1c4f9d5440b0e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -41,11 +41,11 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf })); } - var support = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic diagnostic); + var support = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic? diagnostic); return support switch { ByValueMarshalKindSupport.Supported => generator, - ByValueMarshalKindSupport.NotSupported => ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(diagnostic)), + ByValueMarshalKindSupport.NotSupported => ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(diagnostic!)), ByValueMarshalKindSupport.Unnecessary => generator with { Diagnostics = generator.Diagnostics.Add(diagnostic!) }, _ => throw new UnreachableException() }; diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs index a980bcea7745f..04ba3b30e83d0 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CodeSnippets.cs @@ -51,6 +51,32 @@ private string UnmanagedCallConv(Type[]? CallConvs = null) public static readonly string DisableRuntimeMarshalling = "[assembly:System.Runtime.CompilerServices.DisableRuntimeMarshalling]"; public static readonly string UsingSystemRuntimeInteropServicesMarshalling = "using System.Runtime.InteropServices.Marshalling;"; + public const string IntMarshaller = """ + [CustomMarshaller(typeof(int), MarshalMode.Default, typeof(IntMarshaller))] + internal static class IntMarshaller + { + public struct IntNative + { + public int i; + } + public static IntNative ConvertToUnmanaged(int managed) => new IntNative() { i = managed }; + public static int ConvertToManaged(IntNative unmanaged) => unmanaged.i; + } + """; + public const string IntClassAndMarshaller = """ + [NativeMarshalling(typeof(IntClassMarshaller))] + internal class IntClass + { + public int Field; + } + [CustomMarshaller(typeof(IntClass), MarshalMode.Default, typeof(IntClassMarshaller))] + internal static class IntClassMarshaller + { + public static IntClass ConvertToManaged(nint unmanaged) => default; + + public static nint ConvertToUnmanaged(IntClass managed) => (nint)0; + } + """; public const string IntStructAndMarshaller = IntStructDefinition + IntStructMarshallerDefinition; public const string IntStructDefinition = """ @@ -68,11 +94,11 @@ internal static class IntStructMarshaller } """; - public string ByValueMarshallingOfType(string preTypeModifierOrAttribute, string parameterType, string parameterName, (StringMarshalling? StringMarshalling, string? StringMarshallingCustomType)? stringMarshalling = null) => $$""" + public string ByValueMarshallingOfType(string preTypeModifierOrAttribute, string parameterType, string parameterName, (StringMarshalling? StringMarshalling, Type? StringMarshallingCustomType)? stringMarshalling = null) => $$""" using System.Runtime.InteropServices; using System.Runtime.InteropServices.Marshalling; - {{GeneratedComInterface(stringMarshalling?.)}} + {{GeneratedComInterface(stringMarshalling?.StringMarshalling, stringMarshalling?.StringMarshallingCustomType)}} partial interface INativeAPI { {{VirtualMethodIndex(0)}} diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index d2969b3ad5367..5f4e5971caab9 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -567,14 +567,15 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() inAttributeIsDefaultDiagnostic, //https://github.com/dotnet/runtime/issues/88540 inAttributeIsDefaultDiagnostic } }; - yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+"[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { - inAttributeIsDefaultDiagnostic, - //https://github.com/dotnet/runtime/issues/88540 - inAttributeIsDefaultDiagnostic } }; - yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute, "[MarshalAs(UnmanagedType.U2)] char", paramNameWithLocation), new DiagnosticResult[] { + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + "[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { inAttributeIsDefaultDiagnostic, //https://github.com/dotnet/runtime/issues/88540 inAttributeIsDefaultDiagnostic } }; + // new issue before merge: char generated code doesn't seem to work well with [In, Out] + //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + "[MarshalAs(UnmanagedType.U2)]", "char", paramNameWithLocation), new DiagnosticResult[] { + // inAttributeIsDefaultDiagnostic, + // //https://github.com/dotnet/runtime/issues/88540 + // inAttributeIsDefaultDiagnostic } }; // [Out] is not allowed on value types passed by value - there is no indirection for the callee to make visible modifications. var outAttributeNotSupportedOnValueParameters = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) @@ -588,11 +589,11 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() ID(), codeSnippets.ByValueMarshallingOfType(outAttribute, "IntStruct", paramNameWithLocation) + CodeSnippets.IntStructAndMarshaller, new DiagnosticResult[] { - outAttributeNotSupportedOnValueParameters, + outAttributeNotSupportedOnValueParameters, //https://github.com/dotnet/runtime/issues/88540 - outAttributeNotSupportedOnValueParameters, + outAttributeNotSupportedOnValueParameters, } }; - yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute+"[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute + "[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { outAttributeNotSupportedOnValueParameters, //https://github.com/dotnet/runtime/issues/88540 outAttributeNotSupportedOnValueParameters @@ -611,16 +612,16 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+outAttribute, "IntStruct", paramNameWithLocation) + CodeSnippets.IntStructAndMarshaller, new DiagnosticResult[] { - outAttributeNotSupportedOnValueParameters, + outAttributeNotSupportedOnValueParameters, //https://github.com/dotnet/runtime/issues/88540 - outAttributeNotSupportedOnValueParameters, + outAttributeNotSupportedOnValueParameters, } }; - yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+outAttribute+"[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + "[MarshalAs(UnmanagedType.U4)]", "bool", paramNameWithLocation), new DiagnosticResult[] { outAttributeNotSupportedOnValueParameters, //https://github.com/dotnet/runtime/issues/88540 outAttributeNotSupportedOnValueParameters } }; - yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute+outAttribute, "[MarshalAs(UnmanagedType.U2)] char", paramNameWithLocation), new DiagnosticResult[] { + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute, "[MarshalAs(UnmanagedType.U2)] char", paramNameWithLocation), new DiagnosticResult[] { outAttributeNotSupportedOnValueParameters, //https://github.com/dotnet/runtime/issues/88540 outAttributeNotSupportedOnValueParameters @@ -673,7 +674,8 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() new DiagnosticResult[] {} }; } - public static IEnumerable ByValueMarshalAttributeOnValueTypes() + + public static IEnumerable ByValueMarshalAttributeOnReferenceTypes() { var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); const string inAttribute = "[{|#1:InAttribute|}]"; @@ -684,17 +686,189 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() .WithLocation(0) .WithLocation(1) .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); + + // [In] is default yield return new object[] { ID(), - codeSnippets.ByValueMarshallingOfType(inAttribute, "[MarshalAs(UnmanagedType.U2)] ref char", paramNameWithLocation), - new DiagnosticResult[] {} + codeSnippets.ByValueMarshallingOfType(inAttribute, "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), + new DiagnosticResult[] { inAttributeIsDefaultDiagnostic, inAttributeIsDefaultDiagnostic } + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute, "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, + new DiagnosticResult[] { inAttributeIsDefaultDiagnostic, inAttributeIsDefaultDiagnostic } + }; + + // [Out] is not allowed on strings + // https://github.com/dotnet/runtime/issues/88438 + //yield return new object[] { + // ID(), + // codeSnippets.ByValueMarshallingOfType(inAttribute, "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), + // new DiagnosticResult[] { } + //}; + + // [Out] is fine on classes + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(outAttribute, "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, + new DiagnosticResult[] { } + }; + + // [In,Out] is fine on classes + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute, "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, + new DiagnosticResult[] { } + }; + + // All refkinds are okay on classes and strings + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("in", "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), + new DiagnosticResult[] { } + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("in", "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, + new DiagnosticResult[] { } + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("out", "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), + new DiagnosticResult[] { } + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("out", "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, + new DiagnosticResult[] { } + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("ref", "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), + new DiagnosticResult[] { } + }; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType("ref", "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, + new DiagnosticResult[] { } + }; + } + + public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTypes() + { + var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); + const string inAttribute = "[{|#1:InAttribute|}]"; + const string outAttribute = "[{|#2:OutAttribute|}]"; + const string paramName = "p"; + string paramNameWithLocation = $$"""{|#0:{{paramName}}|}"""; + const string constElementCount = @"[MarshalUsing(ConstantElementCount = 10)]"; + var inAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) + .WithLocation(0) + .WithLocation(1) + .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); + // Pinned arrays cannot be [In] + var inAttributeNotSupportedOnBlittableArray = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, paramName); + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "int[]", paramNameWithLocation), new DiagnosticResult[] { + inAttributeNotSupportedOnBlittableArray, + //https://github.com/dotnet/runtime/issues/88540 + inAttributeIsDefaultDiagnostic + }}; + // new issue before merge: char generated code doesn't seem to work well with [In, Out] + //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), new DiagnosticResult[] { + // inAttributeNotSupportedOnBlittableArray, + //}}; + + // bools that are marshalled into a new array are okay + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType( + inAttribute + "[MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.U1, SizeConst = 10)]", + "bool[]", + paramNameWithLocation, + (StringMarshalling.Utf16, null)), + new DiagnosticResult[] { } + }; + // Overriding marshalling with a custom marshaller makes it not pinned + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute, "[MarshalUsing(typeof(IntMarshaller), ElementIndirectionDepth = 1), MarshalUsing(ConstantElementCount = 10)]int[]", paramNameWithLocation) + CodeSnippets.IntMarshaller, + new DiagnosticResult[] { } }; + // [In, Out] is default + var inOutAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) + .WithLocation(0) + .WithLocation(1) + .WithLocation(2) + .WithArguments(SR.InOutAttributes, paramName, SR.PinnedMarshallingIsInOutByDefault); + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "int[]", paramNameWithLocation), + new DiagnosticResult[] { inOutAttributeIsDefaultDiagnostic } + }; + // new issue before merge: char generated code doesn't seem to work well with [In, Out] + //yield return new object[] { + // ID(), + // codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), + // //https://github.com/dotnet/runtime/issues/88540 + // new DiagnosticResult[] { inOutAttributeIsDefaultDiagnostic } + //}; + + // [Out] Should not warn + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "int[]", paramNameWithLocation), + new DiagnosticResult[] { } + }; + // new issue before merge: char generated code doesn't seem to work well with [In, Out] + //yield return new object[] { + // ID(), + // codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), + // new DiagnosticResult[] { } + //}; + } + + public static IEnumerable ByValueMarshalAttributeTest() + { + var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); + const string inAttribute = "[{|#1:InAttribute|}]"; + const string outAttribute = "[{|#2:OutAttribute|}]"; + const string constElementCount = @"[MarshalUsing(ConstantElementCount = 10)]"; + const string paramName = "p"; + string paramNameWithLocation = $$"""{|#0:{{paramName}}|}"""; + var inAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) + .WithLocation(0) + .WithLocation(1) + .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); + //const string constElementCount = @"[MarshalUsing(ConstantElementCount = 10)]"; + // Pinned arrays cannot be [In] + var inAttributeNotSupportedOnBlittableArray = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, paramName); + //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + "[MarshalAs(UnmanagedType.U2)]", "char", paramNameWithLocation), new DiagnosticResult[] { + // inAttributeIsDefaultDiagnostic, + // //https://github.com/dotnet/runtime/issues/88540 + // inAttributeIsDefaultDiagnostic } }; + //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "int[]", paramNameWithLocation), new DiagnosticResult[] { + // //https://github.com/dotnet/runtime/issues/88540 + // inAttributeNotSupportedOnBlittableArray + //}}; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), + new DiagnosticResult[] { } + }; + yield break; } [Theory] [MemberData(nameof(ByValueMarshalAttributeOnValueTypes))] - public async Task VerifyInvalidByValueMarshallingAttributeUsageWarns(string id, string source, DiagnosticResult[] diagnostics) + [MemberData(nameof(ByValueMarshalAttributeOnReferenceTypes))] + [MemberData(nameof(ByValueMarshalAttributeOnPinnedMarshalledTypes))] + //[MemberData(nameof(ByValueMarshalAttributeTest))] + public async Task VerifyByValueMarshallingAttributeUsage(string id, string source, DiagnosticResult[] diagnostics) { _ = id; await VerifyComInterfaceGenerator.VerifySourceGeneratorAsync(source, diagnostics); diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs index 8fdef4ce580e0..89a580c7db9b4 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs @@ -268,7 +268,7 @@ public partial class Utf8 public class StringTests { - public static IEnumerable UnicodeStrings() => new [] + public static IEnumerable UnicodeStrings() => new[] { new object[] { "ABCdef 123$%^" }, new object[] { "\uD83C\uDF5C !! \uD83C\uDF5C !!"}, diff --git a/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs b/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs index b57f46f535aa9..e586a04573c9f 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/TestAssets/SharedTypes/ComInterfaces/IEmpty.cs @@ -12,6 +12,5 @@ namespace SharedTypes.ComInterfaces internal partial interface IEmpty { public const string _guid = "95D19F50-F2D8-4E61-884B-0A9162EA4646"; - void Method([In][MarshalAs(UnmanagedType.U2)] char p); } } From a698ae22493d96b4280885b134d2ed14ede47374 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Mon, 10 Jul 2023 16:36:21 -0700 Subject: [PATCH 10/26] undo unnecessary changes --- eng/resources.targets | 2 +- .../src/System.Private.CoreLib.Shared.projitems | 8 ++++---- .../ComInterfaceGenerator/DiagnosticDescriptorProvider.cs | 4 +++- .../Common/Verifiers/CSharpSourceGeneratorVerifier.cs | 7 +++++-- .../tests/LibraryImportGenerator.Tests/StringTests.cs | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/eng/resources.targets b/eng/resources.targets index 582314a24b368..65b880d91a7f7 100644 --- a/eng/resources.targets +++ b/eng/resources.targets @@ -12,7 +12,7 @@ - + diff --git a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems index 5b7c004b9bc44..439ee87e6868f 100644 --- a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems +++ b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems @@ -2592,11 +2592,11 @@ - + - - + + @@ -2666,4 +2666,4 @@ - \ No newline at end of file + diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.cs index 37ea0d4869333..c676f27cb9f40 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/DiagnosticDescriptorProvider.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.Collections.Generic; +using System.Text; using Microsoft.CodeAnalysis; namespace Microsoft.Interop @@ -19,7 +22,6 @@ internal sealed class DiagnosticDescriptorProvider : IDiagnosticDescriptorProvid { GeneratorDiagnostic.NotSupported { NotSupportedDetails: null, TypePositionInfo: { IsManagedReturnPosition: true, MarshallingAttributeInfo: MarshalAsInfo } } => GeneratorDiagnostics.MarshalAsReturnConfigurationNotSupported, GeneratorDiagnostic.NotSupported { NotSupportedDetails: null, TypePositionInfo: { IsManagedReturnPosition: false, MarshallingAttributeInfo: MarshalAsInfo } } => GeneratorDiagnostics.MarshalAsParameterConfigurationNotSupported, - // Case for Blittable array GeneratorDiagnostic.NotSupported { NotSupportedDetails: not null, TypePositionInfo.IsManagedReturnPosition: true } => GeneratorDiagnostics.ReturnTypeNotSupportedWithDetails, GeneratorDiagnostic.NotSupported { NotSupportedDetails: not null, TypePositionInfo.IsManagedReturnPosition: false } => GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails, GeneratorDiagnostic.UnnecessaryData { TypePositionInfo.IsManagedReturnPosition: false } => GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo, diff --git a/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs b/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs index 12793e5290b07..1af721d9dfc5c 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/Common/Verifiers/CSharpSourceGeneratorVerifier.cs @@ -4,11 +4,14 @@ using System; using System.Collections.Immutable; using System.Diagnostics; +using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Testing; +using Microsoft.CodeAnalysis.CSharp.Testing.XUnit; using Microsoft.CodeAnalysis.Diagnostics; using Microsoft.CodeAnalysis.Testing; using Microsoft.CodeAnalysis.Testing.Verifiers; @@ -103,7 +106,7 @@ public Test(TestTargetFramework targetFramework) SolutionTransforms.Add(CSharpVerifierHelper.GetTargetFrameworkAnalyzerOptionsProviderTransform(targetFramework)); } public Test(bool referenceAncillaryInterop) - : this(TestTargetFramework.Net) + :this(TestTargetFramework.Net) { if (referenceAncillaryInterop) { @@ -145,7 +148,7 @@ protected override ParseOptions CreateParseOptions() return new CSharpParseOptions(LanguageVersion.Preview, DocumentationMode.Diagnose); } - protected override async Task<(Compilation compilation, ImmutableArray generatorDiagnostics)> GetProjectCompilationAsync(Project project, IVerifier verifier, CancellationToken cancellationToken) + protected async override Task<(Compilation compilation, ImmutableArray generatorDiagnostics)> GetProjectCompilationAsync(Project project, IVerifier verifier, CancellationToken cancellationToken) { var (compilation, diagnostics) = await base.GetProjectCompilationAsync(project, verifier, cancellationToken); VerifyFinalCompilation(compilation); diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs index 89a580c7db9b4..8fdef4ce580e0 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.Tests/StringTests.cs @@ -268,7 +268,7 @@ public partial class Utf8 public class StringTests { - public static IEnumerable UnicodeStrings() => new[] + public static IEnumerable UnicodeStrings() => new [] { new object[] { "ABCdef 123$%^" }, new object[] { "\uD83C\uDF5C !! \uD83C\uDF5C !!"}, From 0a848275311ec9ad493874439fdfdeb9b0cf25c8 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 09:41:36 -0700 Subject: [PATCH 11/26] Update src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshalling/ByValueContentsMarshalKindValidator.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index 1c4f9d5440b0e..f4e272a48b8b0 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -30,6 +30,7 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf if (generator.Generator is Forwarder || info.ByValueContentsMarshalKind == ByValueContentsMarshalKind.Default) { // Forwarder allows everything since it just forwards to a P/Invoke. + // The Default marshal kind is always valid. return generator; } From c48213e5ff3d653338510bbca4236e33527e28b3 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Tue, 11 Jul 2023 09:50:38 -0700 Subject: [PATCH 12/26] Don't generate invalid UnmanagedCallersOnly wrappers. Instead, just skip generation of the wrappers if we have any diagnostics. --- .../gen/ComInterfaceGenerator/ComInterfaceGenerator.cs | 7 ++++++- .../tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs | 2 -- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs index 912232c4c61a8..b6d158272815e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs @@ -417,6 +417,7 @@ private static InterfaceDeclarationSyntax GenerateImplementationVTableMethods(Co comInterfaceAndMethods.DeclaredMethods .Select(m => m.UnmanagedToManagedStub) .OfType() + .Where(context => context.Diagnostics.Length == 0) .Select(context => context.Stub.Node))); } @@ -577,7 +578,11 @@ private static InterfaceDeclarationSyntax GenerateImplementationVTable(ComInterf }))))); } - var vtableSlotAssignments = VirtualMethodPointerStubGenerator.GenerateVirtualMethodTableSlotAssignments(interfaceMethodStubs, vtableLocalName); + var vtableSlotAssignments = VirtualMethodPointerStubGenerator.GenerateVirtualMethodTableSlotAssignments( + interfaceMethods.Methods + .Where(context => context.GenerationContext.Diagnostics.Length == 0 && context.UnmanagedToManagedStub.Diagnostics.Length == 0) + .Select(context => context.GenerationContext), + vtableLocalName); return ImplementationInterfaceTemplate .AddMembers( diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index 6414edf0ae50a..93d95440ddddf 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -355,8 +355,6 @@ public async Task ValidateInvalidUnmanagedToManagedCodeSnippets(string id, strin { TestCode = source, TestBehaviors = TestBehaviors.SkipGeneratedSourcesCheck, - // Our fallback mechanism for invalid code for unmanaged->managed stubs sometimes generates invalid code. - CompilerDiagnostics = CompilerDiagnostics.None, }; test.ExpectedDiagnostics.AddRange(expectedDiagnostics); await test.RunAsync(); From d324406727e1b441457c64fd7c880a63fc1d069b Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Tue, 11 Jul 2023 11:42:18 -0700 Subject: [PATCH 13/26] Only filter on the unmanaged to managed stub diagnostics. --- .../gen/ComInterfaceGenerator/ComInterfaceGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs index b6d158272815e..8233768bb70d6 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs @@ -580,7 +580,7 @@ private static InterfaceDeclarationSyntax GenerateImplementationVTable(ComInterf var vtableSlotAssignments = VirtualMethodPointerStubGenerator.GenerateVirtualMethodTableSlotAssignments( interfaceMethods.Methods - .Where(context => context.GenerationContext.Diagnostics.Length == 0 && context.UnmanagedToManagedStub.Diagnostics.Length == 0) + .Where(context => context.UnmanagedToManagedStub.Diagnostics.Length == 0) .Select(context => context.GenerationContext), vtableLocalName); From d3f00a85dc0bd7e029ea050a0d6942c0a895fc84 Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Tue, 11 Jul 2023 11:53:36 -0700 Subject: [PATCH 14/26] Only skip on error diagnostics (we don't want to skip generation because of "unnecessary" diagostics). --- .../gen/ComInterfaceGenerator/ComInterfaceGenerator.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs index 8233768bb70d6..326c4b2902be1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs @@ -417,7 +417,7 @@ private static InterfaceDeclarationSyntax GenerateImplementationVTableMethods(Co comInterfaceAndMethods.DeclaredMethods .Select(m => m.UnmanagedToManagedStub) .OfType() - .Where(context => context.Diagnostics.Length == 0) + .Where(context => context.Diagnostics.Any(diag => diag.Descriptor.DefaultSeverity == DiagnosticSeverity.Error)) .Select(context => context.Stub.Node))); } @@ -580,7 +580,7 @@ private static InterfaceDeclarationSyntax GenerateImplementationVTable(ComInterf var vtableSlotAssignments = VirtualMethodPointerStubGenerator.GenerateVirtualMethodTableSlotAssignments( interfaceMethods.Methods - .Where(context => context.UnmanagedToManagedStub.Diagnostics.Length == 0) + .Where(context => context.UnmanagedToManagedStub.Diagnostics.Any(diag => diag.Descriptor.DefaultSeverity == DiagnosticSeverity.Error)) .Select(context => context.GenerationContext), vtableLocalName); From b4659f1f44ffe9a458f1b51660ef51980d251cdd Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 12:37:45 -0700 Subject: [PATCH 15/26] PR Feedback --- .../System.Private.CoreLib.Shared.projitems | 8 +- .../Marshaling/EmptyJSGenerator.cs | 2 +- .../ComInterfaceDispatchMarshallerFactory.cs | 2 +- ...anagedHResultExceptionMarshallerFactory.cs | 4 +- .../ObjectUnwrapperMarshallerFactory.cs | 2 +- .../gen/Common/Resources/Strings.resx | 12 +- .../gen/Common/Resources/xlf/Strings.cs.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.de.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.es.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.fr.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.it.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.ja.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.ko.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.pl.xlf | 16 ++- .../Common/Resources/xlf/Strings.pt-BR.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.ru.xlf | 16 ++- .../gen/Common/Resources/xlf/Strings.tr.xlf | 16 ++- .../Common/Resources/xlf/Strings.zh-Hans.xlf | 16 ++- .../Common/Resources/xlf/Strings.zh-Hant.xlf | 16 ++- ...ributedMarshallingModelGeneratorFactory.cs | 11 +- .../Marshalling/BlittableMarshaller.cs | 2 +- .../Marshalling/BoolMarshaller.cs | 4 +- .../ByValueContentsMarshalKindValidator.cs | 8 -- .../Marshalling/CharMarshaller.cs | 2 +- .../CustomTypeMarshallingGenerator.cs | 26 ++-- .../Marshalling/DelegateMarshaller.cs | 5 +- .../Marshalling/Forwarder.cs | 5 +- .../Marshalling/GeneratorDiagnostic.cs | 121 ------------------ .../Marshalling/SafeHandleMarshaller.cs | 5 +- .../StaticPinnableManagedValueMarshaller.cs | 6 +- ...nagedToManagedOwnershipTrackingStrategy.cs | 2 +- .../RcwAroundCcwTests.cs | 1 - .../CompileFails.cs | 56 ++------ .../CompileFails.cs | 15 +-- 34 files changed, 233 insertions(+), 274 deletions(-) diff --git a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems index 439ee87e6868f..5b7c004b9bc44 100644 --- a/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems +++ b/src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems @@ -2592,11 +2592,11 @@ - + - - + + @@ -2666,4 +2666,4 @@ - + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs index 48ffbe6ea0293..8fcdd978b2773 100644 --- a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs @@ -16,7 +16,7 @@ internal sealed class EmptyJSGenerator : IJSMarshallingGenerator public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => false; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs index 2acb1987021f2..b3bad173a14b2 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs @@ -62,7 +62,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool IsSupported(TargetFramework target, Version version) => target == TargetFramework.Net && version >= new Version(5, 0); public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ArrayParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs index a944003b0eddd..65d46307a9eec 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs @@ -72,7 +72,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } @@ -110,7 +110,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs index 81e629e79c455..4c3cd757274dc 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs @@ -62,7 +62,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx index 3764998032a46..cafa267ee580f 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx @@ -195,8 +195,8 @@ The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code @@ -877,4 +877,10 @@ The 'in' keyword is not supported on parameters that are marshalled by pinning. Use 'ref' or 'out' instead. - \ No newline at end of file + + '[In]' and '[Out]' attributes are not supported on this type. + + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf index f56d9de3e0246..41d9bc396bb20 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf index c469bb8f42ead..0d6f3a711492a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf index 0b0cccc9c240a..318f2f0b7fda8 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf index b841cf400be6a..5fdf8a84e18d5 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf index f6935f880d63b..f347f62d0bed7 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf index ad86e6cbb8e7c..b3812c19e2e1d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf index 1de1ccc39fa48..2192cb89b0aa3 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf index a6a6a3925a310..65acee5e15b71 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf index 7d98233b424c5..c32030b87cc8b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf index f2ad50ab8f402..d22e7bba4c93b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf index 831f61f9c5c60..cc41d070e9b83 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf index 2efc636a30809..0f8b92fc8ea78 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf index 314c2d13fb729..c3b0f10f0c35e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf @@ -892,9 +892,14 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not supported on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + + + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. @@ -1137,6 +1142,11 @@ '{0}' has accessibility '{1}'. + + '[In]' and '[Out]' attributes are not supported on this type. + '[In]' and '[Out]' attributes are not supported on this type. + + The unmanaged type for a custom marshaller must be a C# unmanaged type. The unmanaged type for a custom marshaller must be a C# unmanaged type. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs index 13844429768d9..08886956c258e 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs @@ -294,7 +294,7 @@ private ResolvedGenerator CreateCustomNativeTypeMarshaller(TypePositionInfo info } } - IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, ByValueMarshalKindSupport.NotSupported); + IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault); if (marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference)) { @@ -426,23 +426,22 @@ private ResolvedGenerator CreateNativeCollectionMarshaller( } } - ByValueMarshalKindSupport byValueMarshalKindSupport; + ByValueMarshalKindSupportDescriptor byValueMarshalKindSupport; if (info.ManagedType is not SzArrayType) { - // We only support the [In] and [Out] attributes on array types. - byValueMarshalKindSupport = ByValueMarshalKindSupport.NotSupported; + byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault; } else if (!elementIsBlittable || ElementTypeIsSometimesNonBlittable(elementInfo)) { // If the type is not blittable or is sometimes not blittable, we will generate different code when the attributes are provided. - byValueMarshalKindSupport = ByValueMarshalKindSupport.Supported; + byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.ArrayParameterDefault; } else { // If the type is always blittable, we'll generate the same code regardless of the attributes, // but we'll allow them to make it easier to transition to source-generated code and allow users to be clear about expectations // for values in pre-allocated buffers. - byValueMarshalKindSupport = ByValueMarshalKindSupport.Unnecessary; + byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.PinnedByReferenceParameterDefault; } IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator( diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs index fe5c7b9c3996c..b23bda49696f6 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs @@ -102,6 +102,6 @@ public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) } public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs index 07bbd75136e28..6dea3384356ae 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs @@ -100,8 +100,8 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } /// diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index f4e272a48b8b0..971f8d6922a56 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -34,14 +34,6 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf return generator; } - if (info.IsByRef) - { - return ResolvedGenerator.ResolvedWithDiagnostics(s_forwarder, generator.Diagnostics.Add(new GeneratorDiagnostic.NotSupported(info, context) - { - NotSupportedDetails = SR.InOutAttributeByRefNotSupported - })); - } - var support = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic? diagnostic); return support switch { diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs index 0d8aebabac60a..ea841427e07b4 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs @@ -146,7 +146,7 @@ public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarsh }; return ByValueMarshalKindSupport.NotSupported; } - return GeneratorDiagnostic.ByValueMarshalKindSupportManager.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + return ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs index fabf5a52846f3..d5307c7611164 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; namespace Microsoft.Interop @@ -14,9 +13,9 @@ namespace Microsoft.Interop internal sealed class CustomTypeMarshallingGenerator : IMarshallingGenerator { private readonly ICustomTypeMarshallingStrategy _nativeTypeMarshaller; - private readonly ByValueMarshalKindSupport _byValueContentsMarshallingSupport; + private readonly ByValueMarshalKindSupportDescriptor _byValueContentsMarshallingSupport; - public CustomTypeMarshallingGenerator(ICustomTypeMarshallingStrategy nativeTypeMarshaller, ByValueMarshalKindSupport byValueContentsMarshallingSupport) + public CustomTypeMarshallingGenerator(ICustomTypeMarshallingStrategy nativeTypeMarshaller, ByValueMarshalKindSupportDescriptor byValueContentsMarshallingSupport) { _nativeTypeMarshaller = nativeTypeMarshaller; _byValueContentsMarshallingSupport = byValueContentsMarshallingSupport; @@ -53,7 +52,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont return _nativeTypeMarshaller.GenerateSetupStatements(info, context); case StubCodeContext.Stage.Marshal: if (elementMarshalDirection is MarshalDirection.ManagedToUnmanaged or MarshalDirection.Bidirectional - || (context.Direction == MarshalDirection.UnmanagedToManaged && ShouldGenerateByValueOutMarshalling(info))) + || (context.Direction == MarshalDirection.UnmanagedToManaged && ShouldGenerateByValueOutMarshalling(info, context))) { return _nativeTypeMarshaller.GenerateMarshalStatements(info, context); } @@ -84,14 +83,14 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont break; case StubCodeContext.Stage.Unmarshal: if (elementMarshalDirection is MarshalDirection.UnmanagedToManaged or MarshalDirection.Bidirectional - || (context.Direction == MarshalDirection.ManagedToUnmanaged && ShouldGenerateByValueOutMarshalling(info))) + || (context.Direction == MarshalDirection.ManagedToUnmanaged && ShouldGenerateByValueOutMarshalling(info, context))) { return _nativeTypeMarshaller.GenerateUnmarshalStatements(info, context); } break; case StubCodeContext.Stage.GuaranteedUnmarshal: if (elementMarshalDirection is MarshalDirection.UnmanagedToManaged or MarshalDirection.Bidirectional - || (context.Direction == MarshalDirection.ManagedToUnmanaged && ShouldGenerateByValueOutMarshalling(info))) + || (context.Direction == MarshalDirection.ManagedToUnmanaged && ShouldGenerateByValueOutMarshalling(info, context))) { return _nativeTypeMarshaller.GenerateGuaranteedUnmarshalStatements(info, context); } @@ -105,9 +104,11 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont return Array.Empty(); } - private bool ShouldGenerateByValueOutMarshalling(TypePositionInfo info) + private bool ShouldGenerateByValueOutMarshalling(TypePositionInfo info, StubCodeContext context) { - return _byValueContentsMarshallingSupport == ByValueMarshalKindSupport.Supported && !info.IsByRef && info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out); + return info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out) + && _byValueContentsMarshallingSupport.GetSupport(info.ByValueContentsMarshalKind, info, context, out _) == ByValueMarshalKindSupport.Supported + && !info.IsByRef; } public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) @@ -115,14 +116,9 @@ public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) return _nativeTypeMarshaller.UsesNativeIdentifier(info, context); } - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) { - if (_byValueContentsMarshallingSupport is ByValueMarshalKindSupport.Supported) - { - diagnostic = null; - return ByValueMarshalKindSupport.Supported; - } - return GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + return _byValueContentsMarshallingSupport.GetSupport(marshalKind, info, context, out diagnostic); } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs index c3284bf8802bf..5e45ce8a873ea 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory; @@ -102,7 +101,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => ByValueMarshalKindSupportDescriptor.ArrayParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs index 761d76bf3274c..3d0087ccc21cf 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Syntax; namespace Microsoft.Interop @@ -34,7 +33,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs index 9bc9c33e203af..22444e79824c9 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/GeneratorDiagnostic.cs @@ -62,126 +62,5 @@ public override DiagnosticInfo ToDiagnosticInfo(DiagnosticDescriptor descriptor, UnnecessaryDataDetails ?? ""); } } - - /// - /// Provides an implementation of through - /// - public record ByValueMarshalKindSupportManager( - ByValueMarshalKindSupport InSupport, string? InSupportDetails, - ByValueMarshalKindSupport OutSupport, string? OutSupportDetails, - ByValueMarshalKindSupport InOutSupport, string? InOutSupportDetails) - { - /// - /// A default for by value parameters. [In] is allowed, but unnecessary. Out is not allowed. - /// - public static ByValueMarshalKindSupportManager ValueTypeParameterDefault = new ByValueMarshalKindSupportManager( - InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, - OutSupport: ByValueMarshalKindSupport.NotSupported, OutSupportDetails: SR.OutAttributeNotSupportedOnByValueParameters, - InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueParameters); - - /// - /// A default for by reference parameters. [In] is allowed, but unnecessary. Out is allowed. - /// - public static ByValueMarshalKindSupportManager ReferenceTypeParameterDefault = new ByValueMarshalKindSupportManager( - InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, - OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, - InOutSupport: ByValueMarshalKindSupport.Supported, InOutSupportDetails: null); - - /// - /// A default for pinned by reference parameters. [In] is not allowed. [In, Out] is the default and unnecessary. [Out] is allowed. - /// - public static ByValueMarshalKindSupportManager PinnedByReferenceParameterDefault = new ByValueMarshalKindSupportManager( - InSupport: ByValueMarshalKindSupport.NotSupported, InSupportDetails: SR.InAttributeOnlyNotSupportedOnPinnedParameters, - OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, - InOutSupport: ByValueMarshalKindSupport.Unnecessary, InOutSupportDetails: SR.PinnedMarshallingIsInOutByDefault); - - /// - /// Returns the support for the ByValueContentsMarshalKind, and if it is not , diagnostic is not null - /// - public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - { - if (info.IsByRef && marshalKind != ByValueContentsMarshalKind.Default) - { - diagnostic = new NotSupported(info, context) - { - NotSupportedDetails = SR.InOutAttributeByRefNotSupported - }; - return ByValueMarshalKindSupport.NotSupported; - } - switch (marshalKind) - { - case ByValueContentsMarshalKind.Default: - diagnostic = null; - return ByValueMarshalKindSupport.Supported; - case ByValueContentsMarshalKind.Out: - diagnostic = OutSupport switch - { - ByValueMarshalKindSupport.Supported => null, - ByValueMarshalKindSupport.Unnecessary - => new GeneratorDiagnostic.UnnecessaryData( - info, - context, - ImmutableArray.Create(info.ByValueMarshalAttributeLocations.OutLocation)) - { - UnnecessaryDataName = SR.InOutAttributes, - UnnecessaryDataDetails = OutSupportDetails - }, - ByValueMarshalKindSupport.NotSupported - => new GeneratorDiagnostic.NotSupported( - info, - context) - { NotSupportedDetails = OutSupportDetails }, - _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") - }; - return OutSupport; - case ByValueContentsMarshalKind.In: - diagnostic = InSupport switch - { - ByValueMarshalKindSupport.Supported => null, - ByValueMarshalKindSupport.Unnecessary - => new GeneratorDiagnostic.UnnecessaryData( - info, - context, - ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) - { - UnnecessaryDataName = SR.InOutAttributes, - UnnecessaryDataDetails = InSupportDetails - }, - ByValueMarshalKindSupport.NotSupported - => new GeneratorDiagnostic.NotSupported( - info, - context) - { NotSupportedDetails = InSupportDetails }, - _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") - }; - return InSupport; - case ByValueContentsMarshalKind.InOut: - diagnostic = InOutSupport switch - { - ByValueMarshalKindSupport.Supported => null, - ByValueMarshalKindSupport.Unnecessary - => new GeneratorDiagnostic.UnnecessaryData( - info, - context, - ImmutableArray.Create( - info.ByValueMarshalAttributeLocations.InLocation, - info.ByValueMarshalAttributeLocations.OutLocation)) - { - UnnecessaryDataName = SR.InOutAttributes, - UnnecessaryDataDetails = InOutSupportDetails - }, - ByValueMarshalKindSupport.NotSupported - => new GeneratorDiagnostic.NotSupported( - info, - context) - { NotSupportedDetails = InOutSupportDetails }, - _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") - }; - return InOutSupport; - default: - throw new UnreachableException($"Unexpected {nameof(ByValueContentsMarshalKind)} variant: {marshalKind}"); - } - } - } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs index 9ee28fa89ec61..12cd75e92268d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; @@ -235,7 +234,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) - => GeneratorDiagnostic.ByValueMarshalKindSupportManager.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs index f41c7d0f1986a..9c354080edf3d 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs @@ -104,17 +104,17 @@ private IEnumerable GeneratePinningPath(TypePositionInfo info, } } - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) { if (marshalKind is ByValueContentsMarshalKind.In) { diagnostic = new GeneratorDiagnostic.NotSupported(info, context) { - NotSupportedDetails = SR.InAttributeNotSupportedWithoutOutBlittableArray + NotSupportedDetails = SR.InAttributeOnlyNotSupportedOnPinnedParameters }; return ByValueMarshalKindSupport.NotSupported; } - return GeneratorDiagnostic.ByValueMarshalKindSupportManager.PinnedByReferenceParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + return ByValueMarshalKindSupportDescriptor.PinnedByReferenceParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs index e5c06e2f51997..5b9d0866f743c 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/UnmanagedToManagedOwnershipTrackingStrategy.cs @@ -164,7 +164,7 @@ IEnumerable GenerateStatementsFromInner(StubCodeContext context public SignatureBehavior GetNativeSignatureBehavior(TypePositionInfo info) => _inner.GetNativeSignatureBehavior(info); public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => _inner.GetValueBoundaryBehavior(info, context); public bool IsSupported(TargetFramework target, Version version) => _inner.IsSupported(target, version); - public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, [NotNullWhen(false)] out GeneratorDiagnostic? diagnostic) + public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) => _inner.SupportsByValueMarshalKind(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => _inner.UsesNativeIdentifier(info, context); } diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs index 2bca812b707d5..cca4aa23ea2a9 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Tests/RcwAroundCcwTests.cs @@ -293,7 +293,6 @@ public void Set(int[][] array, int[] widths, int length) _data = array; _widths = widths; } - public void asds([MarshalUsing(ConstantElementCount = 10)] ref int[][][][] array) { } } [CustomMarshaller(typeof(int), MarshalMode.ElementIn, typeof(ThrowOn4thElementMarshalled))] diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index 5f4e5971caab9..52b9cb93a1d0b 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -580,7 +580,7 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() // [Out] is not allowed on value types passed by value - there is no indirection for the callee to make visible modifications. var outAttributeNotSupportedOnValueParameters = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, paramName); + .WithArguments(SR.OutAttributeNotSupportedOnByValueValueTypeParameters, paramName); yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute, "int", paramNameWithLocation), new DiagnosticResult[] { outAttributeNotSupportedOnValueParameters, //https://github.com/dotnet/runtime/issues/88540 @@ -699,26 +699,30 @@ public static IEnumerable ByValueMarshalAttributeOnReferenceTypes() new DiagnosticResult[] { inAttributeIsDefaultDiagnostic, inAttributeIsDefaultDiagnostic } }; + var outNotAllowedOnRefTypes = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.OutAttributeNotSupportedOnByValueReferenceTypeParameters, paramName); + // [Out] is not allowed on strings // https://github.com/dotnet/runtime/issues/88438 - //yield return new object[] { - // ID(), - // codeSnippets.ByValueMarshallingOfType(inAttribute, "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), - // new DiagnosticResult[] { } - //}; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(outAttribute, "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), + new DiagnosticResult[] { outNotAllowedOnRefTypes, outNotAllowedOnRefTypes } + }; - // [Out] is fine on classes + // [Out] warns on by value reference types yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute, "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, - new DiagnosticResult[] { } + new DiagnosticResult[] { outNotAllowedOnRefTypes, outNotAllowedOnRefTypes } }; // [In,Out] is fine on classes yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute, "IntClass", paramNameWithLocation) + CodeSnippets.IntClassAndMarshaller, - new DiagnosticResult[] { } + new DiagnosticResult[] { outNotAllowedOnRefTypes, outNotAllowedOnRefTypes } }; // All refkinds are okay on classes and strings @@ -830,44 +834,10 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp //}; } - public static IEnumerable ByValueMarshalAttributeTest() - { - var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); - const string inAttribute = "[{|#1:InAttribute|}]"; - const string outAttribute = "[{|#2:OutAttribute|}]"; - const string constElementCount = @"[MarshalUsing(ConstantElementCount = 10)]"; - const string paramName = "p"; - string paramNameWithLocation = $$"""{|#0:{{paramName}}|}"""; - var inAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) - .WithLocation(0) - .WithLocation(1) - .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); - //const string constElementCount = @"[MarshalUsing(ConstantElementCount = 10)]"; - // Pinned arrays cannot be [In] - var inAttributeNotSupportedOnBlittableArray = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) - .WithLocation(0) - .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, paramName); - //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + "[MarshalAs(UnmanagedType.U2)]", "char", paramNameWithLocation), new DiagnosticResult[] { - // inAttributeIsDefaultDiagnostic, - // //https://github.com/dotnet/runtime/issues/88540 - // inAttributeIsDefaultDiagnostic } }; - //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "int[]", paramNameWithLocation), new DiagnosticResult[] { - // //https://github.com/dotnet/runtime/issues/88540 - // inAttributeNotSupportedOnBlittableArray - //}}; - yield return new object[] { - ID(), - codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), - new DiagnosticResult[] { } - }; - yield break; - } - [Theory] [MemberData(nameof(ByValueMarshalAttributeOnValueTypes))] [MemberData(nameof(ByValueMarshalAttributeOnReferenceTypes))] [MemberData(nameof(ByValueMarshalAttributeOnPinnedMarshalledTypes))] - //[MemberData(nameof(ByValueMarshalAttributeTest))] public async Task VerifyByValueMarshallingAttributeUsage(string id, string source, DiagnosticResult[] diagnostics) { _ = id; diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index 9aa2f8f9e4e69..9c3f1ed2d22ec 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -390,14 +390,14 @@ public static IEnumerable CodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, "p") + .WithArguments(SR.OutAttributeNotSupportedOnByValueValueTypeParameters, "p") } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In, Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, "p") + .WithArguments(SR.OutAttributeNotSupportedOnByValueValueTypeParameters, "p") } }; // LCIDConversion @@ -836,16 +836,7 @@ public static IEnumerable CodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, "p") - } }; - } - public static IEnumerable MyCodeSnippetsToCompile() - { - yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In"), new[] - { - VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) - .WithLocation(0) - .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, "p") + .WithArguments(SR.InAttributeOnlyNotSupportedOnPinnedParameters, "p") } }; } From 91c5b0de6c3a76a86e5dcd3cb5a97ad44ee45604 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 14:36:01 -0700 Subject: [PATCH 16/26] PR Feedback --- .../ComInterfaceGenerator.cs | 7 +- ...ributedMarshallingModelGeneratorFactory.cs | 11 +- .../ByValueMarshalKindSupportDescriptor.cs | 137 ++++++++++++++++++ .../CustomTypeMarshallingGenerator.cs | 11 +- .../CompileFails.cs | 63 ++++++-- 5 files changed, 201 insertions(+), 28 deletions(-) create mode 100644 src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs index 326c4b2902be1..912232c4c61a8 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs @@ -417,7 +417,6 @@ private static InterfaceDeclarationSyntax GenerateImplementationVTableMethods(Co comInterfaceAndMethods.DeclaredMethods .Select(m => m.UnmanagedToManagedStub) .OfType() - .Where(context => context.Diagnostics.Any(diag => diag.Descriptor.DefaultSeverity == DiagnosticSeverity.Error)) .Select(context => context.Stub.Node))); } @@ -578,11 +577,7 @@ private static InterfaceDeclarationSyntax GenerateImplementationVTable(ComInterf }))))); } - var vtableSlotAssignments = VirtualMethodPointerStubGenerator.GenerateVirtualMethodTableSlotAssignments( - interfaceMethods.Methods - .Where(context => context.UnmanagedToManagedStub.Diagnostics.Any(diag => diag.Descriptor.DefaultSeverity == DiagnosticSeverity.Error)) - .Select(context => context.GenerationContext), - vtableLocalName); + var vtableSlotAssignments = VirtualMethodPointerStubGenerator.GenerateVirtualMethodTableSlotAssignments(interfaceMethodStubs, vtableLocalName); return ImplementationInterfaceTemplate .AddMembers( diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs index 08886956c258e..e27240e016426 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs @@ -294,7 +294,7 @@ private ResolvedGenerator CreateCustomNativeTypeMarshaller(TypePositionInfo info } } - IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault); + IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault, marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference)); if (marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference)) { @@ -444,16 +444,13 @@ private ResolvedGenerator CreateNativeCollectionMarshaller( byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.PinnedByReferenceParameterDefault; } - IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator( - marshallingStrategy, - byValueMarshalKindSupport); - // Elements in the collection must be blittable to use the pinnable marshaller. - if (marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference) && elementIsBlittable) + bool isPinned = marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference) && elementIsBlittable; + IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, byValueMarshalKindSupport, isPinned); + if (isPinned) { marshallingGenerator = new StaticPinnableManagedValueMarshaller(marshallingGenerator, marshallerTypeSyntax); } - return ResolvedGenerator.Resolved(marshallingGenerator); } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs new file mode 100644 index 0000000000000..8484296efd0f3 --- /dev/null +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs @@ -0,0 +1,137 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Collections.Immutable; + +namespace Microsoft.Interop +{ + /// + /// Provides an implementation of through + /// + public record ByValueMarshalKindSupportDescriptor( + ByValueMarshalKindSupport InSupport, string? InSupportDetails, + ByValueMarshalKindSupport OutSupport, string? OutSupportDetails, + ByValueMarshalKindSupport InOutSupport, string? InOutSupportDetails) + { + /// + /// A default for by value parameters. [In] is allowed, but unnecessary. Out is not allowed. + /// + public static readonly ByValueMarshalKindSupportDescriptor ValueTypeParameterDefault = new ByValueMarshalKindSupportDescriptor( + InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, + OutSupport: ByValueMarshalKindSupport.NotSupported, OutSupportDetails: SR.OutAttributeNotSupportedOnByValueValueTypeParameters, + InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueValueTypeParameters); + + /// + /// A default for by value parameters. [In] is allowed, but unnecessary. Out is not allowed. + /// + public static readonly ByValueMarshalKindSupportDescriptor ReferenceTypeParameterDefault = new ByValueMarshalKindSupportDescriptor( + InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, + OutSupport: ByValueMarshalKindSupport.NotSupported, OutSupportDetails: SR.OutAttributeNotSupportedOnByValueReferenceTypeParameters, + InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueReferenceTypeParameters); + + /// + /// A default for by reference parameters. [In] is allowed, but unnecessary. Out is allowed. + /// + public static readonly ByValueMarshalKindSupportDescriptor ArrayParameterDefault = new ByValueMarshalKindSupportDescriptor( + InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, + OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, + InOutSupport: ByValueMarshalKindSupport.Supported, InOutSupportDetails: null); + + /// + /// A default for pinned by reference parameters. [In] is not allowed. [In, Out] is the default and unnecessary. [Out] is allowed. + /// + public static readonly ByValueMarshalKindSupportDescriptor PinnedByReferenceParameterDefault = new ByValueMarshalKindSupportDescriptor( + InSupport: ByValueMarshalKindSupport.NotSupported, InSupportDetails: SR.InAttributeOnlyNotSupportedOnPinnedParameters, + OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, + InOutSupport: ByValueMarshalKindSupport.Unnecessary, InOutSupportDetails: SR.PinnedMarshallingIsInOutByDefault); + + /// + /// Returns the support for the ByValueContentsMarshalKind, and if it is not , diagnostic is not null + /// + public ByValueMarshalKindSupport GetSupport(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) + { + if (info.IsByRef && marshalKind != ByValueContentsMarshalKind.Default) + { + diagnostic = new GeneratorDiagnostic.NotSupported(info, context) + { + NotSupportedDetails = SR.InOutAttributeByRefNotSupported + }; + return ByValueMarshalKindSupport.NotSupported; + } + switch (marshalKind) + { + case ByValueContentsMarshalKind.Default: + diagnostic = null; + return ByValueMarshalKindSupport.Supported; + case ByValueContentsMarshalKind.Out: + diagnostic = OutSupport switch + { + ByValueMarshalKindSupport.Supported => null, + ByValueMarshalKindSupport.Unnecessary + => new GeneratorDiagnostic.UnnecessaryData( + info, + context, + ImmutableArray.Create(info.ByValueMarshalAttributeLocations.OutLocation)) + { + UnnecessaryDataName = SR.InOutAttributes, + UnnecessaryDataDetails = OutSupportDetails + }, + ByValueMarshalKindSupport.NotSupported + => new GeneratorDiagnostic.NotSupported( + info, + context) + { NotSupportedDetails = OutSupportDetails }, + _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") + }; + return OutSupport; + case ByValueContentsMarshalKind.In: + diagnostic = InSupport switch + { + ByValueMarshalKindSupport.Supported => null, + ByValueMarshalKindSupport.Unnecessary + => new GeneratorDiagnostic.UnnecessaryData( + info, + context, + ImmutableArray.Create(info.ByValueMarshalAttributeLocations.InLocation)) + { + UnnecessaryDataName = SR.InOutAttributes, + UnnecessaryDataDetails = InSupportDetails + }, + ByValueMarshalKindSupport.NotSupported + => new GeneratorDiagnostic.NotSupported( + info, + context) + { NotSupportedDetails = InSupportDetails }, + _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") + }; + return InSupport; + case ByValueContentsMarshalKind.InOut: + diagnostic = InOutSupport switch + { + ByValueMarshalKindSupport.Supported => null, + ByValueMarshalKindSupport.Unnecessary + => new GeneratorDiagnostic.UnnecessaryData( + info, + context, + ImmutableArray.Create( + info.ByValueMarshalAttributeLocations.InLocation, + info.ByValueMarshalAttributeLocations.OutLocation)) + { + UnnecessaryDataName = SR.InOutAttributes, + UnnecessaryDataDetails = InOutSupportDetails + }, + ByValueMarshalKindSupport.NotSupported + => new GeneratorDiagnostic.NotSupported( + info, + context) + { NotSupportedDetails = InOutSupportDetails }, + _ => throw new UnreachableException($"Unexpected {nameof(ByValueMarshalKindSupport)} Variant: {InOutSupport}") + }; + return InOutSupport; + default: + throw new UnreachableException($"Unexpected {nameof(ByValueContentsMarshalKind)} variant: {marshalKind}"); + } + } + } +} diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs index d5307c7611164..a00f1bc715185 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs @@ -14,11 +14,13 @@ internal sealed class CustomTypeMarshallingGenerator : IMarshallingGenerator { private readonly ICustomTypeMarshallingStrategy _nativeTypeMarshaller; private readonly ByValueMarshalKindSupportDescriptor _byValueContentsMarshallingSupport; + private readonly bool _isPinned; - public CustomTypeMarshallingGenerator(ICustomTypeMarshallingStrategy nativeTypeMarshaller, ByValueMarshalKindSupportDescriptor byValueContentsMarshallingSupport) + public CustomTypeMarshallingGenerator(ICustomTypeMarshallingStrategy nativeTypeMarshaller, ByValueMarshalKindSupportDescriptor byValueContentsMarshallingSupport, bool isPinned) { _nativeTypeMarshaller = nativeTypeMarshaller; _byValueContentsMarshallingSupport = byValueContentsMarshallingSupport; + _isPinned = isPinned; } public bool IsSupported(TargetFramework target, Version version) @@ -106,9 +108,12 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont private bool ShouldGenerateByValueOutMarshalling(TypePositionInfo info, StubCodeContext context) { - return info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out) + _ = (info, context, this); + return + info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out) && _byValueContentsMarshallingSupport.GetSupport(info.ByValueContentsMarshalKind, info, context, out _) == ByValueMarshalKindSupport.Supported - && !info.IsByRef; + && !info.IsByRef + && !_isPinned; } public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index fa2a51009fddb..89a7879d0b0c0 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -359,6 +359,8 @@ public async Task ValidateInvalidUnmanagedToManagedCodeSnippets(string id, strin { TestCode = source, TestBehaviors = TestBehaviors.SkipGeneratedSourcesCheck, + // Our fallback mechanism for invalid code for unmanaged->managed stubs sometimes generates invalid code. + CompilerDiagnostics = CompilerDiagnostics.None, }; test.ExpectedDiagnostics.AddRange(expectedDiagnostics); await test.RunAsync(); @@ -772,17 +774,20 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp var inAttributeNotSupportedOnBlittableArray = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, paramName); + var inAttributeNotSupportedOnPinnedParameter = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.InAttributeOnlyNotSupportedOnPinnedParameters, paramName); yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "int[]", paramNameWithLocation), new DiagnosticResult[] { - inAttributeNotSupportedOnBlittableArray, + inAttributeNotSupportedOnPinnedParameter, //https://github.com/dotnet/runtime/issues/88540 - inAttributeIsDefaultDiagnostic + inAttributeNotSupportedOnPinnedParameter }}; // new issue before merge: char generated code doesn't seem to work well with [In, Out] //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), new DiagnosticResult[] { // inAttributeNotSupportedOnBlittableArray, //}}; - // bools that are marshalled into a new array are okay + // bools that are marshalled into a new array are in by default yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType( @@ -790,13 +795,13 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp "bool[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), - new DiagnosticResult[] { } + new DiagnosticResult[] { inAttributeIsDefaultDiagnostic, inAttributeIsDefaultDiagnostic} }; // Overriding marshalling with a custom marshaller makes it not pinned yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute, "[MarshalUsing(typeof(IntMarshaller), ElementIndirectionDepth = 1), MarshalUsing(ConstantElementCount = 10)]int[]", paramNameWithLocation) + CodeSnippets.IntMarshaller, - new DiagnosticResult[] { } + new DiagnosticResult[] { inAttributeIsDefaultDiagnostic, inAttributeIsDefaultDiagnostic} }; // [In, Out] is default @@ -808,7 +813,7 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "int[]", paramNameWithLocation), - new DiagnosticResult[] { inOutAttributeIsDefaultDiagnostic } + new DiagnosticResult[] { inOutAttributeIsDefaultDiagnostic, inOutAttributeIsDefaultDiagnostic} }; // new issue before merge: char generated code doesn't seem to work well with [In, Out] //yield return new object[] { @@ -819,11 +824,12 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp //}; // [Out] Should not warn - yield return new object[] { - ID(), - codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "int[]", paramNameWithLocation), - new DiagnosticResult[] { } - }; + // new issue before merge: [Out] int[] does not generate an UnmanagedToManaged stub that can be compiled + //yield return new object[] { + // ID(), + // codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "int[]", paramNameWithLocation), + // new DiagnosticResult[] { } + //}; // new issue before merge: char generated code doesn't seem to work well with [In, Out] //yield return new object[] { // ID(), @@ -831,6 +837,31 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp // new DiagnosticResult[] { } //}; } + public static IEnumerable TempDelete() + { + var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); + //const string inAttribute = "[{|#1:InAttribute|}]"; + const string outAttribute = "[{|#2:OutAttribute|}]"; + const string paramName = "p"; + string paramNameWithLocation = $$"""{|#0:{{paramName}}|}"""; + const string constElementCount = @"[MarshalUsing(ConstantElementCount = 10)]"; + var inAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) + .WithLocation(0) + .WithLocation(1) + .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); + // Pinned arrays cannot be [In] + var inAttributeNotSupportedOnBlittableArray = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, paramName); + var inAttributeNotSupportedOnPinnedParameter = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) + .WithLocation(0) + .WithArguments(SR.InAttributeOnlyNotSupportedOnPinnedParameters, paramName); + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "int[]", paramNameWithLocation), + new DiagnosticResult[] { } + }; + } [Theory] [MemberData(nameof(ByValueMarshalAttributeOnValueTypes))] @@ -839,7 +870,15 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp public async Task VerifyByValueMarshallingAttributeUsage(string id, string source, DiagnosticResult[] diagnostics) { _ = id; - await VerifyComInterfaceGenerator.VerifySourceGeneratorAsync(source, diagnostics); + VerifyComInterfaceGenerator.Test test = new(referenceAncillaryInterop: false) + { + TestCode = source, + TestBehaviors = TestBehaviors.SkipGeneratedSourcesCheck, + // Our fallback mechanism for invalid code for unmanaged->managed stubs sometimes generates invalid code. + CompilerDiagnostics = diagnostics.Length != 0 ? CompilerDiagnostics.None : CompilerDiagnostics.Errors, + }; + test.ExpectedDiagnostics.AddRange(diagnostics); + await test.RunAsync(); } [Fact] From 8262e7d30fd9573bc05f809beaa3a2a4da4f9298 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:13:07 -0700 Subject: [PATCH 17/26] Update src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshalling/ByValueMarshalKindSupportDescriptor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs index 8484296efd0f3..96c1a8e5bb969 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs @@ -31,7 +31,7 @@ public record ByValueMarshalKindSupportDescriptor( InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueReferenceTypeParameters); /// - /// A default for by reference parameters. [In] is allowed, but unnecessary. Out is allowed. + /// A default for by value array parameters. [In] is allowed, but unnecessary. Out is allowed. /// public static readonly ByValueMarshalKindSupportDescriptor ArrayParameterDefault = new ByValueMarshalKindSupportDescriptor( InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, From 64725ae2596ac86d631c693516fa9f49618810a3 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:15:20 -0700 Subject: [PATCH 18/26] Update src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshalling/CustomTypeMarshallingGenerator.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs index a00f1bc715185..7873781e475df 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CustomTypeMarshallingGenerator.cs @@ -108,7 +108,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont private bool ShouldGenerateByValueOutMarshalling(TypePositionInfo info, StubCodeContext context) { - _ = (info, context, this); return info.ByValueContentsMarshalKind.HasFlag(ByValueContentsMarshalKind.Out) && _byValueContentsMarshallingSupport.GetSupport(info.ByValueContentsMarshalKind, info, context, out _) == ByValueMarshalKindSupport.Supported From 789a0236c2d5e19cc9e69436df019fdcfa103eb7 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:15:56 -0700 Subject: [PATCH 19/26] Update src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshalling/DelegateMarshaller.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs index 5e45ce8a873ea..20b56df86f32a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs @@ -102,6 +102,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ArrayParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); } } From acd847e1ea18b988202c4091b1504bb141fafb62 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:16:48 -0700 Subject: [PATCH 20/26] Update src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshallers/ComInterfaceDispatchMarshallerFactory.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs index b3bad173a14b2..f9c8ac9a2bbec 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs @@ -62,7 +62,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool IsSupported(TargetFramework target, Version version) => target == TargetFramework.Net && version >= new Version(5, 0); public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ArrayParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } From 2877315633cea2fc41e456e34ffd140b116c06a5 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:16:56 -0700 Subject: [PATCH 21/26] Update src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshalling/ByValueMarshalKindSupportDescriptor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs index 96c1a8e5bb969..d0a0fd669fae1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs @@ -41,7 +41,7 @@ public record ByValueMarshalKindSupportDescriptor( /// /// A default for pinned by reference parameters. [In] is not allowed. [In, Out] is the default and unnecessary. [Out] is allowed. /// - public static readonly ByValueMarshalKindSupportDescriptor PinnedByReferenceParameterDefault = new ByValueMarshalKindSupportDescriptor( + public static readonly ByValueMarshalKindSupportDescriptor PinnedArrayParameterDefault = new ByValueMarshalKindSupportDescriptor( InSupport: ByValueMarshalKindSupport.NotSupported, InSupportDetails: SR.InAttributeOnlyNotSupportedOnPinnedParameters, OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, InOutSupport: ByValueMarshalKindSupport.Unnecessary, InOutSupportDetails: SR.PinnedMarshallingIsInOutByDefault); From 6536dcb0d3c134ec821d7f3385743adbfa3ca8f1 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:17:06 -0700 Subject: [PATCH 22/26] Update src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshalling/ByValueMarshalKindSupportDescriptor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs index d0a0fd669fae1..51fe409dbd41f 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs @@ -39,7 +39,7 @@ public record ByValueMarshalKindSupportDescriptor( InOutSupport: ByValueMarshalKindSupport.Supported, InOutSupportDetails: null); /// - /// A default for pinned by reference parameters. [In] is not allowed. [In, Out] is the default and unnecessary. [Out] is allowed. + /// A default for pinned by value parameters. [In] is not allowed. [In, Out] is the default and unnecessary. [Out] is allowed. /// public static readonly ByValueMarshalKindSupportDescriptor PinnedArrayParameterDefault = new ByValueMarshalKindSupportDescriptor( InSupport: ByValueMarshalKindSupport.NotSupported, InSupportDetails: SR.InAttributeOnlyNotSupportedOnPinnedParameters, From 7dfed5e6f1770302b7856abc5a990b5d489c036a Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:29:50 -0700 Subject: [PATCH 23/26] Update src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs Co-authored-by: Jeremy Koritzinsky --- .../Marshalling/ByValueContentsMarshalKindValidator.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index 971f8d6922a56..2b34a5c62d028 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -35,6 +35,7 @@ private static ResolvedGenerator ValidateByValueMarshalKind(TypePositionInfo inf } var support = generator.Generator.SupportsByValueMarshalKind(info.ByValueContentsMarshalKind, info, context, out GeneratorDiagnostic? diagnostic); + Debug.Assert(support == ByValueMarshalKindSupport.Supported || diagnostic is not null); return support switch { ByValueMarshalKindSupport.Supported => generator, From 41c11eaf43978ac4a28b09cc3e94d9b1af460b78 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:33:37 -0700 Subject: [PATCH 24/26] Merge ref and value type default by value --- .../ComInterfaceDispatchMarshallerFactory.cs | 2 +- ...anagedHResultExceptionMarshallerFactory.cs | 4 +-- .../ObjectUnwrapperMarshallerFactory.cs | 2 +- .../gen/Common/Resources/Strings.resx | 9 ++---- .../gen/Common/Resources/xlf/Strings.cs.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.de.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.es.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.fr.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.it.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.ja.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.ko.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.pl.xlf | 11 ++----- .../Common/Resources/xlf/Strings.pt-BR.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.ru.xlf | 11 ++----- .../gen/Common/Resources/xlf/Strings.tr.xlf | 11 ++----- .../Common/Resources/xlf/Strings.zh-Hans.xlf | 11 ++----- .../Common/Resources/xlf/Strings.zh-Hant.xlf | 11 ++----- ...ributedMarshallingModelGeneratorFactory.cs | 8 ++--- .../Marshalling/BlittableMarshaller.cs | 2 +- .../Marshalling/BoolMarshaller.cs | 3 +- .../ByValueMarshalKindSupportDescriptor.cs | 18 ++++-------- .../Marshalling/CharMarshaller.cs | 2 +- .../Marshalling/DelegateMarshaller.cs | 2 +- .../Marshalling/Forwarder.cs | 2 +- .../Marshalling/SafeHandleMarshaller.cs | 2 +- .../StaticPinnableManagedValueMarshaller.cs | 3 +- .../CompileFails.cs | 29 ++----------------- .../CompileFails.cs | 4 +-- 28 files changed, 66 insertions(+), 169 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs index f9c8ac9a2bbec..15a3ce6533cb4 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ComInterfaceDispatchMarshallerFactory.cs @@ -62,7 +62,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool IsSupported(TargetFramework target, Version version) => target == TargetFramework.Net && version >= new Version(5, 0); public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs index 65d46307a9eec..d4914eaea3b4c 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ManagedHResultExceptionMarshallerFactory.cs @@ -72,7 +72,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } @@ -110,7 +110,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs index 4c3cd757274dc..c04a3a7ccfbb1 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Marshallers/ObjectUnwrapperMarshallerFactory.cs @@ -62,7 +62,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.NativeIdentifier; public bool IsSupported(TargetFramework target, Version version) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx index cafa267ee580f..f03a1e31d3e59 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/Strings.resx @@ -195,9 +195,6 @@ The '[In]' attribute is not supported unless the '[Out]' attribute is also used. Blittable arrays cannot be marshalled as '[In]' only. - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - Add 'GeneratedComClassAttribute' to enable passing objects of this type to COM and allow unsafe code @@ -880,7 +877,7 @@ '[In]' and '[Out]' attributes are not supported on this type. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. - + \ No newline at end of file diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf index 41d9bc396bb20..4f377c3a4a843 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.cs.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf index 0d6f3a711492a..412c5af9bb0f9 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.de.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf index 318f2f0b7fda8..185a49b88f681 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.es.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf index 5fdf8a84e18d5..de8f498b3a76b 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.fr.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf index f347f62d0bed7..1307f14e4ed26 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.it.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf index b3812c19e2e1d..6a028640bb3b5 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ja.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf index 2192cb89b0aa3..2f64e3ede09a9 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ko.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf index 65acee5e15b71..dd91f2c9516e4 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pl.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf index c32030b87cc8b..2b4cb2c89e99f 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.pt-BR.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf index d22e7bba4c93b..45a72e1a63c33 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.ru.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf index cc41d070e9b83..a64905e2c7668 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.tr.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf index 0f8b92fc8ea78..bf4454c10f650 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hans.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf index c3b0f10f0c35e..fc78bfda59b5c 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/libraries/System.Runtime.InteropServices/gen/Common/Resources/xlf/Strings.zh-Hant.xlf @@ -892,14 +892,9 @@ Either 'ComInterfaceOptions.ManagedObjectWrapper' or 'ComInterfaceOptions.ComObjectWrapper' must be specified. - - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - The `[Out]` attribute is not supported on reference-type parameters. Consider using the 'out' or 'ref' keyword. - - - - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. - The `[Out]` attribute is not allowed on value-type parameters passed by-value. Consider using the 'out' or 'ref' keyword to make the parameter passed by reference. + + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. + The `[Out]` attribute is only supported on array parameters and parameters marshalled by pinning. Consider using 'out' or 'ref' keywords to make the parameter mutable. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs index e27240e016426..73b8cd8eb901a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/AttributedMarshallingModelGeneratorFactory.cs @@ -294,7 +294,7 @@ private ResolvedGenerator CreateCustomNativeTypeMarshaller(TypePositionInfo info } } - IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault, marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference)); + IMarshallingGenerator marshallingGenerator = new CustomTypeMarshallingGenerator(marshallingStrategy, ByValueMarshalKindSupportDescriptor.Default, marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference)); if (marshallerData.Shape.HasFlag(MarshallerShape.StatelessPinnableReference)) { @@ -429,19 +429,19 @@ private ResolvedGenerator CreateNativeCollectionMarshaller( ByValueMarshalKindSupportDescriptor byValueMarshalKindSupport; if (info.ManagedType is not SzArrayType) { - byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault; + byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.Default; } else if (!elementIsBlittable || ElementTypeIsSometimesNonBlittable(elementInfo)) { // If the type is not blittable or is sometimes not blittable, we will generate different code when the attributes are provided. - byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.ArrayParameterDefault; + byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.ArrayParameter; } else { // If the type is always blittable, we'll generate the same code regardless of the attributes, // but we'll allow them to make it easier to transition to source-generated code and allow users to be clear about expectations // for values in pre-allocated buffers. - byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.PinnedByReferenceParameterDefault; + byValueMarshalKindSupport = ByValueMarshalKindSupportDescriptor.PinnedParameter; } // Elements in the collection must be blittable to use the pinnable marshaller. diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs index b23bda49696f6..ef2542dd87bc8 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BlittableMarshaller.cs @@ -102,6 +102,6 @@ public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) } public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs index 6dea3384356ae..a86df409e84a7 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/BoolMarshaller.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -101,7 +100,7 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); } /// diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs index 51fe409dbd41f..b7c80511e4ef3 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueMarshalKindSupportDescriptor.cs @@ -17,23 +17,15 @@ public record ByValueMarshalKindSupportDescriptor( /// /// A default for by value parameters. [In] is allowed, but unnecessary. Out is not allowed. /// - public static readonly ByValueMarshalKindSupportDescriptor ValueTypeParameterDefault = new ByValueMarshalKindSupportDescriptor( + public static readonly ByValueMarshalKindSupportDescriptor Default = new ByValueMarshalKindSupportDescriptor( InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, - OutSupport: ByValueMarshalKindSupport.NotSupported, OutSupportDetails: SR.OutAttributeNotSupportedOnByValueValueTypeParameters, - InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueValueTypeParameters); - - /// - /// A default for by value parameters. [In] is allowed, but unnecessary. Out is not allowed. - /// - public static readonly ByValueMarshalKindSupportDescriptor ReferenceTypeParameterDefault = new ByValueMarshalKindSupportDescriptor( - InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, - OutSupport: ByValueMarshalKindSupport.NotSupported, OutSupportDetails: SR.OutAttributeNotSupportedOnByValueReferenceTypeParameters, - InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueReferenceTypeParameters); + OutSupport: ByValueMarshalKindSupport.NotSupported, OutSupportDetails: SR.OutAttributeNotSupportedOnByValueParameters, + InOutSupport: ByValueMarshalKindSupport.NotSupported, InOutSupportDetails: SR.OutAttributeNotSupportedOnByValueParameters); /// /// A default for by value array parameters. [In] is allowed, but unnecessary. Out is allowed. /// - public static readonly ByValueMarshalKindSupportDescriptor ArrayParameterDefault = new ByValueMarshalKindSupportDescriptor( + public static readonly ByValueMarshalKindSupportDescriptor ArrayParameter = new ByValueMarshalKindSupportDescriptor( InSupport: ByValueMarshalKindSupport.Unnecessary, InSupportDetails: SR.InAttributeOnlyIsDefault, OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, InOutSupport: ByValueMarshalKindSupport.Supported, InOutSupportDetails: null); @@ -41,7 +33,7 @@ public record ByValueMarshalKindSupportDescriptor( /// /// A default for pinned by value parameters. [In] is not allowed. [In, Out] is the default and unnecessary. [Out] is allowed. /// - public static readonly ByValueMarshalKindSupportDescriptor PinnedArrayParameterDefault = new ByValueMarshalKindSupportDescriptor( + public static readonly ByValueMarshalKindSupportDescriptor PinnedParameter = new ByValueMarshalKindSupportDescriptor( InSupport: ByValueMarshalKindSupport.NotSupported, InSupportDetails: SR.InAttributeOnlyNotSupportedOnPinnedParameters, OutSupport: ByValueMarshalKindSupport.Supported, OutSupportDetails: null, InOutSupport: ByValueMarshalKindSupport.Unnecessary, InOutSupportDetails: SR.PinnedMarshallingIsInOutByDefault); diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs index ea841427e07b4..8eb7825c53604 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/CharMarshaller.cs @@ -146,7 +146,7 @@ public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarsh }; return ByValueMarshalKindSupport.NotSupported; } - return ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + return ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs index 20b56df86f32a..3f8631a3d4ab2 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/DelegateMarshaller.cs @@ -102,6 +102,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ValueTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs index 3d0087ccc21cf..79c2fd999f00a 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/Forwarder.cs @@ -34,6 +34,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs index 12cd75e92268d..4e0b3bcf40f92 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/SafeHandleMarshaller.cs @@ -235,6 +235,6 @@ public IEnumerable Generate(TypePositionInfo info, StubCodeCont public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => true; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); } } diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs index 9c354080edf3d..e5be70fcdbadf 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/StaticPinnableManagedValueMarshaller.cs @@ -3,7 +3,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; @@ -114,7 +113,7 @@ public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarsh }; return ByValueMarshalKindSupport.NotSupported; } - return ByValueMarshalKindSupportDescriptor.PinnedByReferenceParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + return ByValueMarshalKindSupportDescriptor.PinnedParameter.GetSupport(marshalKind, info, context, out diagnostic); } } } diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index 89a7879d0b0c0..00f49a036dd50 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -580,7 +580,7 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() // [Out] is not allowed on value types passed by value - there is no indirection for the callee to make visible modifications. var outAttributeNotSupportedOnValueParameters = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.OutAttributeNotSupportedOnByValueValueTypeParameters, paramName); + .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, paramName); yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute, "int", paramNameWithLocation), new DiagnosticResult[] { outAttributeNotSupportedOnValueParameters, //https://github.com/dotnet/runtime/issues/88540 @@ -701,7 +701,7 @@ public static IEnumerable ByValueMarshalAttributeOnReferenceTypes() var outNotAllowedOnRefTypes = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.OutAttributeNotSupportedOnByValueReferenceTypeParameters, paramName); + .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, paramName); // [Out] is not allowed on strings // https://github.com/dotnet/runtime/issues/88438 @@ -837,31 +837,6 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp // new DiagnosticResult[] { } //}; } - public static IEnumerable TempDelete() - { - var codeSnippets = new CodeSnippets(GetAttributeProvider(GeneratorKind.ComInterfaceGenerator)); - //const string inAttribute = "[{|#1:InAttribute|}]"; - const string outAttribute = "[{|#2:OutAttribute|}]"; - const string paramName = "p"; - string paramNameWithLocation = $$"""{|#0:{{paramName}}|}"""; - const string constElementCount = @"[MarshalUsing(ConstantElementCount = 10)]"; - var inAttributeIsDefaultDiagnostic = new DiagnosticResult(GeneratorDiagnostics.UnnecessaryParameterMarshallingInfo) - .WithLocation(0) - .WithLocation(1) - .WithArguments(SR.InOutAttributes, paramName, SR.InAttributeOnlyIsDefault); - // Pinned arrays cannot be [In] - var inAttributeNotSupportedOnBlittableArray = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) - .WithLocation(0) - .WithArguments(SR.InAttributeNotSupportedWithoutOutBlittableArray, paramName); - var inAttributeNotSupportedOnPinnedParameter = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) - .WithLocation(0) - .WithArguments(SR.InAttributeOnlyNotSupportedOnPinnedParameters, paramName); - yield return new object[] { - ID(), - codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "int[]", paramNameWithLocation), - new DiagnosticResult[] { } - }; - } [Theory] [MemberData(nameof(ByValueMarshalAttributeOnValueTypes))] diff --git a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs index 9c3f1ed2d22ec..1d3e9ac7a195f 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/LibraryImportGenerator.UnitTests/CompileFails.cs @@ -390,14 +390,14 @@ public static IEnumerable CodeSnippetsToCompile() { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.OutAttributeNotSupportedOnByValueValueTypeParameters, "p") + .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, "p") } }; yield return new object[] { ID(), CodeSnippets.ByValueParameterWithModifier("In, Out"), new[] { VerifyCS.Diagnostic(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) .WithLocation(0) - .WithArguments(SR.OutAttributeNotSupportedOnByValueValueTypeParameters, "p") + .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, "p") } }; // LCIDConversion From 3ca63bc5e64950d9ba44b2429a732fbf26a31e9f Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Tue, 11 Jul 2023 16:24:44 -0700 Subject: [PATCH 25/26] Add issue for commented test cases --- .../ByValueContentsMarshalKindValidator.cs | 2 +- .../CompileFails.cs | 36 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs index 2b34a5c62d028..5cc2a8f9a9b26 100644 --- a/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs +++ b/src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/ByValueContentsMarshalKindValidator.cs @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -using System; +using System.Diagnostics; namespace Microsoft.Interop { diff --git a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs index 00f49a036dd50..5157a44968c06 100644 --- a/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs +++ b/src/libraries/System.Runtime.InteropServices/tests/ComInterfaceGenerator.Unit.Tests/CompileFails.cs @@ -571,11 +571,10 @@ public static IEnumerable ByValueMarshalAttributeOnValueTypes() inAttributeIsDefaultDiagnostic, //https://github.com/dotnet/runtime/issues/88540 inAttributeIsDefaultDiagnostic } }; - // new issue before merge: char generated code doesn't seem to work well with [In, Out] - //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + "[MarshalAs(UnmanagedType.U2)]", "char", paramNameWithLocation), new DiagnosticResult[] { - // inAttributeIsDefaultDiagnostic, - // //https://github.com/dotnet/runtime/issues/88540 - // inAttributeIsDefaultDiagnostic } }; + yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + "[MarshalAs(UnmanagedType.U2)]", "char", paramNameWithLocation), new DiagnosticResult[] { + inAttributeIsDefaultDiagnostic, + //https://github.com/dotnet/runtime/issues/88540 + inAttributeIsDefaultDiagnostic } }; // [Out] is not allowed on value types passed by value - there is no indirection for the callee to make visible modifications. var outAttributeNotSupportedOnValueParameters = new DiagnosticResult(GeneratorDiagnostics.ParameterTypeNotSupportedWithDetails) @@ -704,7 +703,6 @@ public static IEnumerable ByValueMarshalAttributeOnReferenceTypes() .WithArguments(SR.OutAttributeNotSupportedOnByValueParameters, paramName); // [Out] is not allowed on strings - // https://github.com/dotnet/runtime/issues/88438 yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(outAttribute, "string", paramNameWithLocation, (StringMarshalling.Utf8, null)), @@ -783,9 +781,11 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp inAttributeNotSupportedOnPinnedParameter }}; // new issue before merge: char generated code doesn't seem to work well with [In, Out] - //yield return new object[] { ID(), codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), new DiagnosticResult[] { - // inAttributeNotSupportedOnBlittableArray, - //}}; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), + new DiagnosticResult[] { inAttributeNotSupportedOnPinnedParameter, inAttributeIsDefaultDiagnostic } + }; // bools that are marshalled into a new array are in by default yield return new object[] { @@ -815,22 +815,22 @@ public static IEnumerable ByValueMarshalAttributeOnPinnedMarshalledTyp codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "int[]", paramNameWithLocation), new DiagnosticResult[] { inOutAttributeIsDefaultDiagnostic, inOutAttributeIsDefaultDiagnostic} }; - // new issue before merge: char generated code doesn't seem to work well with [In, Out] - //yield return new object[] { - // ID(), - // codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), - // //https://github.com/dotnet/runtime/issues/88540 - // new DiagnosticResult[] { inOutAttributeIsDefaultDiagnostic } - //}; + yield return new object[] { + ID(), + codeSnippets.ByValueMarshallingOfType(inAttribute + outAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), + //https://github.com/dotnet/runtime/issues/88540 + new DiagnosticResult[] { inOutAttributeIsDefaultDiagnostic } + }; // [Out] Should not warn - // new issue before merge: [Out] int[] does not generate an UnmanagedToManaged stub that can be compiled + // https://github.com/dotnet/runtime/issues/88708 //yield return new object[] { // ID(), // codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "int[]", paramNameWithLocation), // new DiagnosticResult[] { } //}; - // new issue before merge: char generated code doesn't seem to work well with [In, Out] + + // https://github.com/dotnet/runtime/issues/88708 //yield return new object[] { // ID(), // codeSnippets.ByValueMarshallingOfType(outAttribute + constElementCount, "char[]", paramNameWithLocation, (StringMarshalling.Utf16, null)), From f1f510c573e7e049df16fa2d19664eaae1f5ca90 Mon Sep 17 00:00:00 2001 From: Jackson Schuster <36744439+jtschuster@users.noreply.github.com> Date: Wed, 12 Jul 2023 09:50:19 -0700 Subject: [PATCH 26/26] Fix JS generator build --- .../gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs index 8fcdd978b2773..075d464b2bde7 100644 --- a/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs +++ b/src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/EmptyJSGenerator.cs @@ -16,7 +16,7 @@ internal sealed class EmptyJSGenerator : IJSMarshallingGenerator public ValueBoundaryBehavior GetValueBoundaryBehavior(TypePositionInfo info, StubCodeContext context) => ValueBoundaryBehavior.ManagedIdentifier; public bool IsSupported(TargetFramework target, Version version) => false; public ByValueMarshalKindSupport SupportsByValueMarshalKind(ByValueContentsMarshalKind marshalKind, TypePositionInfo info, StubCodeContext context, out GeneratorDiagnostic? diagnostic) - => ByValueMarshalKindSupportDescriptor.ReferenceTypeParameterDefault.GetSupport(marshalKind, info, context, out diagnostic); + => ByValueMarshalKindSupportDescriptor.Default.GetSupport(marshalKind, info, context, out diagnostic); public bool UsesNativeIdentifier(TypePositionInfo info, StubCodeContext context) => false; } }