TODO

本文仍在不断完善中……
有任何建议请留言回复。

编译、开发

Visual Studio 及 VS Code

微软现已免费开放 VS社区版 及 VS Code,可惜 VS Code 不支持VB,也做了不少功能的阉割,还是建议各位使用VS社区版作为开发和学习的主要工具
https://visualstudio.microsoft.com/zh-hans/downloads/

Visual Studio SDKs

https://dotnet.microsoft.com/download/visual-studio-sdks

Microsoft .Net Compilers

自 .NET 4.0 之后,.NET框架已经不再包含编译器了,如果你的工程需要编译最新的代码,需要自行下载编译工具包
https://www.nuget.org/packages/Microsoft.Net.Compilers
https://github.com/dotnet/roslyn

SharpDevelop

免费、开源的 .NET 编程工具,如果你只是轻量级用户,可以不用下载庞大的VS,而用这个软件来代替
https://github.com/icsharpcode/SharpDevelop/releases

跨平台开发 Mono

https://www.mono-project.com/

DotNet Pinvoke

.NET 本地调用库,将所有系统常用API封装为类库,不过目前已为只读状态
https://github.com/dotnet/pinvoke
直接下载指定库:
https://github.com/dotnet/pinvoke?tab=readme-ov-file#distribution

Web、网络开发

Json .NET

效率很高,使用很方便的JSON序列化类库,缺点是库文件比较大,已经有 500K+
支持 JsonPath
https://www.newtonsoft.com/json
https://www.nuget.org/packages/Newtonsoft.Json/

STLib.Json

比较新颖的JSON库,支持 JsonPath,文件只有 100K+
https://debugst.github.io/STJson/tutorial_cn.html
https://github.com/DebugST/STJson/blob/main/README_CN.md

FastJSON

另一个JSON序列化的选择,更快、更轻巧
可惜不支持 JsonPath
https://github.com/mgholam/fastJSON
https://www.codeproject.com/Articles/159450/fastJSON
https://www.nuget.org/packages/fastJSON

HtmlAgilityPack

一款开源的HTML解析组件,可以自动修复未闭包的HTML标签,解析速度快,采用XPath方式定位元素
Nuget https://www.nuget.org/packages/HtmlAgilityPack
XPath教程 http://zvon.org/xxl/XPathTutorial/General_chi/examples.html

Fizzler

HtmlAgilityPack 的扩展类,可以采用CSS查询方式来选取元素
https://www.nuget.org/packages/Fizzler/
https://www.nuget.org/packages/Fizzler.Systems.HtmlAgilityPack/
(两个都要下载)

CssSelectors

另一款基于 HtmlAgilityPack 的扩展类,同样可以采用CSS查询元素
https://www.nuget.org/packages/HtmlAgilityPack.CssSelectors/
https://www.nuget.org/packages/HtmlAgilityPack.CssSelectors.NetCore/
(二选一即可)

Unirest-NET

一个轻量级的 HTTP 请求库,.NET 4+
http://unirest.io/net
https://www.nuget.org/packages/Unirest-API/

RestSharp

最受欢迎的 HTTP 请求库,106版之后只支持4.5.2+,105版支持3.5+
https://restsharp.dev/
https://www.nuget.org/packages/RestSharp/

图像、多媒体

Magick.NET

目前最强大、支持图片格式最多的图片处理工具库,可以解析绝大部分图片格式,包括 AVIF、HEIC、WEBP 等新兴格式
官方 https://github.com/dlemstra/Magick.NET
教程 https://blog.clso.fun/posts/238.html

LibWebP-NET

在.NET中解析和保存WebP格式图片
官网 https://github.com/imazen/libwebp-net
教程 https://blog.clso.fun/posts/vb-net-webp.html

ZXing .NET

基于 ZXing 项目的二维码生成、读取类库
官网 https://github.com/micjahn/ZXing.Net
nuget https://www.nuget.org/packages/ZXing.Net/
示例 https://blog.clso.fun/posts/vb-net-zxing-net-qr-maker.html

NAudio

NAudio 是一款.NET环境下的源生音频处理库,非常强大
https://github.com/naudio/NAudio

libZPlay

一个基于WinAPI开发的音频媒体播放、录制类库,不过版本太老了,最后更新日期是2010年
http://libzplay.sourceforge.net/

SVG.NET

在.NET中读取矢量图形SVG格式
https://github.com/vvvv/SVG
https://www.nuget.org/packages/Svg/
var byteArray = Encoding.ASCII.GetBytes(svgFileContents);
using (var stream = new MemoryStream(byteArray))
{
    var svgDocument = SvgDocument.Open(stream);
    var bitmap = svgDocument.Draw();
    bitmap.Save(path, ImageFormat.Png);
}

libvlc、Vlc.DotNet、libvlcsharp

VLC 是一款开源、多平台的媒体播放器,而其开发团队同时也开放了 libVlc 类库的访问权,可以让其他人调用API来使用VLC播放器。libvlc 使用 LGPL 协议,可以商用链接其类库。
教程:【VB.NET】使用 VlcLib(VlcDotNet)播放在内存中的视频流

libVlc

若您想在自己的程序中使用 libvlc,请先下载 libvlc 运行库以及插件包,之后才可以使用 Vlc.DotNetlibvlcsharp 来进行调用。(个人推荐 2.2.5.1 版)
nuget - https://www.nuget.org/packages?q=libVlc
Windows用户请下载 - https://www.nuget.org/packages/VideoLAN.LibVLC.Windows/
或者安装一个 Vlc 播放器,提取里面的libvlc.dlllibvlccore.dllplugins文件夹即可!
VLC播放器源码及安装程序 - https://download.videolan.org/vlc/

Vlc.DotNet

Vlc.DotNet 是一款 libvlc 的第三方包装库,可以很容易地将 libvlc 嵌入自己的 .NET 程序中。
https://github.com/ZeBobo5/Vlc.DotNet
https://www.nuget.org/packages?q=Vlc.DotNet
Vlc.DotNet.Core Vlc.DotNet.Core.Interops 必备,之后根据你的程序类型选择Vlc.DotNet.Forms 或是Vlc.DotNet.Wpf

libvlcsharp

libvlcsharp 是 libvlc 官方所开发的包装库,但是不支持旧版本的 .NET。
https://www.nuget.org/packages?q=libvlcsharp

控件、UI

MiniBlink

最小巧的 HTML5 浏览器核心,主要用于 Web 界面开发,不适合当作浏览器
官方 https://github.com/weolar/miniblink49
教程 https://blog.clso.fun/posts/miniblink.html

CefSharp

在.NET中封装一个谷歌 Chromium 浏览器,抛弃辣鸡的IE核心
官方 https://github.com/cefsharp/CefSharp
教程 https://www.cnblogs.com/huangkaiyan10/p/4162666.html

SharpShell

由C#所开发的 Windows Shell 外壳扩展库,可自定义资源管理器内的菜单、图标、拖拽操作、描述文本、预览、缩略图、文件属性页面、桌面任务栏扩展等等。
https://github.com/dwmkerr/sharpshell

数据库、搜索引擎

Lucene .Net

基于文件的数据索引服务,可用作搜索引擎
从Java源码改编而来(不过目前这个项目基本是死了)
3.0版与2.9版很多接口都改变了,如果你想要使用,我个人还是建议使用2.9版的
官网 https://lucenenet.apache.org/
下载 https://github.com/apache/lucenenet/releases

SQLite .Net

大名鼎鼎的文件数据库,比 Access 高不知道哪里去
官网 https://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki
下载 https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

LiteDB

NoSQL的文件数据库,单一类库、单一文件数据存储,.NET 3.5+
官网 https://www.litedb.org/
源码 https://github.com/mbdavid/LiteDB
中文Wiki https://github.com/lidanger/LiteDB.wiki_Translation_zh-cn/wiki

MySQL

https://dev.mysql.com/downloads/

压缩、解压

SharpCompress

纯C#编码的开源类库,支持对ZIP、RAR、7Z、Tar等文档的解压,只能运行在 .NET 3.5+
有限支持ZIP、Tar等压缩格式,不支持压缩为7Z格式
https://github.com/adamhathcock/sharpcompress
https://www.nuget.org/packages/SharpCompress/

SharpZipLib

纯C#编码的开源ZIP文档压缩与解压类库,支持.NET 2.0+
官网 https://icsharpcode.github.io/SharpZipLib/
示例 https://blog.clso.fun/posts/vb-net-SharpZipLib.html

SevenZipSharp

一款对于 7z.dll 进行的.NET封装,用于解压缩7z格式文件
https://sevenzipsharp.codeplex.com/

UnRAR

WinRAR 官方提供的对于RAR文件的解压库,内含C#、VB.NET的解压源码示例,基本上也就是一个对 unrar.dll 的封装
特点是API接口稳定,更新时只需要替换一个新版本的 unrar.dll 就可以了
https://www.rarlab.com/rar_add.htm

文档、本地化

Pinyin4Net

可以将汉字转换为汉语拼音,.NET 4+
https://github.com/hyjiacan/Pinyin4Net/
https://git.oschina.net/hyjiacan/Pinyin4Net

UTF-unknown

一个文本编码识别类库,可以智能识别文本的原始编码,仅支持 .NET 4+ 以上
https://github.com/CharsetDetector/UTF-unknown

OpenCC (Open Chinese Convert 開放中文轉換)

用于繁简转换的开源项目,更加本地化的繁简转换功能
https://github.com/BYVoid/OpenCC

NPOI

一个.NET环境下的Office文档读写类库,不需要机器安装过Office软件,.NET 4+
https://github.com/tonyqus/npoi