> 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="https://3102888647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LS-ls5iOp1h-zQSO2xX%2Fuploads%2FtJFIg2u2EvER71h7a6Nz%2Fimage.png?alt=media&amp;token=31221721-3f74-4b7a-8220-582b1106f317" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3102888647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LS-ls5iOp1h-zQSO2xX%2Fuploads%2Fmr7QGHorCndw9ZLEkuzS%2Fimage.png?alt=media&amp;token=64ae8d5b-52c4-4743-ac64-febc25a918a3" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3102888647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LS-ls5iOp1h-zQSO2xX%2Fuploads%2FFXu9rGMfLJw0DL80F1A5%2Fimage.png?alt=media&amp;token=38351dca-942d-4b64-9a6c-08f590aa4ee9" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://3102888647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LS-ls5iOp1h-zQSO2xX%2Fuploads%2FFKnIPPYvJB4fQ1P0NRXk%2Fimage.png?alt=media&amp;token=a0092411-21a8-4d73-a19f-c0ac68e737f0" alt=""><figcaption></figcaption></figure>

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

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

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

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