You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CoinGecko C# API报错:找不到CoinGeckoClient类型

问题解决:找不到CoinGeckoClient类型

核心原因

你使用的CoinGeckoClient类名不正确,在CoinGecko.Net包(3.4.0版本)中,官方客户端类名为CoinGeckoRestClient,而非CoinGeckoClient。同时代码中存在语法错误,初始化客户端时缺少括号。

修复步骤

1. 修正客户端类名

将所有CoinGeckoClient替换为CoinGeckoRestClient:

  • 初始化客户端的代码
  • 所有方法参数中的类型声明

2. 修复语法错误

客户端初始化语句末尾添加括号:

var coinGeckoClient = new CoinGeckoRestClient();

3. 清理冗余包

移除未使用的CoinGecko.API和CoinGeckoAsync包,仅保留CoinGecko.Net即可满足需求。

修正后的关键代码片段

客户端初始化

public static async Task Main(string[] args)
{
    // 创建CoinGecko客户端
    var coinGeckoClient = new CoinGeckoRestClient();

    try
    {
        // ... 原有逻辑
    }
    catch (Exception ex)
    {
        // ... 异常处理
    }
}

方法参数修正

// 获取市值前N的加密货币
private static async Task<List<string>> GetTopCryptosAsync(CoinGeckoRestClient client, int limit)
{
    var coinsMarkets = await client.CoinsClient.GetCoinsMarkets("usd", null, null, null, null, false, "market_cap_desc", 1, limit);
    
    if (!coinsMarkets.Success)
        throw new Exception($"获取前{limit}加密货币失败: {coinsMarkets.Error}");
        
    return coinsMarkets.Data.Select(coin => coin.Id).ToList();
}

同理,修改GetCryptoDataAsync和GetMultipleCryptoDataAsync方法中的参数类型为CoinGeckoRestClient。

验证项目依赖

确保你的项目文件中仅保留必要的包引用:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="CoinGecko.Net" Version="3.4.0" />
    <PackageReference Include="CsvHelper" Version="33.0.1" />
  </ItemGroup>

</Project>

完成以上修改后,重新生成项目即可解决找不到类型的错误。

内容的提问来源于stack exchange,提问作者Muzammil Elahi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:50:00