> 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), перезаписывая старый файл.
* Заходите в конфигуратор и выполните "Публикацию файлов конфигуратора".


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://projects.itproduct.ru/azimut/rasshirenie-platformy/writing-extensions/podklyuchenie-lyuboi-dll.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
