今天在自己常用的工作机上安装LINQPAD,可以用来查询MSSQL数据库。我忘记是谁推荐给我的啦,但是以前用着觉得还算好用,另外一点就是免费版对我而言足够用啦。
(图源 :pixabay)
安装完LINQPAD,提示我需要安装.NET Core 3.1或者.NET 5.0 ,但是我手欠并没有直接点击“下载/安装”按钮,而是自己去微软网站查找对应的软件包,并下载。
我在微软网站上找到如下内容,看.NET Core这个名称挺高大上,那就选择这个吧:
点击.NET Core进入对应页面后,发现又一堆版本,那么当然选择最新版本喽(v3.1.13)。
然后这个版本(v3.1.13)下有一堆软件包可选:
- SDK 3.1.407
- SDK 3.1.113
- ASP.NET Core Runtime 3.1.13
- .NET Desktop Runtime 3.1.13
- .NET Runtime 3.1.13
从描述上看,SDK是大而全的(包含ASP.NET Core Runtime、NET Desktop Runtime、NET Runtime),但是我有洁癖,不想什么都安装进去,而根据描述,.NET Desktop Runtime 3.1.13应该是我需要的。
于是乎,下载.NET Desktop Runtime 3.1.13并安装,看起来一切顺利。而我当安装完成后运行LINQPAD,竟然被提示如下错误:
The framework 'Microsoft.WindowsDesktop.App', version '3.1.0' was not found.
啥,我第一感觉就是v3.1.13和v3.1.0版本兼容的问题,可是软件不应该向后兼容嘛,莫非非得卸掉v3.1.13重新安装v3.1.0才行?这微软的东西也太不靠谱了。
我Google查了半天上述错误,以及兼容性问题,也没找到答案,为了运行软件,我只好考虑重新安装了,心里顺便又鄙视了微软一把!
然后我安装之前,看了一样我之前下载的安装包,dotnet-runtime-3.1.13-win-x64.exe,咦,竟然没有desktop类似的字样呢?在去网站对照一下,正确的安装包应该是windowsdesktop-runtime-3.1.13-win-x64.exe,也就是说我不小心下载了错误的安装包。我竟然为此鄙视微软!
于是我又想起来前些天在Ubuntu 20.04下配置MSSQL驱动问题,搞了半天死活不好用,于是我怀疑Ubuntu 20.04系统有问题,为此特意降级到Ubuntu 18.04,结果问题依旧,冤枉Ubuntu 20.04了!
然后继续鄙视微软,破驱动竟然没法正常工作!然而最后终于解决这个问题之后,我才发现是Apache 2配置的问题,好吧,正常来讲我觉得MSSQL驱动不应该依赖于Apache 2配置,但是全赖微软也真有些冤枉它。
还有以前玩硬件/软件时,没少在遇到问题时怀疑硬件模块有问题/怀疑软件库或者API有问题,而事实上有问题的硬件模块或者有BUG的软件库/API是十分稀少的,大部分情况是我自己配置不对或者使用方法不对。
因为自己在软件使用(硬件自己瞎玩)有一些年的经验,所有有时候会对自己有蜜汁自信,然而经过这些事情之后,我觉得蜜汁自信要不得,出问题时别先怀疑人家软件硬件有问题,先怀疑一下子自己,是不是自己哪里弄的不对,这才是正确的思路和方法。
(图源 :pixabay)
想起一个段子:
千万不要跟程序员说,你的代码有BUG。他的第一反应是你的环境有问题,第二就是你是傻逼不会用吧!你要跟他这么说,这个程序运行的怎么运行的跟预期不一样,是我操作有问题吗?这货就会第一反应,我擦,这是不是出BUG了?
哎,小丑竟是我自己!