Xamarin android C# grp c клиент не может создать канал - PullRequest
0 голосов
/ 06 августа 2020

Я использую gpr c в приложении net471 wpf, которое работает нормально. Я хочу использовать то же самое для связи с приложением xamarin android. Таким образом, прото файлы хранятся в общем проекте (переносимая библиотека классов с использованием netstandard2.0), чтобы ссылаться на одни и те же прото и сгенерированные классы как в WPF, так и в проекте android. Хостинг сервера из проекта net471 и попытка создания клиента в проекте xamarin android, способного реализовать и построить все. Но при попытке запустить приложение android и создать клиент grp c с использованием Grp c .Core.Channel появляется следующая ошибка:

{System.DllNotFoundException: grpc_csharp_ext assembly: type: member: (null) в (оболочка, управляемая-родная) Grp c .Core.Internal.NativeMethods + DllImportsFromSharedLib.grpcsharp_redirect_log (Grp c .Core.Internal.GprLogDelegate) в Grp c .Core.Internal.NativeLogRedirector ( c .Core.Internal.NativeMethods native) [0x00028] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ Internal \ NativeLogRedirector.cs: 49 в Grp c .Core. Internal.NativeExtension..ctor () [0x00011] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ Internal \ NativeExtension.cs: 44 в Grp c .Core.Internal.NativeExtension .Get () [0x00022] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ Internal \ NativeExtension.cs: 65 в Grp c .Core.Internal.NativeMethods.Get () [0x00000] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ Internal \ NativeMethods.cs: 49 в Grp c .Core.GrpcEnviron ment.GrpcNativeInit () [0x00016] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ GrpcEnvironment.cs: 373 в Grp c .Core.GrpcEnvironment..ctor () [0x0001e ] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ GrpcEnvironment.cs: 302 в Grp c .Core.GrpcEnvironment.AddRef () [0x00028] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ GrpcEnvironment.cs: 78 в Grp c .Core.Channel..ctor (System.String target, Grp c .Core.ChannelCredentials credentials, System.Collections .Generi c .IEnumerable`1 [T] options) [0x00041] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ Channel.cs: 70 при Grp c .Core .Channel..ctor (цель System.String, учетные данные Grp c .Core.ChannelCredentials) [0x00000] в T: \ src \ github \ grpc \ src \ csharp \ Grp c .Core \ Channel.cs: 55 в aiVRR.MobileApp. Android .Helpers.ServiceClient.Connect () [0x00002] в C: \ ActiveDev \ Act \ RecordingSystems \ VideoRecorder \ aiVRR.Mobile \ aiVRR.MobileApp.Android \ Helpers \ ServiceClient.cs: 78 }

Я также пытался скопировать grpc_cshar_e xt.dll это в .. \ obj \ Debug \ 90 \ android по событию post build, но все равно возникает та же ошибка. Есть подсказка?

...