In order to use an external library in my C# project we need to add it as an assembly reference in form of dll files as the pic below:

but by this way, do I need to put the dll files along with my application in each machine I move my app? or they will be embedded in my application and so no need to always carry them ?
In order to use an external library in my C# project we need to
Share
You can either copy references with the project, embed the libraries as resources, or use ILMerge to generate one large executable. However unless you have a STRONG reason to NOT copy the reference assemblies I would stick with the standard practice of copying the referenced assemblies. (wanting to have just one file for simplicity is not a strong reason to me).
Framework (
System.*) libraries will be installed in the GAC on the target machine so you won’t have to deploy them.Any non-system libraries will either need to be installed in the GAC (ether by you or by a 3rd party installer for their libraries) or copied with the solution.