Xamarin.Android プロジェクトの dll またはプロジェクト参照としてこのライブラリを使用して、VB.net .net 3.5 で記述された古いライブラリを使用していますが、「none」へのリンカーで正常に動作します。リンカーを使用すると問題が発生します。リンカーを「SDK アセンブリのみ」に設定すると、次のエラー メッセージが表示されます。
エラー Java.Interop.Tools.Diagnostics.XamarinAndroidException: エラー XA2006: 'System.Void Microsoft.VisualBasic.MyGroupCollectionAttribute::.ctor(System.String,System.String,System.String,System.String)' への参照を解決できませんでした(アセンブリ 'VBLibraryProject、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null' で定義) スコープ 'Microsoft.VisualBasic、Version=8.0.0.0、Culture=neutral、PublicKeyToken='。スコープが定義アセンブリと異なる場合、通常は型が転送されることを意味します。---> Mono.Cecil.ResolutionException: System.Void Microsoft.VisualBasic.MyGroupCollectionAttribute::.ctor(System.String,System.String,System.String,System.String) を Mono.Linker.Steps.MarkStep で解決できませんでしたMono.Linker.Steps.MarkStep の .HandleUnresolvedMethod(MethodReference 参照)。
Mono.Linker.Steps.MarkStep.MarkCustomAttributes (ICustomAttributeProvider プロバイダー) で Mono.Linker.Steps.MarkStep.MarkEntireType (TypeDefinition 型) で Mono.Linker.Steps.MarkStep.MarkEntireType (TypeDefinition 型) で Mono.Linker.Steps.MarkStep .MarkEntireAssembly(AssemblyDefinition アセンブリ) で Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition アセンブリ) で Mono.Linker.Steps.MarkStep.Initialize() で Mono.Linker.Steps.MarkStep.Process(LinkContext コンテキスト) で MonoDroid.Tuner Mono.Linker.Pipeline.ProcessStep(LinkContext コンテキスト、ISep ステップ) の .MonoDroidMarkStep.Process(LinkContext コンテキスト)
Mono.Linker.Pipeline.Process(LinkContext コンテキスト) で MonoDroid.Tuner.Linker.Process(LinkerOptions オプション、ILogger ロガー、LinkContext& コンテキスト) で Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) で
以下のようなライブラリに AndroidLinkSkip を追加しました
<AndroidLinkSkip>Microsoft.VisualBasic;Microsoft.VisualBasic.Core;VBLibraryProject</AndroidLinkSkip>
それにもかかわらず、同じエラーでまだ失敗していますか? プロジェクトは、最新の XF 4.8 バージョンを Android.Support ライブラリとターゲット バージョン android 9.0 最小バージョン 8.0 で使用しています。
編集: 以下のタイプの linker.xml を試してみましたが、役に立ちませんでしたLinkDescription
。
<linker>
<assembly fullname="Microsoft.VisualBasic">
<namespace fullname="Microsoft.VisualBasic" />
</assembly>
<assembly fullname="Microsoft.VisualBasic.Core">
<namespace fullname="Microsoft.VisualBasic" />
</assembly>
<assembly fullname="VBLibraryProject">