When adding a new reference to your Visual Studio project by selecting Project | Add Reference, or right-clicking on the project in the Solution Explorer, the Reference Manager will show multiple versions of the same SocketTools assemblies in the list.
For backwards compatibility, SocketTools includes assemblies for multiple versions of the .NET Framework. When you install SocketTools on your development system, information about versions is added to the registry which tells Visual Studio where they can be found.
When you open the Reference Manager, select Assemblies › Extensions and scroll down to where the SocketTools assemblies are listed, you will typically see something like this:
The reason Visual Studio is showing multiple copies of each SocketTools .NET assembly is because it lists every version of the assembly which is compatible with the version of the .NET Framework your project is targeting. In this example, the project is targeting .NET Framework 4.7.2 and is showing each assembly which is compatible with that version.
If you hover your mouse over each entry, a tooltip will show the specific assembly for the entry in the list. Typically, the assemblies are listed in descending order, so the first version of the assembly will be the 4.5 version, the second will be the 4.0 version and the third will be the 2.0 version.
For projects which target .NET 4.5 through 4.8 (typically any project created with Visual Studio 2012 or later), you should use the SocketTools assemblies for version 4.5. You should only use the SocketTools assemblies for version 4.0 if you are building an application which explicitly targets .NET Framework 4.0.
SocketTools .NET Redistribution
Referencing .NET Assemblies
Supported Versions of Visual Studio