title: How to programmatically determine if .NET assembly is installed in GAC?
body: <p>What's the easiest way to check programmatically if an assembly is registered in the GAC (Global Assembly Cache) on the local machine?  Is there some easy to use .NET API where I can give it a location to an assembly DLL or an Assembly object itself to check if it exists in GAC on the local machine?  In my case the assembly I'm checking will already be loaded in the current AppDomain of the program checking so I'm not sure calling <code>Assembly.ReflectionOnlyLoad</code> and catching an exception will work like I've seen suggested in other posts, plus that seems kind of hacky.</p>
  
  <p>Ideally I'd like to avoid calling an external executable like <code>gacutil.exe</code> to check.</p>