Post Build zakończony kodem 1
Mam projekt z wydarzeniem post build:
copy $(ProjectDir)DbVerse\Lunaverse.DbVerse.*.exe $(TargetDir)
Działa dobrze za każdym razem na mojej maszynie. Mam nowego programistę, który zawsze dostaje błąd "exited with code 1". Kazałem jej uruchomić tę samą komendę w wierszu polecenia DOS i działało dobrze. Co może być tego przyczyną? Czy jest jakiś sposób, aby dostać się do prawdziwego błędu?
Obaj korzystamy z Visual Studio 2008.
17 answers
Miała spację w jednym z nazw folderów w swojej ścieżce i żadnych cudzysłowów wokół niego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-21 21:52:13
Pomógł mi ten z "pingami"... ale może być wyjaśnione trochę lepiej...
Dla mnie rozwiązaniem było zmienić:
copy $(TargetDir)$(TargetName).* $(SolutionDir)bin
Do tego:
copy "$(TargetDir)$(TargetName).*" "$(SolutionDir)bin"
Mam nadzieję, że ci się uda. :-)Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-18 19:51:26
Powodem kodu 1 było to, że folder docelowy był tylko do odczytu. Mam nadzieję, że to komuś pomoże! Miałem Zdarzenie post build, aby zrobić kopię z jednego katalogu do drugiego, a miejsce docelowe było tylko do odczytu. Więc po prostu poszedłem i odznaczyłem atrybut Tylko do odczytu w katalogu i wszystkich jego podkatalogach! Po prostu upewnij się, że jest to katalog, który jest bezpieczny, aby to zrobić!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-25 08:50:15
dodałem to dla przyszłych odwiedzających, ponieważ jest to dość aktywne pytanie.
ROBOCOPY wychodzi z "kodami sukcesu", które są poniżej 8. Zobacz: http://support.microsoft.com/kb/954404
Oznacza to, że:
robocopy exit code 0 = no files copied
robocopy exit code 1 = files copied
When the result is 1, this becomes an error exit code in visual studio.
Więc rozwiązałem to łatwo dodając to na dole pliku wsadowego
exit 0
Zaproponuj obsługę błędów ROBOCOPY w ten sposób
rem each robocopy statement and then underneath have the error check.
if %ERRORLEVEL% GEQ 8 goto failed
rem end of batch file
GOTO success
:failed
rem do not pause as it will pause msbuild.
exit 1
:success
exit 0
zamieszanie zostanie ustawione, gdy nie zostaną skopiowane żadne pliki = brak błędu w VS. wtedy, gdy są zmiany, pliki są kopiowane, błędy VS, ale wszystko, czego chciał deweloper, zostało zrobione.
dodatkowa wskazówka: nie używaj pauzy w skrypcie, ponieważ stanie się to nieokreśloną pauzą w budowaniu VS. podczas tworzenia skryptu użyj czegoś w rodzaju timeout 10
. Zauważysz to i skomentujesz, zamiast mieć wiszącą konstrukcję.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-16 23:36:19
Get process monitor from SysInternals ustaw go na obserwację Lunaverse.DbVerse (w polu Path) spójrz na wynik operacji. Stąd powinno być oczywiste, co poszło nie tak
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-21 20:50:34
Musiałem uruchomić VS jako Administrator, aby uzyskać kopię post-build na OS chroniony"..\Common7 \ IDE \ PrivateAssemblies " do pracy
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-30 21:31:42
Dla tych, którzy używają polecenia 'copy ' w zdarzeniach Build (Pre-build event command line or / and Post-build event command line ) from Project - > Properties : you ' copy' Command parameters should look like here: copy "source of files" "destination for files"
. Pamiętaj, aby używać cudzysłowów (aby uniknąć problemów ze spacjami w łańcuchach adresu).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-18 09:00:46
Udało mi się naprawić mój kod 1, uruchamiając Visual Studio jako Admin. Najwyraźniej nie miał dostępu do wykonywania poleceń powłoki bez admina.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-19 17:45:48
Miałem podobny problem, ale konkretnie w środowisku budowania Jenkinsa. Aby rozwiązać ten problem, przełączyłem się z polecenia Kopiuj w zdarzeniu post build na polecenie Kopiuj obiekt docelowy.
Zmieniłem to:
<PropertyGroup>
<PostBuildEvent>copy $(ProjectDir)bin\BLAH.Common.xml $(ProjectDir)App_Data\BLAH.Common.xml</PostBuildEvent>
</PropertyGroup>
Do tego:
<Target Name="AfterBuild">
<Copy SourceFiles="$(ProjectDir)bin\BLAH.Common.xml" DestinationFolder="$(ProjectDir)App_Data\" />
</Target>
I teraz działa dobrze.
Konkretny błąd, który otrzymałem, to:
(PostBuildEvent target) ->
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(4291,5): error MSB3073: The command "copy <http://1.2.3.4/job/BLAHv2/ws/Api/bin/BLAH.Common.xml> <http://1.2.3.4/job/BLAHv2/ws/Api/App_Data/BLAH.Common.xml"> exited with code 1. [<http://1.2.3.4/job/BLAHv2/ws/Api/Api.csproj]>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-31 15:04:19
W ramach dobrej praktyki proponuję zamienić Zdarzenie post build na ms Build File Copy task.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-21 21:58:28
Dla mnie musiałem upewnić się, że program, do którego miałem radzić sobie z plikiem, nie działa w tym czasie. Nie było żadnych błędów w składni. Mam nadzieję, że to komuś pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-18 14:18:04
Właśnie otrzymałem ten sam błąd. Miałem % w ścieżce docelowej, którą trzeba było uciec
c:\projects\%NotAnEnvironmentVariable%
Potrzebne do
c:\projects\%%NotAnEnvironmentVariable%%
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-01 18:26:12
Ok, to jest problem z wieloma rozwiązaniami, więc po prostu zamieszczam swoje, aby dać ludziom więcej wskazówek. Moja sytuacja polega na podwójnym sprawdzeniu folderów w ścieżce i upewnieniu się, że wszystkie z nich istnieją w Twoim komputerze. Na przykład: "$(SolutionDir) \ partBin \ Bin \ $(ProjectName).pdb", ale " Bin " nie znajduje się w folderze partBin.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-28 13:59:29
Dla tych, którzy używają polecenia 'copy' w zdarzeniach Build (linia poleceń Pre-build event lub/i linia poleceń Post-build event) Z Project - > Properties: folder docelowy powinien istnieć
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-21 14:51:01
Tyle rozwiązań...
W moim przypadku musiałem zapisać plik bat z kodowaniem non-unicode (Western, Windows). Domyślnie, gdy dodałem plik do visual studio (i chyba powinienem był to zrobić poza VS), Dodano z kodowaniem UTF-8.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-02 09:26:31
Miałem ten sam problem i okazało się, że to dlatego, że zmieniłem nazwę projektu. Wszedłem do właściwości projektu i zmieniłem nazwę asemblera i główną Przestrzeń nazw na nazwę projektu i działało świetnie po tym!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-06 15:43:11
Kolejna odpowiedź ...
W moim przypadku miałem projekt Visual Studio 2017 skierowany zarówno do. Net Standard 1.3 i. Net Framework 2.0. Zostało to określone w .plik csproj taki:
<TargetFrameworks>netstandard1.3;net20</TargetFrameworks>
Miałem również wiersz poleceń zdarzenia post-build, taki jak ten:
copy "E:\Yacks\YacksCore\YacksCore\bin\net20\Merlinia.YacksCore.dll" "E:\Merlinia\Trunk-Debug\Shared Bin\"
Innymi słowy, próbowałem skopiować. Net Framework .dll wytworzony przez kompilację do alternatywnej lokalizacji.
To był błąd, gdy zrobiłem przebudowę:
MSB3073 The command "copy "E:\Yacks\YacksCore\YacksCore\bin\net20\Merlinia.YacksCore.dll" "E:\Merlinia\Trunk-Debug\Shared Bin\"" exited with code 1.
Po wielu frustracja w końcu stwierdziłem, że dzieje się to, że Rebuild usunął wszystkie pliki wyjściowe, a następnie zrobił kompilację dla.Net Standard 1.3, a następnie próbował uruchomić wiersz poleceń zdarzenia post-build, co się nie udało, ponieważ plik do skopiowania nie został jeszcze zbudowany.
Rozwiązaniem była więc zmiana kolejności budowania, tj. build dla. Net Framework 2.0 najpierw, a następnie dla. Net Standard 1.3.
<TargetFrameworks>net20;netstandard1.3</TargetFrameworks>
To teraz działa, z drobną usterką, którą jest wiersz poleceń zdarzenia post-build jest uruchamiany dwa razy, więc plik jest kopiowany dwa razy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-19 04:11:50