Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Сборки


Автор: TBase 8.5.2008, 07:38
Здраствуйте.

Если я добавляю в свой проект какую-либо стороннюю сборку (Project -> Add Reference), то при компиляции она автоматически помещается в то место, откуда была запущенна программа. Можно ли как-нибудь сделать так, чтобы сборка по умолчанию помещалась в каталог libs (StartupPath\libs\) например, и при этом приложение знало бы о их месторасположении...

Автор: mr.DUDA 8.5.2008, 09:37
Допустим, сборка называется "ClassLibrary1.dll". Что делаем: в свойствах проекта заходим в раздел Build Events и пишем в post-build event:
Код
del "$(TargetDir)libs\*.*" /Q /S
mkdir "$(TargetDir)libs\"
move ClassLibrary1.* libs\

При компиляции сборка ClassLibrary1 (и файл .PDB необходимый при отладке) будут переноситься в создаваемую каждый раз поддиректорию libs.

Теперь как сделать чтобы приложение грузило сборку оттуда: добавляем в проект Application Configuration File со следующим содержимым:
Код
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="libs" />
    </assemblyBinding>
  </runtime>
</configuration>

Автор: TBase 8.5.2008, 15:56
mr.DUDA, ммм...как интересно...

спасибо...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)