O que essa mensagem de erro quer dizer? O que eu poderia fazer para corrigir esse problema?
AssemblyInfo.cs saiu com o código 9009
O problema provavelmente está acontecendo como parte de uma etapa pós-compilação em uma solução .NET no Visual Studio.
.net
visual-studio
Anthony Mastrean
fonte
fonte
Respostas:
Você tentou fornecer o caminho completo do comando que está sendo executado no comando de evento anterior ou posterior à compilação?
Eu estava recebendo o erro 9009 devido a um
xcopy
comando de evento pós-compilação no Visual Studio 2008.Mas no meu caso também foi intermitente. Ou seja, a mensagem de erro persiste até a reinicialização do computador e desaparece após a reinicialização do computador. Está de volta depois de algum problema remotamente relacionado que ainda estou para descobrir.
No entanto, no meu caso, fornecer o comando com o caminho completo resolveu o problema:
Em vez de apenas:
Se eu não tiver o caminho completo, ele será executado por um tempo após uma reinicialização e depois será interrompido.
Também como mencionado nos comentários a esta postagem, se houver espaços no caminho completo, será necessário aspas ao redor do comando . Por exemplo
Observe que este exemplo com relação a espaços não é testado.
fonte
"$(SolutionDir)packages\NUnit.2.5.10.11092\tools\"nunit-console "$(TargetPath)"
) resolveu isso.PATH
variável de ambiente se perca de alguma forma? Eu recebo esse erro de vez em quando. Eu tenho anpm install
configuração como um evento de pré-construção e, inicialmente, funciona (então presumo que tudo esteja configurado), mas, aleatoriamente, parará de funcionar durante o dia (geralmente ao alternar entre soluções / ramificações, acredito) e não funcionará mais. conhecernpm
. Reiniciar o VS 'corrige' isso ... significa que o meuPATH
está configurado corretamente, mas parece que o VS. Se houvesse uma maneira de visualizar as variáveis env de dentro do VS, eu poderia confirmar isso.%systemroot%\System32\xcopy ...
Código de erro 9009 significa arquivo de erro não encontrado. Todas as razões subjacentes postadas nas respostas aqui são uma boa inspiração para descobrir o porquê, mas o próprio erro simplesmente significa um caminho ruim.
fonte
Isso acontece quando faltam algumas configurações de ambiente para o uso das ferramentas do Microsoft Visual Studio x86.
Portanto, tente adicionar como primeiro comando nas etapas pós-compilação:
Para o Visual Studio 2010, use:
Como o @FlorianKoch mencionado nos comentários, para o VS 2017, use:
Deve ser colocado antes de qualquer outro comando.
Ele definirá o ambiente para o uso das ferramentas do Microsoft Visual Studio x86.
fonte
call "$(DevEnvDir)..\Tools\vsvars32.bat"
? ObrigadoPath
variável de ambiente. Verifique a janela Saída para mais informações."$(DevEnvDir)..\Tools\VsDevCmd.bat"
Provavelmente você tem espaço no caminho resultante.
Você pode contornar isso citando os caminhos, permitindo espaços. Por exemplo:
fonte
Tinha a mesma variável depois de alterar a variável PATH de Variáveis Ambientais no Win 7. A mudança de volta para o padrão ajudou.
fonte
Eu tive o erro 9009 quando meu script de evento pós-compilação estava tentando executar um arquivo em lotes que não existia no caminho especificado.
fonte
Causei esse erro quando redigitei minha variável de ambiente Path. Após a edição, adicionei acidentalmente
Path=
o início da string do caminho. Com uma variável de caminho malformada, não consegui executar o XCopy na linha de comando (nenhum comando ou arquivo não foi encontrado) e o Visual Studio se recusou a executar a etapa pós-compilação, citando erro no código 9009.O XCopy geralmente reside em C: \ Windows \ System32. Depois que a variável de ambiente Path permitiu que o XCopy fosse resolvido no prompt do DOS, o Visual Studio criou bem minha solução.
fonte
Meu erro exato foi
The command "iscc /DConfigurationName=Debug "C:\Projects\Blahblahblah\setup.iss"" exited with code 9009.
9009 significa que o arquivo não foi encontrado, mas na verdade não foi possível encontrar a parte "iscc" do comando.
Corrigi-o adicionando
";C:\Program Files\Inno Setup 5 (x86)\"
à variável de ambiente do sistema"path"
fonte
Se o script realmente faz o que precisa ser feito e o Visual Studio está incomodando o erro, você pode adicionar:
até o final do seu script.
fonte
Verifique a ortografia. Eu estava tentando chamar um executável, mas o nome estava incorreto e ele me deu a
exited with code 9009
mensagem.fonte
No meu caso, eu tive que "CD" (Alterar diretório) primeiro no diretório apropriado, antes de chamar o comando, pois o executável que eu estava chamando estava no diretório do projeto.
Exemplo:
fonte
Outra variante:
hoje eu chamo intérprete python do cron no win32 e tomo o ExitCode (% ERRORLEVEL%) 9009, porque a conta do sistema usada pelo cron não tem caminho para o diretório Python.
fonte
O problema no meu caso ocorreu quando tentei usar um comando na linha de comando para o evento Pós-compilação na minha Biblioteca de Classes de Teste. Quando você usa aspas da seguinte forma:
ou se você estiver usando o console:
Isso corrigiu o problema para mim.
fonte
A resposta da tfa foi reduzida, mas na verdade pode causar esse problema. Graças ao hanzolo, procurei na janela de saída e encontrei o seguinte:
Depois de executar
npm install -g gulp
, parei de receber esse erro. Se você estiver recebendo esse erro no Visual Studio, verifique a janela de saída e veja se o problema é uma variável de ambiente não definida.fonte
Além disso, verifique se não há quebras de linha na janela de edição do evento pós-compilação no seu projeto. Às vezes, copiar o comando xcopy da Web quando estiver com várias linhas e colá-lo no VS causará um problema.
fonte
Eu adicionei "> myFile.txt" ao final da linha na etapa de pré-compilação e, em seguida, inspecionei o arquivo quanto ao erro real.
fonte
Para mim, o espaço em disco era baixo e os arquivos que não podiam ser gravados deveriam estar presentes mais tarde. Outras respostas mencionaram arquivos ausentes (ou arquivos com nomes incorretos / incorretamente referenciados por nome) - mas a causa principal foi a falta de espaço em disco.
fonte
Para mim, aconteceu após a atualização dos pacotes de nuget de uma versão do PostSharp para a próxima em uma grande solução (projeto ~ 80). Eu tenho erros de compilador para projetos que possuem comandos nos eventos do PreBuild.
'cmd' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote. C: \ Arquivos de Programas (x86) \ MSBuild \ 14.0 \ bin \ Microsoft.Common.CurrentVersion.targets (1249,5): erro MSB3073: O comando "cmd / c C: \ GitRepos \ main \ ServiceInterfaces \ DEV.Config \ PreBuild.cmd ServiceInterfaces "encerrado com o código 9009.
A variável PATH foi corrompida, tornando-se muito longa com vários caminhos repetidos relacionados ao PostSharp.Patterns.Diagnostics. Quando fechei o Visual Studio e o abri novamente, o problema foi corrigido.
fonte
Ainda outra variante do arquivo não encontrada, devido aos espaços no caminho. No meu caso, no script msbuild. Eu precisava usar o estilo HTML & quot; cadeias dentro do comando exec.
fonte
O mesmo que as outras respostas, no meu caso, foi por causa do arquivo ausente. Para saber qual é o arquivo ausente, você pode ir para a janela de saída e ela mostrará imediatamente o que está faltando.
Para abrir a janela de saída no Visual Studio:
fonte
Corrigi isso simplesmente reiniciando o Visual Studio - eu tinha acabado de executar
dotnet tool install xxx
em uma janela do console e o VS ainda não havia capturado as novas variáveis de ambiente e / ou configurações de caminho que foram alteradas; portanto, uma reinicialização rápida corrigiu o problema.fonte
Isso é bastante básico, eu tive esse problema e falha simples e embaraçosa.
O aplicativo usa argumentos de linha de comando, eu os removi e os adicionei novamente. De repente, o projeto falhou na construção.
Visual Studio -> Propriedades do projeto -> verifique se você usa a guia 'Debug' (não a guia 'Build Events') -> argumentos da linha de comando
Usei a área de texto Post / Pre-build, que estava errada neste caso.
fonte
Minha solução foi simples: você tentou desligá-lo e ligá-lo novamente? Então, reiniciei o computador e o problema desapareceu.
fonte
Também encontrei esse
9009
problema ao enfrentar uma situação de substituição.Basicamente, se o arquivo já existe e você não especificou a
/y
opção (que substitui automaticamente), esse erro pode ocorrer quando executado a partir de uma compilação.fonte
Na verdade, notei que, por algum motivo, a variável de ambiente% windir% às vezes é apagada. O que funcionou para mim foi redefinir a variável de ambiente windir como c: \ windows, reiniciar o VS e é isso. Dessa forma, você evita a necessidade de modificar os arquivos da solução.
fonte
Pelo menos no Visual Studio Ultimate 2013, versão 12.0.30723.00, atualização 3, não é possível separar uma instrução if / else com uma quebra de linha:
trabalho:
não funciona:
fonte
Outro motivo: se o evento de pré-compilação referenciar outro caminho da bandeja de projetos e você vir esse erro ao executar o msbuild, mas não o Visual Studio, será necessário organizar manualmente os projetos no arquivo * .sln (com um editor de texto) para que que o projeto que você está direcionando no evento é criado antes do projeto do evento. Em outras palavras, o msbuild usa a ordem em que os projetos são listados no arquivo * .sln, enquanto o VS usa o conhecimento das dependências do projeto. Isso aconteceu quando uma ferramenta que cria um banco de dados para ser incluído em um wixproj foi listada após o wixproj.
fonte
Acho que no meu caso havia símbolos russos no caminho (todos os projetos estavam na pasta do usuário). Quando coloquei a solução em outra pasta (diretamente no disco), tudo ficou bem.
fonte
Minha solução foi criar uma cópia do arquivo e adicionar uma etapa à tarefa de compilação para copiar meu arquivo sobre o original.
fonte
Você precisa se certificar de ter instalado o grunhido globalmente
fonte