Компиляция проекта взаимодействия

Note

В этой статье описаны рекомендации по COM-взаимодействию в .NET Framework с использованием устаревших сборок взаимодействия и основных сборок COM-взаимодействия. Для современных версий .NET используйте генерацию исходного кода COM или API ComWrappers. Дополнительные сведения см. в разделе Взаимодействие с COM.

Проекты взаимодействия COM, ссылающиеся на одну или несколько сборок, содержащих импортированные типы COM, компилируются как любой другой управляемый проект. Вы можете ссылаться на сборки взаимодействия в среде разработки, например Visual Studio, или ссылаться на них при использовании компилятора командной строки. В любом случае для правильной компиляции сборка взаимодействия должна находиться в том же каталоге, что и другие файлы проекта.

Существует два способа ссылки на интероперабельные сборки.

  • Внедрение типов взаимодействия: укажите компилятору внедрить сведения о типах из сборки взаимодействия в ваш исполняемый файл. Это рекомендуемый метод.
  • Развертывание сборок взаимодействия: создание стандартной ссылки на сборку взаимодействия. В этом случае сборка взаимодействия должна быть развернута непосредственно с вашим приложением.

Различия между этими двумя методами подробно рассматриваются в использовании com-типов в управляемом коде.

Внедрение типов взаимодействия с Visual Studio демонстрируется в пошаговом руководстве. Внедрение типов из управляемых сборок в Visual Studio.

Чтобы ссылаться на сборку для взаимодействия с компилятором командной строки и внедрить информацию о типах в ваши исполняемые, используйте -link (параметры компилятора C#) или ключ компилятора -link (Visual Basic) и укажите имя сборки для взаимодействия.

Note

Приложения Visual C++ не могут внедрять сведения о типах, но они могут взаимодействовать с приложениями или надстройками, которые могут это делать.

Чтобы скомпилировать приложение, включающее основную сборку взаимодействия при его развертывании, используйте переключатель компилятора /reference и укажите имя сборки взаимодействия.

См. также