Verthosa
Verthosa

Reputation: 1688

Method not found: 'System.Threading.Tasks.Task`1<!!0>

i'm using the Microsoft Graph Apps to retrieve or create OneDrive files. I made a POC last week and everything worked wonderfully.

Now i tried implementing the our App into an existing MVC website but i'm having weird messages that System.Threading.Tasks.Task cannot be found:

  at Microsoft.Graph.DriveRequest.<GetAsync>d__6.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
   at Microsoft.Graph.DriveRequest.GetAsync(CancellationToken cancellationToken)
   at Microsoft.Graph.DriveRequest.GetAsync()
   at BizzMine.Data.Repositories.OnlineEditorRepo.OnlineEditorRepository.<RequestSuccess>d__10.MoveNext() in C:\Users\geertverthe\Documents\repos\bizzmine\BizzMine.Data.Repositories\OnlineEditorRepo\OnlineEditorRepository.cs:line 89

I suspect that there is some kind of problem with binding references to System.Threading.Tasks or even System.Web.Http but i am not sure.

This is the (simple) code i use:

 Drive myDrive = await _graphServiceClient.Me.Drive.Request().GetAsync();

And my GraphServiceClient is constructed like this:

_graphServiceClient = new GraphServiceClient(
                new DelegateAuthenticationProvider(async (request) => {
                    request.Headers.Authorization = new AuthenticationHeaderValue("bearer", _tokens.AccessToken);
                    await Task.FromResult<object>(null);
            }));

.NET Framework version is 4.6.1

I do have the correct consent permissions and do have a valid access token.

Any idea on why i receive such kind of error and how i can fix this?

Thank you very much

Upvotes: 3

Views: 8748

Answers (1)

Verthosa
Verthosa

Reputation: 1688

After lot of trying i managed to solve my issue. Since our solution and projects contain lots of nuget packages, one of them was system.net.http. Apparantly this came with a package NETStandard.Library.1.6.1. I found it strange to have a nuget package for system.net.http as this is just in the framework itself.

I could delete the system.net.http nuget packages after upgrading NETSTandard.Library.1.6.1 to the latest version.

Only changes i had to do after this was referencing the FRAMEWORK system.net.http in projects where it was missing and removing an obsolete binding redirect in some projects.

It works fine now :-)

Upvotes: 3

Related Questions