| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Зависимые dll в другой директории |
| Автор: Cheklov 13.8.2008, 12:18 |
| Как в результате компиляции зависимые dll файлы поместить в другую директорию? Например: ./ /modules/System.Core.dll /modules/System.Net.dll /Program.exe |
| Автор: Partizan 13.8.2008, 12:25 |
| Cheklov, либо прописать в свойствах проекта Postbuild event, в котором будет производиться копирование в нужное место либо опять же в свойствах проекта выставить нужную Output dir |
| Автор: Cheklov 14.8.2008, 12:05 |
| По-моему это не то, что нужно. Поясню более подробно. Проект использует dll сторонних разработчиков. И необходимо, чтобы после компиляции проекты dll расположились в папке, а не в одной директории с exe-файлом. Оба предложенных метода не подходят. |
| Автор: nagg 14.8.2008, 12:22 |
| можно их в GAC. а по теме - это делается через app.config там указывается пути к сборкам. если не ошибаюсь... |
| Автор: PashaPash 14.8.2008, 12:44 |
| Cheklov, гугл по assembly probing |
| Автор: Partizan 14.8.2008, 12:45 |
| Cheklov, чем postbuild event не угодил??? например результат компиляции у нас помещается в папку C:\Project\bin\Debug\ Пусть дллка сторонних разработчиков под названием xxx.dll лежит в папке C:\3rdparty\ тогда после того как мы пропишем в постбилды какого-нить это: md "$(SolutionDir)bin\$(ConfigurationName)\modules" copy "C:\3rdparty\xxx.dll" "$(SolutionDir)bin\$(ConfigurationName)\modules" в результате билда у нас xxx.dll окажется в C:\Project\bin\Debug\modules\ з.ы. если не хочется чтобы дллки копировались в outputdir, то просто надо установить в соответствующих референсах CopyToOutputDir в false.. nagg, GAC не поможет ибо туда можно засовывать только strong named сборки. |
| Автор: Cheklov 15.8.2008, 11:07 | ||
| Postbuild хорош для автоматизации копирования сборок в нужную директорию. Но не сообщает исполняемой среде, где ей искать эти сборки после запуска программы, так как попытается найти их в каталоге приложения. В дополнение к вышеуказанным инструкциям Postbuild необходимо в файл конфигурации добавить следующее
Здесь главную роль играет атрибут privatePath, поскольку он используется для указания подкаталогов в каталоге приложения, где среда CLR должна осуществлять зондирование. |
| Автор: Partizan 15.8.2008, 11:37 | ||
Cheklov, ну в вопросе о probing ничего не было сказано изначально
|
| Автор: Cheklov 15.8.2008, 12:13 |
| Я уже понял, что не правильно объяснил. Спасибо. |