> For the complete documentation index, see [llms.txt](https://projects.itproduct.ru/azimut/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://projects.itproduct.ru/azimut/rasshirenie-platformy/writing-extensions/podklyuchenie-lyuboi-dll.md).

# Подключение любой dll

[Здесь](/azimut/rasshirenie-platformy/writing-extensions.md) мы рассматривали способ как добавить в ваш проект c#-решение для разработки дополнений и расширений. Он подходит когда у вас один проект и в нем необходимо реализовать функционал, отсутствующий в основном Азимуте.

Но если у вас несколько проектов, то чтобы не дублировать функционал в нескольких c#-решениях, например интеграция с платежной системой или с виртуальной телефонией, есть еще один способ подключения любой произвольной dll. Таким образом вы пишете типовое dll-расширение, которое можно подключить к любому Азимут-проекту.

* Создайте c# решение. Вручную или можно скопировать из генерируемой заготовки, создаваемой [здесь](/azimut/rasshirenie-platformy/writing-extensions.md).
* Подключите необходимые библиотеки, если создаете решение вручную.

<figure><img src="/files/rQt3Fkj6c3YravIit0F8" alt=""><figcaption></figcaption></figure>

* Реализуйте необходимые классы.
* Соберите сборку в dll.
* Запустите конфигуратор, если он еще не запущен.
* Скопируйте dll сборку в папку с конфигуратором (это в ...\AppData\Roaming\\...Config)
* Зайдите в конфигураторе в базовый Проект. Это тот проект, который отмечен зеленой галкой, в раздел "Файлы конфигуратора". *Если ваше расширение предназначено для клиентской части, а не для серверной, тогда вместо раздела "Файлы конфигуратора" вам нужен раздел "Клиентские файлы".*

<figure><img src="/files/Q0Pu6nRnQnOKXeOl2Nw2" alt=""><figcaption></figcaption></figure>

* Добавьте имя своей dll сборки.

<figure><img src="/files/GoL34BxgI3o0ZgfjQyvK" alt=""><figcaption></figcaption></figure>

* И выполните "Публикацию файлов конфигуратора". *Если ваше расширение предназначено для клиентской части, а не для серверной, тогда кроме операции "Публикация файлов конфигуратора", необходимо выполнить также и "Публикацию основных файлов".*

<figure><img src="/files/WEOdgkQKZQM3zXpzWlTS" alt=""><figcaption></figcaption></figure>

Теперь ваш dll файл будет распространен среди всех разработчиков вашего проекта и его функционал будет подхвачен конфигуратором.

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

Если ваша dll изменилась и необходимо снова опубликовать новую версию, выполните следующие шаги.

* Запустите конфигуратор до окна ввода пароля, но не нажимайте ОК (важно чтобы отработала синхронизация обновлений, но сам конфигуратор не был запущен, чтобы он не заблокировал dll файлы)
* Скопируйте новую версию вашего dll файла в папку с конфигуратором (это в ...\AppData\Roaming\\...Config), перезаписывая старый файл.
* Заходите в конфигуратор и выполните "Публикацию файлов конфигуратора".
