.NET开发常用类库
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-sdksMicrosoft .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.DotNet
和 libvlcsharp
来进行调用。(个人推荐 2.2.5.1 版)nuget - https://www.nuget.org/packages?q=libVlc
Windows用户请下载 - https://www.nuget.org/packages/VideoLAN.LibVLC.Windows/
或者安装一个 Vlc 播放器,提取里面的
libvlc.dll
、libvlccore.dll
与plugins
文件夹即可!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
6666666