ترتيب Load شدن assembly ها در .net:
- پوشه اي كه برنامه از داخل آن اجرا مي شود
- آدرسي كه در App.Config براي assembly وارد مي شود
- GAC يا Global Assembly Cache

در صورتي كه dll را به GAC اضافه كنيد، اين dll براي تمامي برنامه ها مشترك بوده و در computer به نوعي register‌ مي شوند. كش كردن ارتباطي با سرعت ندارد، تنها براي versioning و distribution استفاده مي شود.
براي GAC كردن لازم است ابتدا assembly را sign كنيد، كه از طريق visual studio قابل انجام است (بر روي پروژه right click كنيد، properties را انتخاب كرده و به قسمت signing برويد و assembly را sign كنيد)
براي عمل GAC كردن مي توان از GACUtil.exe استفاده كرد و يا به پوشه c:\WINDOWS\assembly رفته و dll مورد نظر را داخل آن drag كنيد