跳到主要内容
版本:3.0

入门指南

一、说明

**TouchSocket(Pro)**系是基于.Net发布的程序集系列,所以它可以被用于对应.Net版本的C#F#VB.net等语言项目。

它支持您的项目是以下类型:

  • 控制台
  • Winform
  • Wpf
  • AspNetCore
  • Unity3d
  • 其他项目

二、发布平台说明

TouchSocket(Pro)系是基于net45net462net472net481netstandard2.0netstandard2.1平台作为长期发布平台。

net6.0作为C#稳定版支持平台。net8.0(目前)作为最新发布平台。

其中细节如下:

  • net45、net462、net472:保证了在.Net Framework上的最低支持版本。基本上支持全系99%的功能。
  • net481:这是在net45的依赖基础之上,额外添加了一些微软官方库,以支持达到net6.0一样的功能(例如:System.Text.Json等)。
  • netstandard2.0:这是保证了在一些通用平台上的最低依赖。基本上支持全系99%的功能。
  • net6.0:这是目前最新的稳定版发布平台,它在最低依赖的前提下,还保证了全部功能。
  • net8.0:这是目前最新的发布平台,我们会在该平台上开发最能尝鲜的功能(例如:AOT等)。
提示

一般来说,这些版本的发布平台,您不需要关心如何选择。因为如果你是使用Nuget包,那么它将自动选择最合适的版本。如果您是使用dll,或者源码编译,那么您需要根据您的项目选择对应的最低发布平台。

对于Unity3d的用户朋友,我们建议您使用net472或者netstandard2.0作为发布平台。当然如果您能自行解决较高版本的依赖问题,那么您也可以使用net481或者netstandard2.1

三、创建项目

下面我们将以vs2022作为示例:

以最简单的C# 控制台程序作为入门,让您最直观的感受TouchSocket的强大。

说明

如果您选择vs code等其他的编译工具,那么我相信您已不是新手。那么您只需要安装TouchSocket(Pro)的最新nuget包即可。

2.1 创建新项目

2.2 选择项目类型

2.3 配置项目名称和路径

2.4 选择Net版本

四、安装依赖库

4.1 使用Nuget安装

右击项目=》点击“管理Nuget程序包”。

点击“浏览”,然后在搜索框输入TouchSocket,然后在搜索结果中选择。最后点击安装。

4.2 直接编辑PackageReference

直接编辑PackageReference,其原理等同于Nuget。只不过直接编辑较简单,并且新项目支持比较好。

单击项目,打开项目编辑,然后在空白根内部引用。

<ItemGroup>
<PackageReference Include="TouchSocket" Version="1.2.3"/>
</ItemGroup>
信息

该操作仅适用于新项目模版,如果您使用的是vs2019以下的项目模版,则无法直接编辑且使用该方式。

提示

实际使用时,可能需要安装的是其他组件,例如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 -SolutionDirectory . -PackageSaveMode nupkg
提示

实际使用时,可能需要安装的是其他组件,例如TouchSocket.Dmtp。所以请直接安装所需组件库。同时Version="1.2.3"可能不是最新的版本,请前往Nuget官网查看。

然后会在当前目录下,生成一个名为“packages”的文件夹。在这个文件夹就有所有依赖的库。

然后将下载的后缀为.nupkg的文件,通过压缩工具解压(如果是通过nuget.exe下载的话,不用解压)。得到如下目录结构。

然后进入“lib”的文件夹。选择对应平台。

提示

一般来说,所有基于.NET Framework的项目,都最好引用net45的库。然后其他版本的,选择最近的,较低的库即可。在本示例中,选择netcoreapp3.1的库。

把下列文件引用到项目即可。

五、在Unity3d中使用

由于Unity默认不支持直接安装NuGet包,所以一般会选择使用Dll的方式。直接添加到资产中。

下面我们将介绍2种比较常见的方式。

5.1 下载Dll并导入

首先,请按照4.3中,使用Nuget.exe下载dll。这样下载后的文件夹中,应该有TouchSocket运行所依赖的所有dll。

TouchSocket-v2.1为例,下载后,应该有如下目录结构。

其中除了TouchSocketTouchSocket.Core,其他都是依赖库。并且对于不同的平台,依赖库也有所不同。所以我们需要摘出我们需要的dll,并添加到Unity资源中。

|-- packages
|-- Microsoft.Bcl.AsyncInterfaces 8.0.0
|-- Newtonsoft.Json 13.0.3
|-- System.Buffers 4.5.1
|-- System.Memory 4.5.5
|-- System.Numerics.Vectors 4.5.0
|-- System.Runtime.CompilerServices.Unsafe 6.0.0
|-- System.Text.Encodings.Web 8.0.0
|-- System.Text.Json 8.0.4
|-- System.Threading.Tasks.Extensions 4.5.4
|-- System.ValueTuple 4.5.0
|-- TouchSocket 2.1.2
|-- TouchSocket.Core 2.1.2

然后,我们需要明确,在Unity中,我希望使用哪个平台的dll。

一般来说Unity支持.Net Framework 4.x或者.netstandard2.0(高版本为:.netstandard2.1) 。

这里推荐如果是.Net Framework 4.x,那么就选择Net472的dll。如果是.netstandard2.0或者.netstandard2.1,那么就选择.netstandard2.0的dll。

因为.netstandard2.1的TouchSocket,会额外引入了System.Text.Json,所以如果不需要的话使用.netstandard2.0低依赖即可。

5.2 使用Unity包导入

我们在TouchSocket-UnityPackage中,已经提供了Unity包。

其中包含一个测试场景和测试脚本。直接导入到Unity即可使用。

如果已提供的包中,没有你需要的版本,那么可以到适用于Unity3d的TouchSocket包Issue中留言,我们会尽快添加。

备注

一般我们只会添加新版本,所以,如果你需要旧版本,请到自行下载解决。

同时,我们打包使用的是Unity2022,如果是较低版本,也可能无法导入。

六、毕业

恭喜你,到这里,你就完成了入门的教学,你可能会好奇,做了这么多,还是什么都没有做啊。这是因为TouchSocket并不是一个单功能的,而是一个多功能程序库。所以,你必须在其他模块中查看你所需要的内容。

祝你好运!!!