Program Visual Studio 2010 nie jest kompilowany przed uruchomieniem, gdy występują zmiany w kodzie


126

Od lat używam klawisza F5 (Rozpocznij debugowanie) do tworzenia kodu (jeśli jest nieaktualny), a następnie debugowania. To działało również w VS 2010, jednak dzisiaj po prostu rozpoczyna się debugowanie bez kompilacji. Powiedzmy, że wyczyszczę projekt, a następnie naciśnij klawisz F5, zamiast go budować, aby mógł go uruchomić, wyświetla komunikat o błędzie informujący, że plik exe nie istnieje do uruchomienia. Jak najpierw sprawić, by był zbudowany? Co mogło się zmienić?


1
Miałem ten sam problem. Występowało to od jednego do następnego dnia i nic nie zmieniłem w oknie dialogowym Opcje. Odpowiedź Hansa rozwiązała mój problem.
jbe

Niedawno natknąłem się na to, opublikowałem raport o błędzie w msft connect, wygłoś swój głos, aby mieć nadzieję, że to naprawią connect.microsoft.com/VisualStudio/feedback/details/626414/ ...
Jason

Odpowiedzi:


164

Narzędzia + opcje, projekty i rozwiązania, buduj i uruchamiaj. „Uruchomione, gdy projekty są nieaktualne” = Zawsze buduj. Ten poniżej = Nie uruchamiaj.


7
Właśnie sprawdzono i ustawiono na Zawsze buduj ... Więc nie powinien tego robić.
jamone

5
Działa na moim komputerze. Pracowałem nad twoim. Restart jest następny.
Hans Passant

3
Reboot nie naprawił tego, ale zmiana "On Run, kiedy projekty są nieaktualne" = Zawsze buduj, aby Nie uruchamiać zapisywania / wychodzenia z VS, a następnie zmiana z powrotem naprawiła to.
jamone

3
To jest błąd. Chcesz przesłać go do connect.microsoft.com?
Hans Passant

1
@Hans: oczywiście, jak to odtwarzasz? Przekonanie ludzi w microsoft connect, że to naprawdę problem, jest prawie niemożliwe, chyba że da się go odtworzyć. Co tylko ma sens, jakbyś nie mógł, to są szanse, że
deweloper

119

Miałem ten problem i okazało się, że to Configuration Manager. Niedawno zmieniłem z Debug | Mixed CPU na Debug | Any CPU i projekt nie był ustawiony na kompilację w tej konfiguracji


To również rozwiązało problem - wydaje się być prawdopodobną przyczyną tego problemu.
gstercken

3
Świetna wskazówka! Nie jest to coś, o czym byś pomyślał. Dzięki
Almund,

1
Tak, to naprawiło to dla mnie! Po prostu kliknąłem wszystkie pola wyboru obok, aby zbudować w menedżerze konfiguracji. Dzięki Tim!
chaz

U mnie też naprawiono podobny problem. Dzięki!
Austin Thompson,

1
Mój problem polegał na wybraniu złej konfiguracji! Miałem osobny projekt, w którym każda konfiguracja jest w innym języku, a kombinacja została ustawiona na jedną z tych konfiguracji. Po prostu zmieniłem go na Debug_Unicode i teraz się buduje!
sergiol

22

otwórz menedżera konfiguracji i sprawdź, czy pole wyboru w kolumnie kompilacji dla projektu startowego jest zaznaczone. Miałem ten sam problem, ale pole wyboru nie było aktywne, więc sprawdziłem je i teraz działa!


Dzięki pomogło mi. Przeoczyłem tę opcję. ;)
Skalli

17

Oprócz powyższego upewnij się również, że opcja `` Buduj tylko projekty startowe i zależności podczas uruchamiania '' jest odznaczona (w menu Narzędzia -> Opcje -> Projekty i rozwiązania -> Kompiluj i uruchamiaj)


1
Miałem ten problem i to było najlepsze rozwiązanie. Dzięki.
Roberto Luis Bisbé

1
Naprawiło to dla mnie, ale wydaje się, że to błąd. Projekt, o którym mowa, jest zależnością i powinien zostać zbudowany.
KingOfHypocrites

To okropne ustawienie, które nie jest zaznaczone, jeśli masz więcej niż jeden projekt startowy lub dowolne projekty testowe.
cbp

Dziękuję Ci!! Microsoft powinien przeredagować i zmienić to, aby miało to sens. Nie jest dla mnie jasne, co to znaczy zrobić, gdy jest sprawdzane.
Cameron

10

Ja też miałem ten problem. Sprawdziłem wszystko, co zasugerowałem, ale bezskutecznie. Okazuje się, że mój zegar na moim komputerze przestawił się o około 12 godzin do przodu, a ja zapisywałem na dysku sieciowym. Sygnatury czasowe plików były nieaktualne, a VS nie uważał, że musi budować mój projekt, ponieważ pliki były bardzo aktualne.


3

Od jakiegoś czasu jestem zdezorientowany, dlaczego mój laptop (dwurdzeniowy 2 GHz, 2 GB pamięci RAM) skompilował moją witrynę szybciej niż mój komputer stacjonarny (czterordzeniowy 3 GHz z 16 GB pamięci RAM). Oba mają dyski SSD. Wszystkie opcje kompilacji są ustawione prawidłowo (ta sama liczba rdzeni = kompilacje równoległe), ale laptop uruchamia witrynę w ciągu kilku sekund, a dekstop uruchamia witrynę w około 30 sekund.

Znalazłem dodatkową opcję w „Stronach właściwości” witryny, w ustawieniu Kompilacja, laptop był ustawiony na „Bez kompilacji”, a komputer ustawiony na „Buduj i uruchom”. Znalazłem go dopiero po uruchomieniu witryny na laptopie bez sprawdzania błędu kompilatora.

Może komuś pomóc w przyszłości, więc pomyślałem, że dodam to do tego postu


2

Kolejny punkt do sprawdzenia znajduje się w rozwiązaniu Strona właściwości -> Właściwości konfiguracyjne -> konfiguracja: upewnij się, że wszystkie pola wyboru w kolumnie Buduj są zaznaczone dla projektu, który ma zostać spełniony.


1

Wypróbowałem poprzednie rozwiązania z różnymi rezultatami. ALE wydaje mi się, że działa dla mnie za każdym razem, gdy przechodzę do Build -> Clean Solution

Ale robienie tego za każdym razem staje się irytujące.


1

U mnie działo się to z powodu ustawień konfiguracji kompilacji. Moje rozwiązanie Visual Studio składa się z wielu projektów, które są połączeniem projektów C # i C ++. Teraz zdałem sobie sprawę, że z jakiegoś dziwnego powodu Visual Studio woli domyślnie nie budować projektów w C ++, co widać po ustawieniach konfiguracji kompilacji. Zauważyłem to zaraz po dodaniu nowego projektu C ++ do rozwiązania . Nie wiem, dlaczego VS nie stosuje tego samego podejścia podczas dodawania nowego projektu C # do rozwiązania.

Kliknij prawym przyciskiem plik rozwiązania w eksploratorze rozwiązań -> Kliknij właściwości w menu kontekstowym -> Wybierz węzeł Właściwości konfiguracji w lewym panelu -> Wybierz węzeł konfiguracji . Pokazuje listę wszystkich projektów w rozwiązaniu. Pierwszy projekt LearnDs jest projektem w C ++. Zwróć uwagę na pole wyboru w kolumnie kompilacji w pierwszym wierszu. Nie jest zaznaczone. To był powód, dla którego Visual Studio 2010 nie budował mojego projektu C ++ (po naciśnięciu klawisza F5), który zawierał pewne zmiany od czasu ostatniego pomyślnego skompilowania.

wprowadź opis obrazu tutaj

W momencie, gdy zaznaczyłem odpowiednie pole wyboru i zapisałem ustawienia konfiguracji kompilacji dla rozwiązania, zadziałało. Teraz widzę poniższy monit za każdym razem, gdy naciskam F5, ponieważ VS jest w stanie wykryć, że pojawiły się nowe zmiany od czasu jego ostatniej kompilacji. Ten monit jest spowodowany tym, że moje ustawienia w menu Narzędzia -> podmenu Opcje -> węzeł Projekty i rozwiązania -> Buduj i uruchom węzeł -> „Uruchomione, gdy projekty są nieaktualne” jest ustawione na Prompt to build. Jeśli nie podoba ci się ten monit, ustaw go na Always build.

wprowadź opis obrazu tutaj


1

Narzędzie -> Opcje -> Projekt i rozwiązania.

  1. Ustaw jako Zawsze kompiluj / Monituj o kompilację dla „Przy uruchomieniu, projekt jest nieaktualny”
  2. Usuń zaznaczenie pola wyboru „Twórz tylko projekty startowe i zależności po uruchomieniu”

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.