有没有一种方法可以使用Roslyn中的Compilation对象从引用的程序集中获取程序集级属性?

时间:2019-03-28 03:51:32

标签: c# roslyn

我需要在项目的引用程序集中获得几个程序集级别属性。 Compilation对象有一个ExternalReferences列表,但是列表中的对象没有携带很多有关所引用程序集的信息。我需要一种从引用的程序集获取程序集级属性的方法

1 个答案:

答案 0 :(得分:0)

如果您有编译内容,则可以为每个外部参考获得IAssemblySymbol。

var assemblySymbol = (IAssemblySymbol)compilation.GetAssemblyOrModuleSymbol(externalAssemblyRef);

然后给定一个IAssemblySymbol,您可以使用GetAttributes()方法获取程序集级别的属性。

var assemblyAttributes = assemblySymbol.GetAttributes();