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.