我使用以下命令从应用程序中的所有已加载程序集中获取Product
属性:
AssemblyProductAttribute product
= (AssemblyProductAttribute)Attribute.GetCustomAttribute(
assembly, typeof(AssemblyProductAttribute));
我想为当前加载的程序集引用的所有程序集获取此属性。但是GetReferencedAssemblies()会返回AssemblyName
的数组,因此我无法使用上述代码获取Product
属性。
有没有办法从Assembly
对象获取AssemblyName
对象,或从Product
获取AssemblyName
属性?
答案 0 :(得分:1)
您可以使用Assembly.Load(AssemblyName)
加载程序集 - 这对您来说是否足够好?请注意,一旦加载了程序集,除了卸载AppDomain
之外,您将无法卸载它。当然,如果这些组件无论如何都要加载,那就没有坏处。 (一旦将程序集加载到AppDomain
中,再次使用相同的AssemblyName
将只返回已加载的程序集。)