使用 Manatee.trello 获取用户列表时出现 MissingMethodException

Getting MissingMethodException when using Manatee.trello to get list of users

我有以下代码,旨在获取一个组织的所有用户的列表。

public static IEnumerable<Member> ListTrelloUsers()
    {
        var serializer = new ManateeSerializer();
        TrelloConfiguration.Serializer = serializer;
        TrelloConfiguration.Deserializer = serializer;
        TrelloConfiguration.JsonFactory = new ManateeFactory();
        TrelloConfiguration.RestClientProvider = new RestSharpClientProvider();
        TrelloAuthorization.Default.AppKey = ApplicationKey;
        TrelloAuthorization.Default.UserToken = GrandToken;

        var myOrganization = Member.Me.Organizations.FirstOrDefault().Id; //Exception thrown here.
        var orgToAddTo = new Organization(myOrganization);

        return orgToAddTo.Members.AsEnumerable();
    }

但是我得到了

System.MissingMethodException

随手

RestSharp.IRestRequest RestSharp.RestRequest.AddFile(System.String, Byte[], System.String)

那么为什么会抛出这个异常,正确工作的代码应该是什么样的?

澄清

我也将接受不基于 Manatee.Trello 的工作 C#/ASP.Net MVC 代码作为答案。 (包括纯 API 调用。)

我试过直接使用组织 ID 作为

var orgToAddTo = new Organization(OrganisationId);

但是当我调用该方法的返回对象(例如使用 Count())时,这只会导致稍后抛出相同的异常。

更新:我尝试将构建设置为 Release 而不是 Debug,现在(相同的)异常被抛出

TrelloConfiguration.RestClientProvider = new RestSharpClientProvider();

显然,缺少方法的 class 位于程序集中,与您在编译项目时使用的程序集不同。仔细检查并确保在编译和执行时使用与上述 class 相同的程序集。 根据您提供的信息,这是我最好的线索。

  • 基本上,检查项目参考并确保您使用正确的 class-holding 组件。

这是我很久以前报告的 RestSharp 问题,尽管他们否认这是一个问题。如果您使用的是 .Net 4.5+,您可以尝试 Manatee.Trello.WebApi 包而不是 Manatee.Trello.RestSharp。

TrelloConfiguration.RestProvider = new WebApiClientProvider();

Here's my Trello card for tracking the issue. This and this 是我创建的 RestSharp 问题。

我也能够重新创建它,但没有得到他们的帮助来解决它。