#c_sharp #winforms #dll
В папке bin/Release по итогу оказывается множет dll+xml в связке. Каким образом можно
узнать к какому Reference относится каждая dll?
По идее сколько References столько и dll должно быть в каталоге bin/Release, так?
У меня же это не так: дополнительно создаются другие dll, которые как-то имеют отношение
к References. Но как выявить это отношение?
Спасибо!
P.S. Я использую сторонние компоненты (DevExpress), но вопрос всё же общий.
Ответы
Ответ 1
В свойствах каждой Reference есть параметр CopyLocal. Если true - то соотв. дллка будет скопирована при компиляции в папку с бинарниками. Также туда попадут файлы которые добавлены в проект и в свойствах которых соответствующим образом установлено значение поля 'Copy to Output Directory', например это могут быть сторонние дллки, которые необходимы твоему приложению или другие файлы, например локальная база данных. Также в свойствах проекта в разделе 'Build Events' есть поля для записи скриптов выполняемых до и после компиляции. И там вполне могут быть инструкции копирования файлов (любых, куда угодно). И еще различные производители для локализации используют ресурсные дллки (по каждому языку), например производители контролов - точно. Эти дллки (или даже папки с дллками) в итоге тоже попадают в папку с бинарникамиОтвет 2
Открываете узел References, выбираете сборку, в контекстном меню жмете на Properties. В открывшейся вкладке Properties смотрите на имя файла в свойстве Path.Ответ 3
Если проект создан в Visual Studio, то у проекта есть файл названиепроекта.csproj Это обычный xml. Откройте его в любом текстовом редакторе. В нем есть теги Reference и бывают COMReference. В некоторых из тегов Reference указаны имена dll файлов, часть из которых соответствует файлам в \bin\Release. .NET-сборку (dll или exe) можно открыть в ildasm.exe и посмотреть зависимости.
Комментариев нет:
Отправить комментарий