Все,
Это продолжение моего вопроса здесь .
Моя настройка:
- Visual Studio 10
- Язык C #
- Excel 2007 +
- Windows XP +
Чего я хотел бы добиться, это:
- Создание надстройки VSTO для Excel с настраиваемым компонентом ленты и настраиваемой панелью задач
- Создание RTD-сервера
- Создание некоторых пользовательских функций, которые переносят вызовы
=RTD()
для пользователей Excel - Пусть клиенты установят надстройку через установку ClickOnce
Помимо последнего требования, я в основном закончил.Единственная проблема, с которой я столкнулся, - это зарегистрировать RTD-сервер и UDF на целевом компьютере без использования regasm.exe
.Я в основном хочу, чтобы клиент действительно щелкнул один раз, а затем забыл об этом, тем более что существуют сотни потенциальных пользователей, географически распределенных по всему миру.
Кроме того, поскольку они не являются технически подкованными, я не хочу, чтобы им приходилось регистрировать компоненты COM вручную или что-то в этом роде.
Мне все равно, если UDF и RTD-серверотдельный проект, если я могу включить и зарегистрировать их вместе с надстройкой VSTO через ClickOnce.
Я смотрел на COM без регистрации, но я не мог заставить его работать вмой VSTO addin.Я создал второй проект (library class
) и попытался экспортировать и зарегистрировать его для COM-взаимодействия, затем включить его в мой «основной» проект и использовать там: он либо не скомпилируется (Cannot embed interop types from assembly [...] because it is missing either the 'ImportedFromTypeLibAttribute' attribute or the 'PrimaryInteropAssemblyAttribute' attribute
)или не регистрироваться.
В Интернете есть множество примеров для отдельных частей моих требований, но ничего для полной суммы.
Я совершенно не в курсе?Может кто-нибудь указать мне правильное направление и в идеале предложить пример кода / конфигурации?
Ура, Че