본문으로 바로가기

Getting PlatformNotSupportedException when authenticating to GeoTab

mdevol
원글 작성자

I'm trying to upgrade the Geotab.Checkmate.ObjectModel nuget package from ver 11.118.421 to ver 11.132.485. However, when I try to run my application after upgrading, I get the following runtime error when authenticating (AuthenticateAsync()) to Geotab:

System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Net.Http.HttpClientHandler.set_CheckCertificateRevocationList(Boolean value)
at Geotab.Checkmate.Web.HttpMessageHandlerBuilder.PropertySetter.SetCheckCertificateRevocationList(HttpMessageHandler& httpMessageHandler, Nullable`1& value)
at Geotab.Checkmate.Web.HttpMessageHandlerBuilder.Build()
at Geotab.Checkmate.Web.WebServerInvoker.CreateSharedHttpClient()
at Geotab.Checkmate.Web.WebServerInvoker..cctor()


As I understand this error message, a newer version of the .NetFramework is needed than what the application is running, which in my case is 4.6.2. Could you please let me know what is the minimum supported .NetFramework version for the latest version of Geotab.Chackmake.ObjectModel.

대화에 참여하기

You need to be logged in to reply to this post and participate in the Geotab Community discussions.

답글 12개

EishiFUN
커뮤니티 관리자

Hey @mdevol ,

Thank you for bringing this up in our community. I talked to our dev team and this was not expected to happen. I thought at first when I looked at this page: https://www.nuget.org/packages/Geotab.Checkmate.ObjectModel#readme-body-tab That you needed to be on .net 8 but when I talked to the dev they told me "The nuget package is supposed to support .net framework, they don't necessarily "need" to be on .net 8"

We have opened a dev ticket MYG-138208 for you reference to look into this more. I will let you know what I hear from that investigation as soon as I do. If there is more information we need or anything I will reach out.

Have a great day!
Eishi FUN

mdevol
원글 작성자

@EishiFUN Thanks, I have a very small test app that reproduces this problem if it would be helpful. If you're interested in it, just let me know where to send it.

EishiFUN
커뮤니티 관리자

Thank you I appreciate it @mdevol. We were also able to reproduce it when we tested it

mdevol
원글 작성자

Any idea when there will be a new release to fix this issue?

EishiFUN
커뮤니티 관리자

@mdevol I got a response from our team today about this: "The minimum .net framework version needed is 4.7.2. The user can update to that version to stop getting the exception. If they do not want to upgrade - we will have a fix ready by next week."

mdevol
원글 작성자

@EishiFUN Thanks for the update. I tried to update our project to 4.7.2, but couldn't get it build for non-GeoTab reasons. So, we're holding at 4.6.2 for now. I'll keep an eye out for the fix next week.

EishiFUN
커뮤니티 관리자

@mdevol Hey I did get an update that there is a myG update they are waiting on so this will be held up until next Tuesday. If I hear anything else I will let you know.

mdevol
원글 작성자

@EishiFUN Ok, thanks

mdevol
원글 작성자

@EishiFUN I got the latest GeoTab package that was released on Monday and was able to apply to our code with no issues. So consider this closed. Thanks for the help,

EishiFUN
커뮤니티 관리자

@mdevol Hey thanks a lot for following up! I am glad this ended up working. Thank you for being patient with us and bringing it up here in the community.

Pease reach out any time you have questions. We are always happy to help

mdevol
원글 작성자

@EishiFUN Bad news, this issue is back with the latest GeoTab nuget package 11.143.432. As mentioned above this issues was resolved in the prior nuget package 11.139.528. We are still using .NetFramework 4.6.2.

Here is the call we are making into GeoTab:

await geoTabAPI.AuthenticateAsync();

Here is the stack dump for the latest nuget package:

Inner Exception 2: System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Net.Http.HttpClientHandler.set_CheckCertificateRevocationList(Boolean value)
at Geotab.MachineSettings.GeneralMachineSettings..cctor()
--- End of inner exception stack trace ---
Inner Exception 1: System.TypeInitializationException: The type initializer for 'Geotab.MachineSettings.GeneralMachineSettings' threw an exception.
at Geotab.MachineSettings.GeneralMachineSettings.get_ApplicationVersion()
at Geotab.Checkmate.Web.WebServerInvoker..cctor()
--- End of inner exception stack trace ---
Outer Exception: System.TypeInitializationException: The type initializer for 'Geotab.Checkmate.Web.WebServerInvoker' threw an exception.
at Geotab.Checkmate.Web.WebServerInvoker.get_SharedHttpClient()
at Geotab.Checkmate.Web.WebServerInvoker.d__54`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Geotab.Checkmate.Web.WebServerInvoker.d__28`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Geotab.Checkmate.Web.WebServerInvoker.<>c__DisplayClass60_0`1.<b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Geotab.Tasks.TaskExtension.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at Geotab.Tasks.TaskExtension.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Geotab.Tasks.TaskExtension.d__8`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Geotab.Checkmate.Web.WebServerInvoker.d__25`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Geotab.Checkmate.API.d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Geotab.Checkmate.API.d__47.MoveNext()

EishiFUN
커뮤니티 관리자

Hey @mdevol thanks for reaching out and sorry has interrupted you again let me talk to the team who worked on this and see what they say. I will let you know what I hear from them as soon as I do!

여전히 궁금한 점이 있으신가요?