Настройка изолированного COM для нескольких проектов - PullRequest
2 голосов
/ 13 января 2011

Мое решение состоит из нескольких проектов, каждый из которых состоит из библиотеки классов типов, за исключением одного, выходной тип которого - приложение Windows.Приложение ссылается на все другие проекты.У меня также есть COM-компонент, на который ссылаются некоторые проекты и приложение.

Я могу настроить regfree COM, изменив свойство Isolated ссылочного компонента COM в visual studio на TRUE.Решение собирается успешно, и я вижу файл манифеста, сгенерированный для этой конкретной сборки или приложения.

Теперь мой вопрос заключается в том, нужно ли это делать для всех проектов, которые ссылаются на компонент COM?Если да, то я знаю, что не могу установить для свойства Isolated значение TRUE более чем для одного проекта (выдает ошибку сборки), так как мне обойти это?

Я относительно новичок в .net и незнаю много regfree COM (я предполагаю, что я делаю, это regfree COM?).Любая помощь, которую я могу получить по этому вопросу, очень ценится.Спасибо.

В настоящее время я использую VS 2008.

РЕДАКТИРОВАТЬ: когда для свойства «Изолированные» установлено значение «ИСТИНА» для нескольких проектов, ошибка сборки говорит о том, что myCOMcomponent.ocx определен в сгенерированных манифестах для обоих.проекты.

1 Ответ

1 голос
/ 02 марта 2011

Вы можете изолировать каждый компонент COM только один раз для каждого приложения.Вот почему вы получаете ошибку.Вы можете обойти это, если создадите библиотеку-обертку, которая предоставляет функциональные возможности в этом компоненте, а затем все остальное вызовет эту обертку вместо компонента COM напрямую.Таким образом, у вас есть только одна ссылка на компонент COM, и, следовательно, вам нужно изолировать его только один раз.

...