2009-11-08 6 views
2

В настоящее время я переношу устаревшее приложение VBA в приложение .Net. Во время этого процесса пользователям существующего приложения VBA необходимо добавить некоторые функции. Поэтому вместо того, чтобы кодировать их в VBA &, а затем в C#, я написал новую функциональность на C#, и я хочу разоблачить это в существующем приложении VBA через COM, а также сохранить его в текущей версии приложения .Net.C# COM Interop Library

Решение содержит несколько проектов, 1 проект для пользовательского интерфейса, 1 проект для бизнес-логики, 1 проект для уровня доступа к данным.

Новые функции - это всего лишь несколько новых форм для изменения данных. Поэтому в идеале они нажмут на кнопку команды формы в доступе, который обещает эти C# формы через COM-взаимодействие.

Как я могу разоблачить эти формы через COM Interop. То, что я надеялся сделать, это добавить еще один проект MyProject.COM, который будет содержать мой интерфейс ICOMManager, чтобы разоблачить методы доступа к запуску необходимых форм. Класс COMManager будет просто создавать необходимые формы в моем приложении .net и показывать их. Этот проект MyProject.COM будет иметь ссылки на уровень пользовательского интерфейса & Бизнес-логические слои.

Когда я хочу зарегистрировать этот проект, используя REGASM, как включить ссылки на эти другие проекты?

Благодарим за помощь или совет по поводу этого.

ответ

2

Ah ok, поэтому я вижу, что это намного проще, чем я думал.

Как только я посмотрел файл reg, созданный regasm, я мог видеть, что tlb (Type Library) - это просто указатель на то, где он может найти библиотеки для выполнения компонента .Net.

Итак, зарегистрировав tlb и удостоверьтесь, что он указал на каталог установки, где расположены остальные файлы проекта, он работает.