public IEnumerable<Asset> GetReferences(Asset assemblyAsset) { if (assemblyAsset.Type != AssetType.Assembly) throw new ArgumentException("Asset must be of type Assembly", "assemblyAsset"); Assembly assembly = assemblyAsset.GetAssembly(); AssemblyName[] references = assembly.GetReferencedAssemblies(); foreach (AssemblyName reference in references) { Assembly asm = this._assemblyLoader.Load(reference.ToString()); if (asm == null) throw new FileNotFoundException("Assembly not found: " + reference.ToString()); Asset asset = ReflectionServices.GetAsset(asm); yield return asset; } }