Компиляция проекта, использующего взаимодействиеCompiling an Interop Project

Проекты, использующие COM-взаимодействие, в которых содержатся ссылки на одну или несколько сборок с импортированными типами COM, компилируются так же, как и любые другие управляемые проекты.COM interop projects that reference one or more assemblies containing imported COM types are compiled like any other managed project. Ссылки на сборки взаимодействия можно использовать как в среде разработки (например, Visual Studio), так при использовании компилятора командной строки.You can reference interop assemblies in a development environment such as Visual Studio, or you can reference them when you use a command-line compiler. В обоих случаях для корректной компиляции сборка взаимодействия должна находиться в одном каталоге с другими файлами проекта.In either case, to compile properly, the interop assembly must be in the same directory as the other project files.

Ссылки на сборки взаимодействия можно использовать двумя способами:There are two ways to reference interop assemblies:

  • Внедренные типы взаимодействия. Начиная с .NET Framework 4 и Visual Studio 2010, можно указать компилятору внедрять информацию о типах из сборки взаимодействия в исполняемый файл.Embedded interop types: Beginning with the .NET Framework 4 and Visual Studio 2010, you can instruct the compiler to embed type information from an interop assembly into your executable. Это рекомендуемая методика.This is the recommended technique.

  • Развертывание сборок взаимодействия. Можно создать стандартную ссылку на сборку взаимодействия.Deploying interop assemblies: You can create a standard reference to an interop assembly. В этом случае сборки взаимодействия должны быть развернуты вместе с приложением.In this case, the interop assembly must be deployed with your application.

Различия между этими двумя способами более подробно описываются в разделе Использование COM-типов в управляемом коде.The differences between these two techniques are discussed in greater detail in Using COM Types in Managed Code.

Внедрение типов взаимодействия с помощью Visual Studio демонстрируется в разделе Пошаговое руководство. Внедрение типов из управляемых сборок в Visual Studio.Embedding interop types with Visual Studio is demonstrated in Walkthrough: Embedding Types from Managed Assemblies in Visual Studio.

Чтобы сослаться на сборку взаимодействия с помощью компилятора командной строки и внедрить сведения о типе в исполняемые файлы, используйте параметр -C# Link (параметры компилятора) или -Link (Visual Basic) и укажите имя сборки взаимодействия.To reference an interop assembly with a command-line compiler and embed type information in your executables, use the -link (C# Compiler Options) or the -link (Visual Basic) compiler switch and specify the name of the interop assembly.

Примечание

Приложения Visual C++ не поддерживают внедрение сведений о типах, однако могут взаимодействовать с приложениями и надстройками, в которых такая возможность присутствует.Visual C++ applications cannot embed type information, but they can interoperate with applications or add-ins that do.

Чтобы скомпилировать приложение, которое включает основную сборку взаимодействия при развертывании, задайте параметр компилятора /reference и укажите имя сборки взаимодействия.To compile an application that includes a primary interop assembly when it is deployed, use the /reference compiler switch and specify the name of the interop assembly.

См. такжеSee also