入门指南
一、说明
TouchSocket(Pro)系是基于.Net发布的程序集系列,所以它可以被用于对应.Net版本的C#、F#、VB.net等语言项目。它不区分您的项目是控制台、Winform、Wpf、或者是Aspnetcore,它统统都支持。
下面我们将以最简单的C# 控制台
程序作为入门,让您最直观的感受ToucSocket的强大。
二、发 布平台说明
TouchSocket(Pro)系是基于net45
、net481
、netstandard2.0
三个平台作为长期发布平台。net6.0作为最新稳定版支持平台。net7.0(目前)作为最新发布平台。
其中细节如下:
- net45:保证了在.Net Framework上的最低支持版本。基本上支持全系99%的功能。
- net481:这是在net45的依赖基础之上,额外添加了一些微软官方库,以支持达到net6.0一样的功能(例如:Span、ValueTuple、ValueTask等)。
- netstandard2.0:这是保证了在一些通用平台上的最低依赖。基本上支持全系99%的功能。
- net6.0:这是目前最新的稳定版发布平台,它在最低依赖的前提下,还保证了全部功能。
- net7.0:这是目前最新的发布平台,我们会在该平台上开发最能尝鲜的功能(例如:AOT等)。
一般来说,这些版本的发布平台,您不需要关心如何选择。因为如果你是使用Nuget包,那么它将自动选择最合适的版本。如果您是使用dll,或者源码编译,那么您需要根据您的项目选择对应的最低发布平台。
对于Unity3d的用户朋友,我们建议您使用net45
或者netstandard2.0
作为发布平台。当然如果您能自行解决较高版本的依赖问题,那么您也可以使用net481
。
三、创建项目
下面我们将以vs2022作为示例:
如果您选择vs code等其他的编译工具,那么我相信您已不是新手。那么您只需要安装TouchSocket(Pro)的最新nuget包即可。
2.1 创建新项目
2.2 选择项目类型
2.3 配置项目名称和路径
2.4 选择Net版本
四、安装
4.1 Nuget安装
右击项目=》点击“管理Nuget程序包”。
点击“浏览”,然后在搜索框输入TouchSocket
,然后在搜索结果中选择。最后点击安装。
4.2 PackageReference
单击项目,打开项目编辑,然后在空白根内部引用。
<ItemGroup>
<PackageReference Include="TouchSocket" Version="1.2.3"/>
</ItemGroup>
实际使用时,可能需要安装的是其他组件,例如TouchSocket.Dmtp
。所以请直接安装所需组件库。同时Version="1.2.3"可能不是最新的版本,请前往Nuget官网查看。
4.3 Dll直接引用
在Nuget官网中,选择需要的,然后选择“Download package”,即可下载一个后缀为.nupkg
文件。
如果下载速度较慢,可以考虑使用迅雷等工具加速。同时不同的包可能有不同的依赖,所以依赖包也需要下载。
当然你可以通过nuget.exe
直接下载,这样的好处就是依赖库它会一起下载。首先你需要到nuget下载可运行程序。一般选择Windows x86 Commandline
的最新的即可。本示例使用v6.7.0
.
然后把下载好的nuget.exe
放到任意目录下。
然后使用cmd
、或者powershell
等工具进入该目录(比较简单的操作是,先打开该目录,然后按住shift
键,然后右击鼠标,会有在此处打开命令行
或powershell
等选项)。然后执行下列命令。
.\nuget.exe install TouchSocket -Version 1.2.3 -SolutionDirectory . -PackageSaveMode nupkg
实际使用时,可能需要安装的是其他组件,例如TouchSocket.Dmtp
。所以请直接安装所需组件库。同时Version="1.2.3"可能不是最新的版本,请前往Nuget官网查看。
然后会在当前目录下,生成一个名为“packages”的文件夹。在这个文件夹就有所有依赖的库。
然后将下载的后缀为.nupkg
的文件,通过压缩工具解压
(如果是通过nuget.exe下载的话,不用解压)。得到如下目录结构。
然后进入“lib”的文件夹。选择对应平台。
一般来说,所有基于.NET Framework的项目,都最好引用net45的库。然后其他版本的,选择最近的,较低的库即可。在本示例中,选择netcoreapp3.1的库。
把下列文件引用到项目即可。
五、毕业
恭喜你,到这里,你就完成了入门的教学,你可能会好奇,做了这么多,还是什么都没有做啊。这是因为TouchSocket并不是一个单功能的,而是一个多功能程序库。所以,你必须在其他模块中查看你所需要的内容。
祝你好运!!!