У меня есть следующий код в Форме, и пытаюсь найти способ загрузить блок проекта, на который ссылается названная форма DataObjects
. С помощью следующего кода я только получаю шесть перечисленных блоков. При рассмотрении ссылок для проекта, в котором находится форма, существует тринадцать ссылок на сборки. Что не так здесь?
private void ListReferencedAssemblies()
{
var assemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
foreach (var assembly in assemblies)
{
referencesListBox.Items.Add(assembly.Name);
}
}
Не могли бы вы проверить манифест сборки, чтобы узнать, о чем здесь говорится?
Компилятор C # имеет тенденцию удалять сборки, на которые имеются ссылки, из манифеста, если они не используются. Поэтому, если вы не ссылаетесь ни на какой тип из сборки B или ссылаетесь только на константы из сборки B (которые встроены компилятором), у вас не будет этих ссылок.
Компилятор не будет включать в выходную сборку ссылки на сборки, которые фактически не используются в коде.
В выходной сборке будут ссылки только на сборки, которые используются в коде.