Inquiridor
Utilização de DLL no Visual Studio 2013

Pergunta
-
Bom dia!
Estou tentando utilizar uma dll na minha aplicação, mas ao dar browse e ok, nas referências, ela dá a seguinte mensagem :
"...a reference to dll could not be added valid assembly or com component..."
A partir daí, procurei e tentei registrar a dll, mas não obtive sucesso com os comandos que me foram apresentados (regsvr32). Utilizei ele em administrador além de estar no diretório certo e tudo mais.
A dll em questão é uma dll da epson, para realizar comunicação entre impressora fiscal e minha aplicação.
Utilizo Windows 81 e Visual Studio 2013.
Todas as Respostas
-
-
O problema é que não consigo nem ao menos adiciona-la. Quando vou adiciona-la ele gera a mensagem que citei acima e não consigo realizar a mudança do CopyLocal = True
- Editado José Victor U Martins terça-feira, 27 de janeiro de 2015 13:43 sim
-
-
Poderia ser mais claro? Não estou entendendo como irei utilizar isso na minha aplicação de tal forma que a dll funcione. Importante lembrar que essa dll é baixada no próprio site da Epson e não foi criada por mim.
- Editado José Victor U Martins terça-feira, 27 de janeiro de 2015 14:00 sim
-
No link que te passei tem a explicação, você ira utilizar a diretiva DLLIMPORT ou seja vai usar a dll instalado no seu sistema dessa forma, sendo que o requisito é que ela esteja instalada no sistema operacional, desse modo pode usar as funções da dll, consulte o site da epson (documentação)
-
Bom dia!
Estou tentando utilizar uma dll na minha aplicação, mas ao dar browse e ok, nas referências, ela dá a seguinte mensagem :
"...a reference to dll could not be added valid assembly or com component..."
A partir daí, procurei e tentei registrar a dll, mas não obtive sucesso com os comandos que me foram apresentados (regsvr32). Utilizei ele em administrador além de estar no diretório certo e tudo mais.
A dll em questão é uma dll da epson, para realizar comunicação entre impressora fiscal e minha aplicação.
Utilizo Windows 81 e Visual Studio 2013.
Olá,
Essa mensagem indica que a DLL não é um assembly gerenciado, ou seja, foi escrita em uma linguagem de baixo nível (C/C++, etc). Você apenas pode adicionar referência para Assemblies Gerenciados.
No seu caso, você terá que ler a documentação dessa DLL, para ver quais funções ela exporta, e então, importa-las usando o DllImport que o Mr. GMSOFT citou.
Não é necessário registrar DLL's nem nada. Apenas usar o DllImport. Agora, se você quiser importar classes dessa DLL, aí já complica um pouco mais..
Pode ser que isso ajude:
Win32: C++ para .NET – Interoperabilidade | Herbert.Lausmann
How to Marshal a C++ Class - CodeProject
Herbert Lausmann
-
-