Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode usar um arquivo MSIL .obj (compilado com /clr) como um .netmodule arquivo.
.obj os arquivos 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 do /addmodule compilador. O .obj arquivo se torna parte do assembly resultante e deve ser enviado com o assembly. Por exemplo, o Visual C# e o Visual Basic têm a opção do /addmodule 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 os arquivos, juntamente com seus arquivos associados .h , que você faz referência por meio de #include na origem, permitem que 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 estã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 seguintes diretrizes 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 como.netmoduleentrada para o vinculador.Se você estiver usando o compilador MSVC para produzir módulos e se os módulos forem usados para criar 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.dllarquivo de biblioteca (assembly) ou.netmodule(módulo).Se os módulos forem usados para criar uma biblioteca gerenciada e se uma ou mais entradas de módulos para o vinculador forem produzidas apenas
/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 também quiser que aplicativos C++ consumam os tipos nativos na biblioteca, sua biblioteca consiste nos arquivos dos módulos de.objcomponente de bibliotecas. Você também deseja enviar os.harquivos para cada módulo, para que eles possam ser referenciados com #include do código-fonte.