GetReferencedAssemblies не возвращает все блоки

У меня есть следующий код в Форме, и пытаюсь найти способ загрузить блок проекта, на который ссылается названная форма DataObjects. С помощью следующего кода я только получаю шесть перечисленных блоков. При рассмотрении ссылок для проекта, в котором находится форма, существует тринадцать ссылок на сборки. Что не так здесь?

private void ListReferencedAssemblies()
{
    var assemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
    foreach (var assembly in assemblies)
    {
        referencesListBox.Items.Add(assembly.Name);
    }
} 
27
задан ProfK 8 August 2010 в 10:32
поделиться

2 ответа

Не могли бы вы проверить манифест сборки, чтобы узнать, о чем здесь говорится?

Компилятор C # имеет тенденцию удалять сборки, на которые имеются ссылки, из манифеста, если они не используются. Поэтому, если вы не ссылаетесь ни на какой тип из сборки B или ссылаетесь только на константы из сборки B (которые встроены компилятором), у вас не будет этих ссылок.

33
ответ дан 28 November 2019 в 05:26
поделиться

Компилятор не будет включать в выходную сборку ссылки на сборки, которые фактически не используются в коде.

В выходной сборке будут ссылки только на сборки, которые используются в коде.

7
ответ дан 28 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: