2

我正在开发一个需要 SMS 网关服务的应用程序。我们公司使用 Plivo 服务。我跟着示例代码。当我尝试构建解决方案时,我收到了两个错误:

错误一:The type 'RestSharp.IRestResponse'1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'RestSharp, Version=105.1.0.0, Culture=neutral, PublicKeyToken=null'

错误2:Cannot implicitly convert type 'RestSharp.IRestResponse'1<Plivo.API.MessageResponse>' to 'RestSharp.IRestResponse<Plivo.API.MessageResponse>'

我没有得到这些错误的原因,因为我通过 NuGet 安装了 Plivo 和 RestSharp API,并且可以在解决方案资源管理器中看到 dll。由于奇怪的类型,第二个错误让我更加困惑'RestSharp.IRestResponse'1

如果有人能就这个问题给我建议,我将不胜感激。

我的源代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RestSharp;
using Plivo.API;
using System.Reflection;

namespace SMSGatewayTest
{
    class Program
    {
        static void Main(string[] args)
        {
            string auth_id = "XXX";     // obtained from Plivo account dashboard
            string auth_token = "YYY";  // obtained from Plivo account dashboard

            RestAPI plivo = new RestAPI(auth_id, auth_token);

            IRestResponse<MessageResponse> resp = plivo.send_message(new Dictionary<string, string>() 
            {
                { "src", "37061549145" }, 
                { "dst", "37068824525" }, 
                { "text", "Hi, text from Plivo." }, 
            });


            if (resp.Data != null)
            {
                PropertyInfo[] proplist = resp.Data.GetType().GetProperties();
                foreach (PropertyInfo property in proplist)
                Console.WriteLine("{0}: {1}", property.Name, property.GetValue(resp.Data, null));
            }
            else
            {
                Console.WriteLine(resp.ErrorMessage);
            }
        }
    }
}

PS 如果我在写问题时遗漏了什么,请提出要求 - 这是我第一次使用 SMS-gateway

4

1 回答 1

2

所以经过几个小时的调查,我设法找出了这个案子。似乎自动 NuGet 安装安装了 RestSharp 版本 100.0.0,并且您需要 105.1.0.0。解决方案是在 NuGet 控制台中输入以下内容:Install-Package RestSharp -Version 105.0.1

于 2015-08-03T14:36:09.383 回答