首页 > 解决方案 > Visual Studio 2019“无法从 packages.config 解析版本值 '1.0.0-preview2'”

问题描述

我正在尝试在我的公司使用 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

非常感谢您的帮助!

在此处输入图像描述

标签: vb.netnugetmicrosoft-graph-api

解决方案


您使用的是哪个版本的 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


推荐阅读