Taurian110 wrote: Why is it that whenever we add a reference to a class, the copy local property of that reference is set to TRUE. Why do we need to copy that locally when we are using a Global Class Library? In fact, the value of the Local Copy property depends on how you add reference to the assembly. If you simply add reference to another project in the current solution, then the Local Copy is set to True. If you add reference to your assembly from the the Framework SDK folder C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322, or the assembly is found in the GAC, the value of the Local Copy should be false. For more information, you can see CopyLocal property[^] Taurian110 wrote: When I change it to Copy Local = False, my app dies with following message: An unhandled exception of type 'System.IO.FileNotFoundException' occurred in MyApp.exe Looks like the CLR does not know how to load your assembly, you can take a look at the How the Runtime Locates Assemblies[^] to see how to make it work properly.