if I add a .NET library using "add reference", then is it a fixed path? - There is no path involved while working with assemblies/binaries in project.
Here is the practice steps you can follow,
- In root folder of your project, there should be binaries/dependencies folder, where you'll store path-less(which is either not installed in your workstaion or third party like iTextSharp,telerik) assemblies.
You will reference required assemblies from this project's folder only.
When you deploy/publish, make sure you set copy Local option set to True. Select assembly from References tab, then navigate to properties - You are telling visual studio to copy all these referenced assemblies to bin directory of your published/deployed directory.
if I add a .NET dll from a location using "add reference", then should the path be exactly same when it is deployed on client's machine? - Above practice will eliminate such possibilities.
Whether project is installation or web, its published copy must contain all the dependencies so we call it a package.