C# + 1C. Пишем простейший COM-сервер для 1С

Изучение возможности интеграции C# и 1С мы начнем с создания на C# простейшего COM сервера. Для этой цели нам понабиться Visual Studio 2010 и платформа 1C 8.2. И так, в визуал студии создаем новый проект, тип проекта выбираем «библиотека классов» (class library):

У нас появится заготовка библиотеки, куда мы введем вот такой текст (вместо существующего):

Обратите внимание, что в юзинги мы добавили System.Windows.Forms, поэтому необходимо подключить к библиотеке соответствующую ссылку:

Сделать это можно либо кликнув на ветке «Ссылки» правой кнопочкой мыши:

либо через меню «Проект» —> «Добавить ссылку»:

Теперь обратите внимание на гуиды (текст типа CC441039-F00D-4617-B2AD-36082B7D4D9D). Их надо будет сгенерить. Для этого запускаем специальную утилиту «Генератор GUID», которая входит в стандартный пакет Visual Studio:

Для генерации выбираем формат, в котором надо генерить, нажимаем «Создать GUID» а потом «Копировать», что бы поместить его в буфер обмена, а потом вставить в текст программы:

Вставив в программу приведенный здесь код, а в код свои гуиды, займемся настройкой проекта:

Во-первых, на закладке «Построение» надо указать, что наша программа будет зарегистрирована для COM-взаимодействия:

Во-вторых, надо создать подпись на сборку (пароль создавать необязательно):

Ну, и последний штрих, идем в AssemblyInfo.cs и вставляем туда вызов AssemblyKeyFile, а ComVisible делаем true:

Все, компилим проект а затем регистрируем его утилитой RegAsm:

Можно нашу компоненту не регить предварительно, а хранить в виде двоичных данных и регать перед первым использованием.

Все, теперь протестим что мы написали. И так, создаем обработину:

Запустив эту обработку, мы увидим, что наш COM-объект действительно работает

 

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar



X
!!!
X

Ищешь разработчика?