Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зависимые dll в другой директории 
V
    Опции темы
Cheklov
Дата 13.8.2008, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Как в результате компиляции зависимые dll файлы поместить в другую директорию? Например:

./
/modules/System.Core.dll
/modules/System.Net.dll
/Program.exe
PM MAIL   Вверх
Partizan
Дата 13.8.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Cheklov, 

либо прописать в свойствах проекта Postbuild event, в котором будет производиться копирование в нужное место
либо опять же в свойствах проекта выставить нужную Output dir


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Cheklov
Дата 14.8.2008, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



По-моему это не то, что нужно. Поясню более подробно. Проект использует dll сторонних разработчиков. И необходимо, чтобы после компиляции проекты dll расположились в папке, а не в одной директории с exe-файлом. Оба предложенных метода не подходят.
PM MAIL   Вверх
nagg
Дата 14.8.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 6.1.2008
Где: Minsk

Репутация: нет
Всего: 4



можно их в GAC. а по теме - это делается через app.config там указывается пути к сборкам. если не ошибаюсь...
--------------------
I am the State...
PM MAIL WWW ICQ Skype   Вверх
PashaPash
Дата 14.8.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 13
Всего: 49



Cheklov, гугл по assembly probing


--------------------
PM MAIL WWW   Вверх
Partizan
Дата 14.8.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Cheklov, чем postbuild event не угодил???  smile 

например результат компиляции у нас помещается в папку 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 сборки.


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Cheklov
Дата 15.8.2008, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Postbuild хорош для автоматизации копирования сборок в нужную директорию. Но не сообщает исполняемой среде, где ей искать эти сборки после запуска программы, так как попытается найти их в каталоге приложения.

В дополнение к вышеуказанным инструкциям Postbuild необходимо в файл конфигурации добавить следующее

Код

<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <probing privatePath="modules"/>
        </assemblyBinding>
    </runtime>
</configuration>



Здесь главную роль играет атрибут privatePath, поскольку он используется для указания подкаталогов в каталоге приложения, где среда CLR должна осуществлять зондирование.
PM MAIL   Вверх
Partizan
Дата 15.8.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Cheklov, ну в вопросе о probing ничего не было сказано изначально  smile 

Цитата

 Как в результате компиляции зависимые dll файлы поместить в другую директорию?



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Cheklov
Дата 15.8.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 14.2.2007

Репутация: нет
Всего: нет



Я уже понял, что не правильно объяснил. Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.