Udostępnij za pośrednictwem


Rozwiązywanie problemów z dostosowaniami kompilacji

Jeśli niestandardowe kroki kompilacji lub zdarzenia nie działają zgodnie z oczekiwaniami, możesz spróbować zrozumieć, co dzieje się nie tak.

  • Upewnij się, że pliki, które są generowane przez niestandardowe kroki kompilacji, są zgodne z plikami zadeklarowanymi jako dane wyjściowe.

  • Jeśli niestandardowe kroki kompilacji generują pliki, które są danymi wejściowymi lub zależnościami innych kroków kompilacji (niestandardowych lub innych), upewnij się, że te pliki są dodawane do projektu. Upewnij się, że narzędzia, które używają tych plików, są wykonywane po kroku kompilacji niestandardowej.

  • Aby wyświetlić, co faktycznie robi niestandardowy krok kompilacji, dodaj @echo on jako pierwsze polecenie. Zdarzenia kompilacji i kroki kompilacji są umieszczane w tymczasowym pliku .bat i uruchamiane po skompilowanie projektu. W związku z tym możesz dodać sprawdzanie błędów do zdarzeń kompilacji lub poleceń kroku kompilacji.

  • Sprawdź dziennik kompilacji w katalogu plików pośrednich, aby zobaczyć, co faktycznie zostało wykonane. Ścieżka i nazwa dziennika kompilacji jest reprezentowana przez wyrażenie makra MSBuild $(IntDir)\$(MSBuildProjectName).log.

  • Zmodyfikuj ustawienia projektu, aby zebrać więcej niż domyślną ilość informacji w dzienniku kompilacji. W menu Narzędzia kliknij pozycję Opcje. W oknie dialogowym Opcje kliknij węzeł Projekty i rozwiązania, a następnie kliknij węzeł Kompilowanie i uruchamianie. Następnie w polu szczegółowości pliku dziennika kompilacji projektu MSBuild kliknij pozycję Szczegółowe.

  • Sprawdź wartości dowolnych makr plików lub katalogów, których używasz. Makra można powtórzyć pojedynczo lub dodać copy %0 command.bat do początku niestandardowego kroku kompilacji, który skopiuje niestandardowe polecenia kroku kompilacji do polecenia command.bat ze wszystkimi makrami rozwiniętymi.

  • Uruchamiaj niestandardowe kroki kompilacji i twórz zdarzenia indywidualnie, aby sprawdzić ich zachowanie.

Zobacz też

Ogólne informacje o niestandardowych krokach budowania lub zdarzeniach kompilacji