O Visual Studio 2010 não está sendo criado antes de uma execução quando houver alterações no código


126

Estou usando o F5 (Start Debugging) há anos para criar o código (se estiver desatualizado) e depois depurar. Isso estava funcionando no VS 2010 também, no entanto, hoje ele apenas começa a depuração sem uma compilação. Digamos que eu faça uma limpeza no projeto e pressione F5 em vez de construí-lo para que possa executá-lo. Emite uma mensagem de erro dizendo que o exe não existe para ser executado. Como faço para criar primeiro? O que poderia ter mudado?


1
Eu tive o mesmo problema. Ocorreu de um para o dia seguinte e não mudei nada na caixa de diálogo Opções. A resposta de Hans resolveu meu problema.
jbe

Eu apenas corri para este recentemente, postou um relatório de bug para msft Connect, expressar o seu voto para espero fazê-los corrigi-lo connect.microsoft.com/VisualStudio/feedback/details/626414/...
Jason

Respostas:


164

Ferramentas + Opções, Projetos e Soluções, Compilar e Executar. "Em execução, quando os projetos estão desatualizados" = Sempre constrói. O abaixo disso = Não iniciar.


7
Apenas verificado e definido como Always Build ... Portanto, não deveria estar fazendo isso.
jamone

5
Funciona na minha máquina. Costumava trabalhar no seu. Reiniciar é o próximo.
precisa

3
A reinicialização não foi corrigida, mas a alteração "Na execução, quando os projetos estão desatualizados" = Sempre construa para Não iniciar salvando / saindo do VS e, em seguida, alterá-lo novamente.
jamone

3
Isso é um bug. Deseja enviá-lo para connect.microsoft.com?
Hans Passant

1
@ Hans: claro, como você reproduz isso? Convencer as pessoas da Microsoft a se conectarem de que realmente é um problema é quase impossível, a menos que seja reproduzível. Que só faz sentido, como se você não pode, então as chances são um dos de dev não pode
NotMe

119

Eu tive esse problema e ele acabou sendo o Gerenciador de Configuração. Eu havia mudado recentemente de Depurar | CPU mista para Depurar | Qualquer CPU e o projeto não foram definidos para serem construídos sob esta configuração


Isso também resolveu para mim - parece ser a causa provável desse problema.
gstercken

3
Ótima dica! Não é algo que você pensaria. Obrigado
Almund

1
Sim, isso corrigiu para mim! Basta clicar em todas as caixas de seleção ao lado para criar no gerenciador de configuração. Obrigado Tim!
Chaz

Corrigido um problema semelhante para mim também. Obrigado!
Austin Thompson

1
Meu problema foi a configuração errada selecionada! Eu tinha um projeto separado, em que cada configuração é um idioma diferente, e o combo foi definido para uma dessas configurações. Apenas mudei para Debug_Unicode e agora está construindo!
Sergiol # 3/16

22

abra seu gerenciador de configuração e verifique se a caixa de seleção na coluna de construção do seu projeto de inicialização está marcada. Eu tive o mesmo problema, mas a caixa de seleção não estava ativa, então verifiquei e agora funciona!


Obrigado me ajudou. Eu negligenciei a opção. ;)
Skalli 23/01

17

Além do acima, verifique também se a opção 'Somente criar projetos de inicialização e dependências na execução' está desmarcada (em Ferramentas -> Opções -> Projetos e soluções -> Construção e execução)


1
Eu tive esse problema, e essa foi a solução. Obrigado.
Roberto Luis Bisbé

1
Isso corrigiu para mim, mas parece um bug. O projeto em questão é uma dependência e deve ser construído.
KingOfHypocrites

Essa é uma configuração horrível para deixar desmarcada se você tiver mais de um projeto de inicialização ou qualquer projeto de teste.
CBP

Obrigado!! A Microsoft deve reformular e alterar isso para que seja significativo. Não está claro para mim o que significa fazer quando está marcado.
Cameron #

10

Eu tive esse problema também. Eu verifiquei tudo o que foi sugerido sem sucesso. Acontece que o meu relógio no meu PC foi adiado por cerca de 12 horas, e eu estava salvando em uma unidade de rede. Os registros de data e hora dos arquivos estavam desatualizados e o VS não achou necessário criar meu projeto porque os arquivos estavam super atualizados.


3

Por um tempo, eu já estava confuso sobre o motivo pelo qual meu laptop (dual core de 2ghz, 2Gb de ram) compilou meu site mais rapidamente do que meu desktop (quad core de 3ghz com 16Gb de ram). Ambos têm discos SSD. As opções de compilação estão definidas corretamente (a mesma contagem de núcleos = compilações paralelas), mas o laptop executa o site em alguns segundos e o dekstop executa o site em cerca de 30 segundos.

Foi encontrada uma opção adicional nas "Páginas de propriedades" do site, na configuração Build, o laptop foi definido como "No Build" e o desktop definido como "Build and Run". Só o encontrou depois que o site foi executado no laptop sem verificar se havia um erro do compilador.

Pode ajudar alguém no futuro, então pensei em adicioná-lo a este post


2

Outro ponto a ser verificado está na solução Página de propriedades -> Propriedades de configuração -> configuração: verifique se todas as caixas de seleção em Coluna de compilação estão verificando o projeto que você precisa cumprir novamente.


1

Eu tentei as soluções anteriores com resultados mistos. MAS parece funcionar para mim sempre que vou para Build -> Clean Solution

Mas está ficando chato ter que fazer isso toda vez.


1

Para mim, isso estava acontecendo por causa das definições de configuração da compilação. Minha solução do visual studio possui vários projetos que são uma mistura de projetos em C # e C ++. Agora eu percebi que, por algum motivo estranho, o Visual Studio prefere não criar projetos C ++ por padrão, o que é evidente nas configurações. Percebi isso logo após adicionar um novo projeto C ++ à solução . Não sei por que o VS não segue a mesma abordagem ao adicionar um novo projeto C # à solução.

Clique com o botão direito do mouse no arquivo de solução no Solution Explorer -> clique em Propriedades no menu de contexto -> selecione o nó Propriedades de configuração no painel esquerdo -> selecione o nó Configuração . Ele mostra a lista de todos os projetos na solução. O primeiro projeto LearnDs é um projeto C ++. Observe a caixa de seleção na coluna compilar na primeira linha. Está desmarcado. Esse foi o motivo pelo qual o Visual Studio 2010 não estava construindo meu projeto C ++ (pressionando F5), que continha algumas alterações desde a última compilação.

insira a descrição da imagem aqui

No momento em que marquei a caixa de seleção correspondente e salvei as definições de configuração da compilação da solução, ela funcionou. Agora, vejo o prompt abaixo sempre que pressiono F5, pois o VS é capaz de detectar que há algumas novas alterações desde a última compilação. Esse prompt ocorre porque minhas configurações no menu Ferramentas -> submenu Opções -> nó Projetos e soluções -> Nó Compilar e executar -> "Na execução, quando os projetos estão desatualizados" estão definidas como Prompt to build. Caso você não goste desse prompt, defina-o como Always build.

insira a descrição da imagem aqui


1

Ferramenta -> Opções -> Projeto e Soluções.

  1. Defina como Sempre criar / Prompt para criar para "Em execução, o projeto está desatualizado"
  2. Desmarque a caixa de seleção "Criar apenas projetos e dependências de inicialização na execução"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.