I have the following code inside a Form, and am attempting to find a way to load a project assembly referenced by the form called DataObjects. Using the following code, I only get six assemblies listed. Looking at the references for the project the form is in, there are thirteen assembly references. What is wrong here?
private void ListReferencedAssemblies()
{
var assemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
foreach (var assembly in assemblies)
{
referencesListBox.Items.Add(assembly.Name);
}
}
Could you please check the assembly’s manifest to see what is referenced here?
C# compiler tends to remove referenced assemblies from the manifest if they are not used. Therefore if you don’t refer to any type from assembly B or refer only to constants from assembly B (that are inlined by complier) then you will not have this references.