Hi
I encountered a gRPC 'Method Not Found Grpc.Net.Client.GrpcChannelOptions.set_HttpClient' error when trying to remote Cube to a remote DMS via dataminer.services.
Any idea how I can fix it please? Missing libraries?
- The error was observed on Cube running on several machines with Windows Server 2016 but connection ok on Windows 11 machines remoting in via dataminer.services.
- The error shows up on Cube client version 10.4.2413 (current latest on dataminer.services) and on DMS-sourced version 10.3.12.
- Tried uninstall Cube, removed dir C:\Users\myuser\AppData\Local\Skyline, and reinstall Cube again, still shows the same error.
- SLCubeLog (see below) appears to show Cube can reach the remote DMS.
- After a failed login attempt, mouse over the connection entry on the Cube Launcher, it shows the remote DMS version. Another evidence that Cube can reach the remote DMS.
- The DMS is on 10.3.12 configured with .NET Remoting and not gRPC.
- Already tried switching to gRPC in ConnectionSettings.txt but was Cube became unstable it crashed after a short while, so reverting to .NET Remoting - the only stable option for local Cube on WinServer 2016 and for remote Cube on Win11.
- Unlike remote Cube, HTML Monitoring from browser works fine regardless of Windows version.
SLCubeLog from Cube v10.4.2413.2318
----------- LogID: 1 -----------
Info
ServerTime: dd/mm/yyyy hh:27:34
ClientTime: dd/mm/yyyy hh:27:34
Message : Product version: 10.3.2343.2648-b2b4dea5
....
----------- LogID: 5 -----------
Info
ServerTime: dd/mm/yyyy hh:27:35
ClientTime: dd/mm/yyyy hh:27:35
Message : Unable to retrieve DMS 'mydns-myorg.ON.DATAMINER.SERVICES'
Exception : System.AggregateException: Failed to setup a background connection ---> System.MissingMethodException: Method not found: 'Void Grpc.Net.Client.GrpcChannelOptions.set_HttpClient(System.Net.Http.HttpClient)'.
at Skyline.DataMiner.Net.GRPCConnection.GRPCConnection.Init(Uri endPointUrl, Boolean makeConnection)
at Skyline.DataMiner.Net.GRPCConnection.GRPCConnection..ctor(Int32 portOverride, Uri endPointUrl, ConnectionAttributes attributes, String subDir)
at Skyline.DataMiner.Net.ConnectionSettings.GetConnection(String hostName, ConnectionAttributes extraAttribs, Type[] supportedTypes)
at Skyline.DataMiner.Client.Components.login.ViewModel.LoginViewModel.RetrieveDMSNameSync()
--- End of inner exception stack trace ---
at Skyline.DataMiner.Client.Components.login.ViewModel.LoginViewModel.RetrieveDMSNameSync()
---> (Inner Exception #0) System.MissingMethodException: Method not found: 'Void Grpc.Net.Client.GrpcChannelOptions.set_HttpClient(System.Net.Http.HttpClient)'.
at Skyline.DataMiner.Net.GRPCConnection.GRPCConnection.Init(Uri endPointUrl, Boolean makeConnection)
at Skyline.DataMiner.Net.GRPCConnection.GRPCConnection..ctor(Int32 portOverride, Uri endPointUrl, ConnectionAttributes attributes, String subDir)
at Skyline.DataMiner.Net.ConnectionSettings.GetConnection(String hostName, ConnectionAttributes extraAttribs, Type[] supportedTypes)
at Skyline.DataMiner.Client.Components.login.ViewModel.LoginViewModel.RetrieveDMSNameSync()<---
Problem has been resolved, thanks to Skyline support's .... - I'd name the person but in case they don't want to be named.
Sharing the knowledge with the community here...
Remote Cube requires newer version of .NET Framework 4.7 / 4.8.
.NET Framework 4.6.x ok for LAN Cube but is not enough for remote Cube.
Remote Cube on Windows 11 works fine because Win11 comes with the newer .NET Framework, e.g. v4.8.1.
On docs.dataminer.services, in the remote cube requirements we added a link to the cube client requirements, and there we then updated the minimum required .Net Framework version from 4.6.2 to 4.7.2.
Thanks for sharing the resolution to your issue. I’ll check if this is something that we need to add in the Remote Cube requirements on docs.dataminer.services