找不到方法:Void Microsoft.PowerBI.Api.V2.PowerBIClient..ctor-Power BI Embedded

时间:2018-10-29 15:41:56

标签: asp.net asp.net-mvc powerbi

我对Power BI Embedded有问题。 我想在部分视图中嵌入Power BI报告。 按照指南,我在控制器上创建了以下方法:

public ActionResult Report()
    {
        credential = new UserCredential(username, passwordPowerBI);
        Authorize().Wait();

        ReportEmbed myReport = new ReportEmbed();

        using (var client = new PowerBIClient(new Uri(apiUrl), tokenCredentials))
        {
            EmbedToken embedToken = client.Reports.GenerateTokenInGroup(groupId, reportID, new GenerateTokenRequest(accessLevel: "View"));
            Report report = client.Reports.GetReportInGroup(groupId, reportID);

            myReport.reportID = reportID;
            myReport.embedURL = report.EmbedUrl;
            myReport.embedToken = embedToken.Token;
        }
        return PartialView(myReport);
    }

    private static Task Authorize()
    {
        return Task.Run(async () => {
            authenticationResult = null;
            tokenCredentials = null;
            var authenticationContext = new AuthenticationContext(authorityUrl);

            authenticationResult = await authenticationContext.AcquireTokenAsync(resourceUrl, clientID, credential);

            if (authenticationResult != null)
            {
                tokenCredentials = new TokenCredentials(authenticationResult.AccessToken, "Bearer");
            }
        });
    }

在视图中,我只是尝试查看我的报告。 但是应用程序会遇到此异常:

enter image description here

(对不起,有些文字是意大利语。“ Impossibile trovare il metodo”的意思是“未找到方法”。)

出什么问题了? web.config中缺少某些内容吗?

1 个答案:

答案 0 :(得分:0)

似乎版本与程序集不匹配。编译时会找到正确的程序集,而运行时会加载旧版本的客户端。检查部署,并确保使用正确的程序集。