2009-05-26 17 views
8

Mam plik rozwiązania studia wizualnego (2005) z 70 projektami.
Za każdym razem, gdy naciska się klawisz F5, aby go uruchomić, mówi mi, że 4 projekty są nieaktualne, i pyta mnie, czy chcę je odbudować. Robi to, mimo że właśnie wykonałem pełną kompilację.
Rozumiem (w zasadzie), że jeden z innych projektów musi aktualizować coś, na czym te projekty polegają, ale jak mam się dowiedzieć, co?Jak naprawić "nieaktualny" projekt studio graficznego za każdym razem, gdy go uruchamiam.

Czy są jakieś narzędzia, które mogą pomóc, lub jaką procedurę należy wykonać, aby dowiedzieć się, co powoduje, że VS zgłasza te projekty do przebudowy?

AKTUALIZACJA:
Dla osób zainteresowanych wygląda na to, że mój komputer był/jest problemem (mój HD działał ostatnio). Gdy próbowałem wyśledzić problem, kolejne kompilacje zaczęły generować błędy kompilacji. Zrobiłem porządek i otrzymałem ogromną liczbę (oczywiście fałszywych) błędów. Po jednym ponownym uruchomieniu, a następnie odbudowaniu, wszystkie błędy i problem zależności zniknęły.
Przepraszam teraz, kiedy robię kopie zapasowe wszystkich moich ważnych plików ...

+1

Dobrym sposobem debugować ten problem jest szczegółowo tutaj: http://stackoverflow.com/questions/2762930/vs2010-always-thinks-project-is-out-of-date-but-nothing- zmienił się – Ben

Odpowiedz

7

Uruchomiłbym normalną kompilację, dwa razy z rzędu. Za drugim razem ustawię MSBUILD na "Normalną" lub wyższą (w Narzędzia-> Opcje, "Projekty i rozwiązania", "Buduj i biegnij".) Dokładnie przeczytałem wyniki, aby zobaczyć, co faktycznie zbudowano po raz drugi:

Właściwie teraz, gdy o tym myślę, jeśli to naprawdę jest cykl, to część tego, co zostaje zbudowane po raz drugi, musi być tym, co powoduje to po raz trzeci itd. Być może macie krok po-kompilacji w jednym z projektów, który dotyczy zespołu lub innego zasobu wykorzystywanego jako dane wejściowe do wcześniejszego kroku. Przy 70 projektach w rozwiązaniu coś takiego łatwo byłoby spowodować nieumyślnie i trudno je przechwycić. aby nauczyć się wystarczająco dużo o MSBUILD, aby móc wykryć, kiedy jeden z jego kroków decyduje, że musi on zostać zbudowany, ponieważ coś się zmieniło, a następnie, aby zrozumieć twoje rozwiązanie na tyle dobrze, aby wiedzieć, że nic się nie zmieniło, a potem, aby to zobaczyć g zmieniono, który nie powinien się zmienić.

Po zakończeniu tego ćwiczenia może uzyskać pewne informacje, które pomogą Ci w rozwiązaniu problemu w mniejsze rozwiązania.

1

Miałem ten sam problem z łączeniem .netmodule z moim projektem, który był zgodny z niestandardowym krokiem kompilacji. Okazało się, że prolem łączyłem także bibliotekę C++, a plik .netmodule był wymieniony w tej samej linii na wejściu linkera.

Przykład: lib .netmodule

Insead od: lib \ n .netmodule

1

szybszy sposób niż Jana dziennika szczegółowość w Visual Studio 2013, jest otwarcie drzewie projektu Eksploratora w roztworze; pliki, które nie zostały znalezione, nie będą miały małego trójkąta przed nazwą pliku (z którym normalnie można zobaczyć listę symboli w tym pliku).

Usuń te pliki, a dla mnie wiadomość AlwaysCreate zniknęła (widzisz tylko "AlwaysCreate", gdy poziom szczegółowości jest ustawiony na co najmniej "Normalny").

1

Miałem ten problem i okazało się, że do mojego projektu dodałem plik nagłówkowy, ale został usunięty z dysku. Usunięcie nieistniejącego pliku nagłówka z naprawia zachowanie.

1

Miałem dokładnie ten problem w VS2010 po usunięciu niektórych plików źródłowych, które nie były już używane w moim projekcie. Po prostu wybierając "Clean Solution" z menu "Build", a następnie przebudowanie rozwiązania naprawiło problem.

Powiązane problemy