Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode usar um arquivo MSIL .obj (compilado com /clr) como um .netmodule arquivo.
.obj Os ficheiros contêm metadados e símbolos nativos.
.netmodules contêm apenas metadados.
Passe um arquivo MSIL .obj para qualquer outro compilador do Visual Studio com a opção de /addmodule compilador. O .obj arquivo torna-se parte da montagem resultante e deve ser enviado com a montagem. Por exemplo, Visual C# e Visual Basic têm a /addmodule opção de compilador.
Note
Na maioria dos casos, você precisa passar para o vinculador o .obj arquivo da compilação que criou o módulo .net. Passar um .dll arquivo de módulo ou .netmodule MSIL para o vinculador pode resultar em LNK1107.
.obj arquivos, juntamente com seus arquivos associados .h , que você referencia via #include na origem, permitem que os aplicativos C++ consumam os tipos nativos no módulo. Em um .netmodule arquivo, somente os tipos gerenciados podem ser consumidos por um aplicativo C++. Se você tentar passar um .obj arquivo para #using, as informações sobre tipos nativos não estarão disponíveis. Em vez disso, #include o .obj arquivo do .h arquivo.
Outros compiladores do Visual Studio só podem consumir tipos gerenciados de um módulo.
Use as diretrizes a seguir para determinar se você precisa usar um .netmodule ou um .obj arquivo como entrada de módulo para o vinculador MSVC:
Se você estiver criando com um compilador do Visual Studio diferente do Visual C++, produza um
.netmodulee use o.netmodulecomo entrada para o vinculador.Se você estiver usando o compilador MSVC para produzir módulos e se os módulos forem usados para construir algo diferente de uma biblioteca, use os
.objarquivos produzidos pelo compilador como entrada de módulo para o vinculador. Não use o.netmodulearquivo como entrada.Se os módulos forem usados para criar uma biblioteca nativa (não gerenciada), use
.objarquivos como entrada de módulo para o vinculador e gere um arquivo de.libbiblioteca.Se os módulos forem usados para criar uma biblioteca gerenciada, e se toda a entrada do módulo no vinculador for verificável (produzida com
/clr:safe), use.objarquivos como entrada de módulo para o vinculador e gere um arquivo de.dllbiblioteca (assembly) ou.netmodule(módulo).Se os módulos forem usados para construir uma biblioteca gerenciada, e se uma ou mais entradas de módulos para o vinculador forem produzidas apenas com
/clr, use.objarquivos como entrada de módulo para o vinculador e gere um.dll(assembly). Se você quiser expor tipos gerenciados da biblioteca e se também quiser que os aplicativos C++ consumam os tipos nativos na biblioteca, sua biblioteca consiste nos arquivos para os módulos do componente bibliotecas.obj. Você também deseja enviar os.harquivos para cada módulo, para que eles possam ser referenciados com #include do código-fonte.