using System.Reflection.Metadata; using System.Reflection.PortableExecutable; var assemblyPath = @"C:\MyProject\bin\Debug\netcoreapp3.1\MyLibrary.dll"; var peReader = new PEReader(File.OpenRead(assemblyPath)); var metadataReader = peReader.GetMetadataReader(); foreach (var assemblyReferenceHandle in metadataReader.AssemblyReferences) { var assemblyReference = metadataReader.GetAssemblyReference(assemblyReferenceHandle); var name = metadataReader.GetString(assemblyReference.Name); Console.WriteLine($"Assembly Reference Name: {name}"); }
using System.Reflection.Metadata; using System.Reflection.PortableExecutable; var assemblyPath = @"C:\MyProject\bin\Debug\netcoreapp3.1\MyLibrary.dll"; var peReader = new PEReader(File.OpenRead(assemblyPath)); var metadataReader = peReader.GetMetadataReader(); var assemblyReferenceHandle = metadataReader.GetAssemblyReferenceHandle("System.Xml"); var assemblyReference = metadataReader.GetAssemblyReference(assemblyReferenceHandle); var name = metadataReader.GetString(assemblyReference.Name); Console.WriteLine($"Assembly Reference Name: {name}");This code retrieves the assembly reference for the System.Xml package library used by the MyLibrary.dll assembly and prints its name. In both examples, the `C:\MyProject\bin\Debug\netcoreapp3.1\MyLibrary.dll` assembly is used, and the `metadataReader` object is used to retrieve assembly references. The first example retrieves all assembly references and prints their names, while the second example retrieves the assembly reference for a specific package library and prints its name.