Visual Studio 2019“无法从packages.config 解析版本值'1.0.0-preview2'”

shm*_*mob 1 vb.net nuget microsoft-graph-api

我正在尝试在我的公司使用 Microsoft 的 Graph API,并且我正在关注在线文档来完成这项工作。我在 VB .NET 中工作,我正在按照它的说明导入 Microsoft.Graph.Auth 包,当我构建代码时,出现上述错误。请参见下面的截图。

我无法在网上找到解决方案。我不知道这是否与它是预览包有关?这很奇怪,因为这是微软指示我们做的......

Imports Microsoft.Identity.Client
Imports Microsoft.Graph
Imports Microsoft.Graph.Auth

Public Class Graph
    Private clientId As String = System.Configuration.ConfigurationManager.AppSettings("GraphClientId")
    Private redirectUri As String = System.Configuration.ConfigurationManager.AppSettings("RedirectUri")
    Shared tenantID As String = System.Configuration.ConfigurationManager.AppSettings("GraphTenant")
    Private clientSecret As String = System.Configuration.ConfigurationManager.AppSettings("GraphSecret")
    Public authProvider As ClientCredentialProvider = Nothing
    Public Sub Initialize()
        Dim confidentialClientApplication As IConfidentialClientApplication = ConfidentialClientApplicationBuilder.Create(clientId).WithTenantId(tenantID).WithClientSecret(clientSecret).Build()
        authProvider = New ClientCredentialProvider(confidentialClientApplication)
    End Sub

    Public Sub GetAllUserTasks()
        Initialize()
        Dim graphClient As New GraphServiceClient(authProvider)
        Dim tasks = graphClient.[Me].Planner.Tasks.Request().GetAsync()
        Debug.Print(tasks.Result.Item(0).Title)
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助!

在此处输入图片说明

小智 6

您使用的是哪个版本的 nuget.exe?您可以通过. C:\cps2\.nuget\NuGet.exe在控制台窗口中执行来获取版本号。

如果版本号低于 4.3.0,则从https://www.nuget.org/downloads下载最新版本,并将当前版本替换C:\cps2\.nuget\NuGet.exe为新版本。这是因为Microsoft.Graph.Auth使用 SemVer v2.0.0,它与 4.3.0 之前的 NuGet 客户端不兼容。这在此处记录https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#semantic-versioning-200