簡體   English   中英

找不到方法:'System.Threading.Tasks.Task`1<!--!0-->

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

我正在使用 Microsoft Graph 應用程序來檢索或創建 OneDrive 文件。 我上周做了一個 POC,一切都很順利。

現在我嘗試將我們的應用程序實現到現有的 MVC 網站中,但我收到了無法找到 System.Threading.Tasks.Task 的奇怪消息:

  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

我懷疑對 System.Threading.Tasks 甚至 System.Web.Http 的綁定引用存在某種問題,但我不確定。

這是我使用的(簡單)代碼:

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

我的 GraphServiceClient 是這樣構造的:

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

.NET 框架版本為4.6.1

我確實擁有正確的同意權限並且確實擁有有效的訪問令牌。

關於我為什么會收到這種錯誤以及如何解決這個問題的任何想法?

非常感謝

經過大量嘗試,我設法解決了我的問題。 由於我們的解決方案和項目包含許多 nuget 包,其中一個是 system.net.http。 顯然,這帶有 package NETStandard.Library.1.6.1。 我發現 system.net.http 的 nuget package 很奇怪,因為這只是在框架本身中。

在將 NETSTandard.Library.1.6.1 升級到最新版本后,我可以刪除 system.net.http nuget 包。

在此之后我必須做的唯一更改是在缺少它的項目中引用 FRAMEWORK system.net.http 並在某些項目中刪除過時的綁定重定向。

現在工作正常:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM