Wszystkie kompilacje mojego projektu kończą się niepowodzeniem, ale nie są wyświetlane żadne błędy. Próbowałem wyczyścić i odbudować, ale to nie zadziałało.
Zmieniłem szczegółowość danych wyjściowych programu MSBuild na „Diagnostyka”, mając nadzieję, że pomoże mi to zidentyfikować problem, a teraz utknąłem. Oto jak wygląda wynik:
1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========
visual-studio
visual-studio-2015
build
msbuild
Rob Greenlee
źródło
źródło
Odpowiedzi:
Miałem ten sam problem i zamknięcie i ponowne otwarcie programu Visual Studio rozwiązuje problem.
Próbowałem również wyczyścić roztwór, a czyszczenie nie powiodło się.
Mogą istnieć inne scenariusze, w których to nie działa, ale w moim przypadku ponowne uruchomienie rozwiązało ten problem.
źródło
Możliwe, że nie widzisz wszystkich błędów kompilacji.
Zmieniając listę rozwijaną za ikoną „Wiadomości” z „Build + Intellisense” na „Build Only”, będziesz mógł zobaczyć błędy zgłaszane podczas kompilacji, które nie są wykrywane przez Intellisense. Zobacz zrzut ekranu poniżej:
źródło
Widzę regularne przypadki raportowania VS2015 o niepowodzeniu kompilacji, ale w oknie błędu nie pojawiają się żadne błędy. Wychodząc ze starożytnego tła wiersza poleceń, w końcu spojrzałem na okno wyjściowe. W oknie danych wyjściowych kompilator zgłaszał błędy, ale te błędy nie były przechwytywane w oknie błędów. Nigdy nie widziałem tego problemu pod VS2013.
Zwykłe zamknięcie VS i ponowne otwarcie nie rozwiązało tego warunku. (W VS2013 był to powszechny sposób na wykopanie inteligencji XAML z tyłu i powstrzymanie go od naprawiania „błędu”, który został naprawiony).
Do tej pory było to zawsze związane z błędami kompilacji w pliku CS strony XAML. Nie pamiętam, żebym to widział w pliku CS bez strony.
Dopóki ktoś nie wymyśli, aby sprawdzić okno wyjściowe, rzeczy takie jak raportowanie Intellisense w oknie błędów nieprawidłowe odwołania do obiektów w XAML, ale żadne błędy kompilatora wyświetlane w oknie błędu nie mogą spowodować BARDZO zamieszania, ponieważ „pojawia się” tak, jak błędy Intellisense raportuje błędy XAML. Ale tak naprawdę nie jest. Błędy XAML to tylko symptomy niepowodzenia kompilacji plików CS, ale ich błędy nie są zgłaszane w oknie błędu.
źródło
Usunięcie ukrytego
.vs
folderu dla mnie działało dla VS2015.(Zauważ, że w tym miejscu znajdują się teraz pliki SUO)
źródło
Może się tak zdarzyć, gdy odwołujesz się do innego projektu wersji frameworka .net (w moim przypadku v4.5.2 vs v4.5). Poprawienie tego rozwiąże problem.
źródło
To, co się wydarzyło, to zmiana strefy czasowej na komputerze na +5: 30, a następnie zmiana z powrotem na -5: 00, co pomieszało VS. Kiedy ponownie uruchomiłem VS, znowu działało dobrze.
źródło
Sprawdź wszystkie wersje Framework projektu i upewnij się, że wszystkie są takie same lub przynajmniej ten projekt A nie odwołuje się do projektu B, gdy wersja .NET Framework projektu B jest wyższa.
źródło
Miałem ten problem z VS2015 Update 3 RC i Xamarin (projekt udostępniony .Forms).
Kompilator nie zatrzymuje się, błędy były wyświetlane tylko w oknie wyjściowym.
To tylko dla projektów Xamarin (z projektami VB.NET wszystkie działały zgodnie z oczekiwaniami) ...
Aby spróbować znaleźć przyczynę problemu, zmieniłem wyjście kompilacji w VS:
- menu "Narzędzia - Opcje"
- z lewego panelu : „Projekty i rozwiązania: buduj i uruchamiaj”:
- zmień „Szczegółowość wyników MSBuild” z „Minimalne” na „Diagnostyczne”
Po wykonaniu tej czynności kompilator zatrzymał się i pojawił się błąd.
Następnie ustawiłem opcję z powrotem z "Diagnostyka" na "Minimal" (tak jak było wcześniej) i ... zadziałał też z "Minimal" (dla pewności zrestartowałem też VS) ...
Więc ... wydaje się (przynajmniej w moim przypadku), że tylko zmiana (dotknięcie) ustawienia (MSBuild Output Verbosity ") rozwiązała problem i że jest to błąd w VS i / lub oprogramowaniu do integracji Xamarin ...
źródło
Nie wiem, czy tylko ja borykam się z tym problemem.
W moim przypadku, kiedy otworzyłem Visual Studio, strefa czasowa była w GMT + 1:00, a kompilacja się powiodła. Następnie zmieniłem strefę czasową na GMT + 5:30, a następnie bez ponownego uruchamiania programu Visual Studio próbowałem uruchomić aplikację, ale kompilacja nie powiodła się bez żadnego błędu lub ostrzeżenia.
Zmieniłem z powrotem strefę czasową na GMT + 1: 00 i kompilacja powiodła się bez żadnego błędu.
źródło
To, co zrobiłem (po tym wszystkim, co powyżej, i nadal nie działało), to przejrzenie wszystkich folderów bin i wyczyszczenie ich wszystkich (tj. Projekty, do których się odwołałem).
To zadziałało dla mnie, mam nadzieję, że zadziała również dla ciebie.
źródło
Miałem ten problem i okazało się, że mam
using
wskazanie na pustą przestrzeń nazw. Usunięcie tejusing
klauzuli rozwiązało problemźródło
Sprawdź ostrzeżenia ...
Miałem nową bibliotekę klas z docelowym .Net Framework 4.5, podczas gdy projekt odniesienia był 4.0, co spowodowało problem z odniesieniem.
Po zmodyfikowaniu biblioteki klas za pomocą docelowego .Net Framework 4.0 działała poprawnie.
źródło
Nic z powyższych odpowiedzi mi nie pomogło. Po wielu eksperymentach w końcu stwierdziłem, że problem dotyczy odwołania Microsoft.Net.Compilers v2.10.0 w jednym z projektów. VS 2015 korzysta z MSBuild v14, który nie obsługuje tej wersji Microsoft.Net.Compilers.
źródło
Dla mnie ten problem był związany z niestandardowym ustawieniem zestawu reguł CodeAnalysis „ IncludeAll ”.
Wygląda na to, że kompilator przestrzega tego ustawienia:
Jednak technologia IntelliSense przyjęła domyślną AKCJĘ na identyfikatorze reguły, czyli „Ostrzeżenie”. To wyjaśnia zachowanie obserwowane przez @RobertHarvey, w którym filtrujesz dane wyjściowe za pomocą tylko kompilacji i wyświetla się jako BŁĄD , ale jeśli filtrujesz tylko przez Intellisene, wyświetla się jako OSTRZEŻENIE . Filtrowanie danych wyjściowych za pomocą domyślnej funkcji Build + Intellisense wydaje się niedeterministyczne!
Moją poprawką było wyraźne wskazanie zasady, że chciałem być ostrzeżeniem jako ostrzeżeniem.
Jest to potencjalnie problem związany z nieprzestrzeganiem opcji IncludeAll przez Intellisense . Zobacz https://github.com/dotnet/roslyn/issues/7400
źródło
Może się to również zdarzyć podczas migracji projektu do programu Visual Studio 2015 ze starszą wersją Framework. Sprawdź ostrzeżenia na liście błędów. Możesz zobaczyć coś takiego, jak projekt jest obecnie .NET w wersji 2.0 i wymaga .NET 3.5 lub nowszego. Jeśli znajdziesz podobne ostrzeżenie, przejdź do właściwości projektu i wybierz wymagane oprogramowanie .NET Framework.
źródło
Sprawdź ostrzeżenia. Czasami kompilacja zawodziła również z powodu jakiegoś rodzaju ostrzeżeń.
źródło
Po otwarciu rozwiązania, wygenerowaniu go, widzę błędy kompilacji lub ostrzeżenia zgłoszone na karcie „Wyjście”, natomiast na karcie „Błąd” nie ma żadnego problemu.
Jak widać, konfiguracja „Karta Błąd” jest OK (wybrano „Tylko kompilacja” i „Całe rozwiązanie”).
Zauważ, że po dokładnym zbadaniu stwierdziłem, że dzieje się tak tylko wtedy, gdy karta „Błąd” nie była jeszcze wyświetlana podczas uruchamiania kompilacji!
Jeśli aktywowałeś kartę „Błąd” przed rozpoczęciem kompilacji (lub jeśli była to bieżąca karta podczas uruchamiania programu Visual), to nowo znalezione błędy / ostrzeżenia będą wyświetlane poprawnie:
To tak, jakby „Karta Błąd” była inicjowana dopiero wtedy, gdy jest widoczna (co może być prawdą, ponieważ pierwsze kliknięcie zajmuje więcej czasu ...), a jeśli tak nie jest, nie gromadzi kompilacji wyniki ...
Jak dotąd nie mam lepszej odpowiedzi na ten problem niż „ aktywuj kartę Błąd przed budowaniem ”.
I założę się, że właśnie dlatego czasami działa „restart VS”. Widzisz, że karta „Błąd” jest pusta, zamykasz i ponownie uruchamiasz VS, a następnie „Karta Błąd” jest wyświetlana domyślnie, ponieważ program VS przywrócił bieżącą aktywną kartę z poprzedniej sesji. Budujesz i teraz zakładka „Błąd” zostaje wypełniona ...! Po prostu miałeś szczęście.
Uwaga: zgłoszono błąd VS: https://connect.microsoft.com/VisualStudio/feedback/details/3132689
źródło
Dla mnie kompilacja nie powiodła się bez błędów, ale po lekkim badaniu okazało się, że VS. nie znalazł odniesienia do MSHTML.
To zachowanie pojawiło się po aktualizacji do systemu Windows 10. Aby to naprawić, musisz zarejestrować zestaw z GAC. Aby dowiedzieć się, jak to zrobić, przejdź do odpowiedzi MSHTML DLL w systemie Windows 10 , gdzie znalazłem odpowiedź.
źródło
Zaczerpnięte z tej odpowiedzi
Po zrobieniu tego znalazłem prawdziwy powód, który w rzeczywistości był błędem w projektach zależności. Projektuję, że byłem zależny, został zbudowany dla innego frameworka (nowszego) niż mój. Tworząc w ten sposób problem. Błędy były wyświetlane tylko wtedy, gdy umieściłem szczegółowość danych wyjściowych w diagnostyce
źródło
Dla mnie była to łajdacka posiadłość. Problem niekoniecznie polegał na tym, że nie widziałem błędu; błąd był następujący:
Początkowo kompilacja zawieszała się i nie wyświetlała żadnych błędów, chyba że podjęto próbę zamknięcia programu Visual Studio. Po ponownym uruchomieniu zawieszał się przez długi czas podczas budowania, a następnie wyświetlał powyższy komunikat.
Usuwanie ukrytego
.vs
folderu, odbudowywanie / czyszczenie rozwiązania i ponowne uruchamianie programu Visual Studio nie działało. Usunięcie dołączonej własności zrobiło; ergo, może to być rzeczywisty kod, który nie działa poprawnie.W ostateczności usuwałbym wszystkie ostatnie zmiany jedna po drugiej, dopóki problem nie zostanie rozwiązany, ponieważ żadne z opisanych tutaj rozwiązań nie pomogło.
Aktualizacja
Ponieważ jestem przyzwyczajony do tworzenia tradycyjnych aplikacji WPF, nie zdawałem sobie sprawy, że nie można utworzyć „połączonych” przestrzeni nazw XAML przy użyciu
.
s z UWP. Próbowałem ustawić dołączoną właściwość za pomocąA tak powinno być
Nie jest tak ładna, jak mi się podoba, ale najwyraźniej jest to jedyna droga.
źródło
Co mi pomogło:
Zamknięcie wszystkich dokumentów rozwiązało problem. (To samo rozwiązanie, jeśli IntelliSense przestaje działać)
(zakładka prawym przyciskiem myszy - Zamknij wszystkie dokumenty)
źródło
Spróbuj tego
Wyłączenie
"mstscax.dll"
z zależności zadziałało dla mnie.źródło
Problem niszowy: właśnie napotkałem ten sam problem. Żadna z powyższych odpowiedzi nie wydawała się pomocna.
Problem dotyczył programu konsoli, nie można oznaczyć metody Main () jako async **, co właśnie robiłem. Nie jestem pewien, dlaczego Visual Studio nie może określić, dlaczego dokładnie projekt nie jest budowany (za każdym razem otrzymuję 0 błędów i 0 ostrzeżeń). Używam programu Visual Studio 2015 Enterprise.
Poprawka: obejście tego problemu jest tutaj .
źródło
Po zaktualizowaniu pliku dll okazało się, że nowy plik był przeznaczony na wyższą wersję .NET Framework. Rozwiązaniem było przejście do Project Properties i zmiana platformy Target na odpowiednią wersję.
źródło
MSBuild.exe został zmieniony w katalogu (C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin)
więc po prostu zastępuję MSBuild.exe z innego komputera, który ma vs2015.
Teraz działa dobrze.
źródło
Znalazłem rozwiązanie, zmieniając .NET Framework z 4.5.2 na 4.0.
Problem został spowodowany przez odniesienie, które nie było zgodne z aktualnie wybranym frameworkiem.
źródło
Właśnie wyczyściłem filtry i zadziałało. Ikona wyczyść wszystkie filtry znajduje się w pobliżu okna komunikatów.
źródło
Rozpocznij nowy projekt. Skopiuj cały kod do poniższej przestrzeni nazw ConsoleApp38450983450.
Wklej do nowego projektu poniżej przestrzeni nazw ScrewedUpConsoleApp102343
Buduj i działaj idealnie
źródło
Powinieneś ustawić ComboBox po prawej stronie pod listą błędów, w „Całe rozwiązanie”, aby zobaczyć wszystkie błędy. wprowadź opis obrazu tutaj
źródło