построение проекта .net со ссылкой на COM - PullRequest
3 голосов
/ 21 октября 2011

Мой проект .net ссылается на библиотеку типов COM, которую я зарегистрировал на своем компьютере разработчика (я не контролирую ее). Похоже, что VS2010 генерирует сборки взаимодействия на лету - 2 разных (они действительно различаются) для Release и Debug. Они помещаются в папки / obj / Release и / obj / Debug соответственно. Дело в том, что библиотека COM не зарегистрирована и не должна быть зарегистрирована на компьютере сборки.

Какие у меня есть варианты? Мне не хочется помещать папки / obj / Release (Debug) со сборками взаимодействия под контроль исходного кода. Если я должен сделать это, я хотел бы изменить пути, но я не вижу никакого способа сделать это.

Если мне нужно самостоятельно использовать tlbimp для создания IA, как мне сгенерировать версии 2 (отладка и выпуск)?

1 Ответ

4 голосов
/ 21 октября 2011

Вы можете создать сборку взаимодействия вручную с помощью tlbimp.exe , а затем ссылаться на эти сборки вместо фактической библиотеки COM.Это означает, что Visual Studio не нужно создавать interop-сборки, и вы имеете полный контроль над ними.Конечно, вам придется проверить их, но затем вы можете поместить их в любое место.

Изменить:

Поскольку сборка взаимодействия содержит только метаданные,чтобы не иметь исполняемого кода, не должно быть никакой разницы между сборкой "Release" или "Debug", фактически tlbimp.exe не имеет опций для указания либо.

...