ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

关于 identityserver4 接入 skywalking System.Data.SqlClient 报错

2020-10-25 17:33:02  阅读:278  来源: 互联网

标签:代码 3.1 System SqlClient 报错 skyapm net identityserver4


环境

  1. identityserver4 3.1.4
  2. skywalking 8.1.0
  3. asp.net core 3.1.8
  4. efcore 3.1.8
  5. skyapm-net 1.0.0

背景

skywalking是什么就不介绍了,百度很多。.net core接入也非常简单:SkyAPM-dotnet

// 1. 添加包
<PackageReference Include="SkyAPM.Agent.AspNetCore" Version="1.0.0" />
// 2. 添加配置文件
"SkyWalking": {
    "ServiceName": "IdentityServer",
    "Namespace": "Infrastructure",
    "HeaderVersions": [
      "sw8"
    ],
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      // 8.1.0 是 v8
      "ProtocolVersion": "v8",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        // 使用环境变量替换
        // "Servers": "192.168.0.230:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000,
        "Authentication": ""
      }
    }
  }
// 3. 添加环境变量
ASPNETCORE_HOSTINGSTARTUPASSEMBLIES="SkyAPM.Agent.AspNetCore"

公司用identityserver4做单点登录和令牌的颁发。于是想用skywalking观察一下identityserver4服务的响应情况。
接入还是那么顺滑。。。
提交代码 -> merge 代码 -> 自动打包镜像上传仓库 -> 部署 一气呵成,简直不要太完美,准备收拾收拾下班回家。

问题

然而事情并没有想象中那么简单,启动报错。。。assmbly System.Data.SqlClient 4.6.1 not found what???

解决之路

Round 1

好吧,很简单嘛,安装一下SqlClient 4.6.1不就好了,提交代码 -> merge 代码 -> 自动打包镜像上传仓库 -> 部署 一气呵成,简直不要太完美,第二次准备下班回家。。。
果然是事情并没有那么简单。。。依然报错。。。

Round 2

那只能是identityserver4 与 skyapm-net 的依赖包冲突了,项目中用的efcore版本为3.1.8,看了下skyapm-net好像是用的3.1.0
难道是这个版本的问题,果断降级。。。提交代码 -> merge 代码 -> 自动打包镜像上传仓库 -> 部署 一气呵成,简直不要太完美,又一次准备下班回家。。。
果然不是efcore版本的问题。。。

Round 3

我项目中也没显式的指定SqlClient用4.6.1,看了下skyapm-net发现它引用的SqlClient版本为4.8.0,那这4.6.1是什么鬼???
不管了那项目中显式引用一下SqlClient4.8.0,保持跟skyapm-net一样总没问题了嘛,提交代码 -> merge 代码 -> 自动打包镜像上传仓库 -> 部署 忐忑等待结果。。。
果然成功了。。。what???好吧,解决了就好,不求甚解。。。又已经下班一个小时了,下班回家。

后记

还是没找到是什么原因,不知道到底是哪儿冲突了,找不到问题所在,不如把锅抛给.net core吧,是不是它还是不够成熟,这个情况是不是应该编译时期就应该暴露出来,或者说在安装依赖的时候就应该提示,emmm....对的就是.net的问题。

标签:代码,3.1,System,SqlClient,报错,skyapm,net,identityserver4
来源: https://www.cnblogs.com/wh-blog/p/13874199.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有