Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Por que referenciar a DLL?

Por que referenciar a DLL no Visual Studio se já estou dando um include nela utilizando o "using"?

Minha pergunta é porque imagino o caso em que eu estivesse utilizando outra linguagem de programação que não utiliza o VS e precisasse importar a DLL para utilizar alguma funcionalidade dela no meu programa (em Python ou C++, por exemplo). Nesse caso eu não poderia fazer a referência utilizando o VS.

2 respostas
solução!

Então Adrian, realmente o using é apenas para o compilador entender/localizar onde está aquela dependência/dll. Se você abrir o .csprojvocê vai encontrar uma serie de instruções que o compilador faz antes de realizar a compilação em si ( gerar a DLL ou o .EXE ) na pasta bin. E quando você faz essa importação através do Visual Studio, ele cria essa "instrução" no seu .csproj linkando as sua dll/projeto/class library/ ou qualquer outro arquivo que você necessite em execução no seu programa.

Quanto a segunda parte da sua pergunta, nunca vi o uso de DLLs em C# para Python ou C++, geralmente o caminho é ao contrário, de Python, C++ e Java para C#. Mas enfim falando especificamente de importação, pelo menos 2 coisas precisam sempre estar em seu código a referência ao namespace usando o using ou import ( dependendo da linguagem que fará a importação ) e que a DLL esteja dentro da pasta de saída da compilação ou dentro da pasta do projeto.

Tive a oportunidade de ver projetos usando C# interagindo com bibliotecas em linguagem C, era exatamente desse jeito: Ou colocavam o arquivo .c compilado da biblioteca dentro da pasta bin/Debug ou bin/Release manualmente. Ou configuravam o Visual Studio para ler uma determinada pasta com com os arquivo da biblioteca em liguagem C compilados e pediam para que o próprio incluisse esse arquivos na pasta de saída quando fosse compilar o projeto.

Tem um curso aqui mesmo que explica bem melhor essa parte de compilação do .NET/C# que pode ajudar a entender mais ou menos o que eu quiz explicar a respeito dos links que o Visual Studio faz para referenciar em tempo de execução no seu projeto outras bibliotecas: https://cursos.alura.com.br/course/msbuild-dotnet-cli.

Espero ter ajudado!

Bom dia Adrian,

A resposta é essa mesma compartilhada pelo William, que alias, muito obrigado por compartilhar com a galera do forúm!

Att