如何在.NET 8控制器中注入TronClient?
解决Tronsharp库中TronClient注入不可访问的问题
可能原因及对应解决方案
1. 未正确安装或引用Tronsharp NuGet包
确保已安装适配.NET 8的Tronsharp包,可通过NuGet包管理器或命令行安装:
dotnet add package Tronsharp
同时在Program.cs和控制器文件顶部添加必要的命名空间引用:
using Tronsharp; using Tronsharp.Configuration;
2. 配置类命名空间错误
你当前使用的TronSharp.Protocol.TronSharpConfiguration命名空间不符合Tronsharp的标准定义,库的配置类通常位于Tronsharp.Configuration命名空间下,修正注入代码如下:
builder.Services.AddSingleton<ITronClient>(provider => { var tronConfig = new TronConfiguration { FullNodeUrl = "https://api.trongrid.io", SolidityNodeUrl = "https://api.trongrid.io", EventServerUrl = "https://api.trongrid.io" }; return new TronClient(tronConfig); });
3. TronClient访问权限问题
- 若你是自定义封装
TronClient类,确保该类使用public修饰符,且正确实现ITronClient接口; - 若使用库自带的
TronClient,检查NuGet包版本是否与.NET 8兼容,尝试更新到最新稳定版。
4. 项目依赖加载异常
清理并重新生成解决方案,确保所有依赖项正确加载:
dotnet clean dotnet restore dotnet build
内容的提问来源于stack exchange,提问作者Kalik Kachinski
相关产品推荐
相关产品推荐

