Я создаю пользовательский интерфейс C # для взаимодействия со службой COM (.exe). COM-проект VS2005 выводит действительную библиотеку типов (TLB), на которую ссылается проект C #. Однако проект VS2005 C # настаивает на том, чтобы служба была зарегистрирована для построения проекта C #, даже несмотря на то, что typelib выглядит совершенно корректно при рассмотрении с помощью OLE Object Viewer.
Мы бы не хотели регистрировать сервис на сервере сборки, если это возможно. Кроме того, отладочные сборки не могут зарегистрировать COM-объект в качестве службы, поскольку это усложняет отладку в целом и код запуска в частности (нельзя использовать F5 - Начать отладку).
Что я должен искать, чтобы это работало? Нужно ли регистрировать только TypeLib? Если так, почему COMInterop настаивал на том, чтобы служба или TLB были зарегистрированы для правильной сборки (и есть ли инструмент командной строки для этого на Win2003 с VS2005)?
Если я правильно помню, однажды раз я создал веб-сервис C #, который ссылался на COM-объект брандмауэра Win2003, но мы построили его на Win2000 (у которого такого нет), просто ссылаясь на файл TLB без регистрации. требуется, поэтому я не понимаю, почему это должно быть проблемой сейчас.