Como faço para definir o caminho para um arquivo DLL no Visual Studio?

Eu desenvolvi um aplicativo que depende de um arquivo DLL. Quando eu depurar meu aplicativo, o aplicativo reclamaria que:

“Esta aplicação falhou ao iniciar porque xxx.dll não foi encontrado.”

Então eu tenho que copiar o arquivo DLL no mesmo diretório que o meu arquivo .vcproj.

Existe uma maneira de definir o projeto para procurar o arquivo DLL em (preferencialmente) algum caminho relativo ou (não preferencial) algum caminho absoluto?

Conceito semelhante ao modo como definimos o caminho de inclusão e biblioteca nas configurações do projeto.

Quero dizer, quando eu depurar meu aplicativo (pressionando F5 ), o erro acima apareceria.

  1. Ir para as propriedades do projeto (Alt + F7)
  2. Em Debugging, olhe para a direita
  3. Há um campo de ambiente.
  4. Adicione seu caminho relativo lá (relativo à pasta vcproj) ie. \ Some-framework \ lib adicionando PATH=%PATH%;$(ProjectDir)\some-framework\lib ou prepending no caminho PATH=C:\some-framework\lib;%PATH%
  5. Hit F5 (debug) novamente e deve funcionar.

O caminho de pesquisa que o carregador usa quando você chama LoadLibrary () pode ser alterado usando a function SetDllDirectory () . Então você poderia apenas chamar isso e adicionar o caminho para sua dependência antes de carregá-lo.

Veja também Ordem de Busca DLL .

Percorra as propriedades do projeto -> Caminhos de referência

Em seguida, adicione a pasta com DLL’s

Outra possibilidade seria definir o Working Directory sob as opções de debugging para ser o diretório que tem essa DLL.

Edit: Eu ia mencionar usando um arquivo em lotes para iniciar o Visual Studio (e definir a variável PATH no arquivo em lotes). Então fiz um pouco de pesquisa e ver que essa mesma pergunta foi feita há pouco tempo neste post . A resposta sugere a opção de arquivo em lote, bem como as configurações do projeto que aparentemente podem fazer o trabalho (eu não testei).

Eu sei que essa pergunta tinha sido respondida anos atrás, mas para aqueles que, como eu, precisavam mudar onde o depurador iniciava o aplicativo, altere a propriedade do comando em Propriedades do Projeto -> Depuração.