регистрация DLL / COM-взаимодействий во время командной строки MSBuild - PullRequest
1 голос
/ 22 июля 2010

Я автоматизирую сборку своего решения на C # на MSBuild, используя Hudson, работающий на компьютере с Windows.Мой продукт зависит от ряда сторонних DLL, которые должны быть зарегистрированы в той или иной форме или для того, чтобы сборка работала.Есть ли какие-либо рекомендации по выполнению такого рода регистрации через MSBuild или Hudson?

Особенности:

  • Для погашения необходимо, чтобы я запускал regsvr32 для их DLL один раз на машину.Я могу допустить выполнение шага настройки для каждой машины, но я бы предпочел не делать этого, поскольку предпочел бы полностью собранную сборку.

  • Надстройка Express требует, чтобы я запустил RegAsm/ TLB против их компонентов COM.Казалось бы, мне нужно делать это для каждой чистой проверки моего хранилища (в которой содержатся библиотеки DLL).

Спасибо,

-Патрик

1 Ответ

0 голосов
/ 22 июля 2010

Если вы ищете автономную сборку без каких-либо зависимостей реестра, вы можете обратиться к COM без регистрации. См. MSDN: неуправляемый | удалось .

Reg-free COM отлично справляется со своей работой; поддерживается XP и выше, и вы можете установить его в сторонние библиотеки. Однако это немного сложно (вам нужно объявить COM-серверы вашей DLL в отдельном файле манифеста в формате XML), и отладка может быть проблемой (особенно в XP и Server 2003, где нет инструментов, которые могли бы вам помочь).

...