获取程序集的Product属性仅具有AssemblyName

时间:2009-09-15 17:42:49

标签: .net reflection assemblies

我使用以下命令从应用程序中的所有已加载程序集中获取Product属性:

AssemblyProductAttribute product
    = (AssemblyProductAttribute)Attribute.GetCustomAttribute(
        assembly, typeof(AssemblyProductAttribute));

我想为当前加载的程序集引用的所有程序集获取此属性。但是GetReferencedAssemblies()会返回AssemblyName的数组,因此我无法使用上述代码获取Product属性。

有没有办法从Assembly对象获取AssemblyName对象,或从Product获取AssemblyName属性?

1 个答案:

答案 0 :(得分:1)

您可以使用Assembly.Load(AssemblyName)加载程序集 - 这对您来说是否足够好?请注意,一旦加载了程序集,除了卸载AppDomain之外,您将无法卸载它。当然,如果这些组件无论如何都要加载,那就没有坏处。 (一旦将程序集加载到AppDomain中,再次使用相同的AssemblyName将只返回已加载的程序集。)