MSBUILD: błąd msb1008: można podać tylko jeden projekt

Dlaczego otrzymuję następujący błąd kompilacji?

C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe C:\Code\EduBenesysNET\EduBenesysNET\EduBenesysNET.vbproj /t:publish /p:Configuration=Release /p:Platform=AnyCPU /v:detailed /p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\"  /p:InstallUrl="https://www.benesys.net/benesys.net/TotalEducationTest/"  /p:ApplicationVersion=1.0.1.198  /p:ProductName="Total Education TEST"   /p:PublisherName="BeneSys, Inc."  /p:UpdateRequired="True"  /p:MinimumRequiredVersion=1.0.1.198
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3603]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

MSBUILD : error MSB1008: Only one project can be specified.
Switch: Education

For switch syntax, type "MSBuild /help"

Nie widzę, jak drugi projekt jest określony.
Czy jest on gdzieś przechowywany w pliku projektu?

Author: Zitrax, 2010-09-23

13 answers

Okazuje się, że końcowy ukośnik we właściwości PublishDir wymyka się cytatowi końcowemu. Ucieczka z trailing slash rozwiązała mój problem.

/p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\\"

W ten sposób możemy używać cudzysłowów dla ścieżek, które mają białe znaki we właściwościach, które MSBuild wymaga ukośnika końcowego.

Wiem, że to stary post, ale czuję, że muszę się tym z kimś podzielić: -)

 97
Author: Matt,
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-14 05:32:34

Rozwiązanie
Usuwanie cudzysłowów wokół ustawienia / p:PublishDir

Tzn.
Zamiast cudzysłowów

/p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\"  

Nie używaj cudzysłowów

/p:PublishDir=\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\  

Przepraszam, że nie opublikowałem wcześniej mojego znaleziska. Właściwie musiałem ponownie zbadać, aby zobaczyć, co trzeba zmienić. Kto by pomyślał, że usunięcie cytatów zadziała? Odkryłem to podczas oglądania współpracowników budujących inne rozwiązanie i zauważyłem, że nie ma cytatów.

 29
Author: Gerhard Weiss,
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-12-08 13:39:17

Ten problem pojawia się, gdy masz ścieżkę lub właściwość zawierającą spację, która nie jest cytowana.

Wszystkie Twoje właściwości i ścieżka mają cytat wokół nich, to dziwne. Komunikat o błędzie wskazuje Education jako przełącznik, spróbuj usunąć /p:ProductName="Total Education TEST", aby sprawdzić, czy działa.

 20
Author: Julien Hoarau,
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-09-23 16:01:14

Musisz umieścić qouty wokół ścieżki i nazwy pliku.
Więc użyj MSBuild "C:\Path Nazwa\Nazwa Pliku.Exe " / [Opcje]

 6
Author: Zamir,
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-01-29 07:02:43

Spróbuj usunąć końcowy ukośnik lub ukośnik na końcu ścieżki publikacji i zainstaluj adres url

/p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest"
/p:InstallUrl="https://www.benesys.net/benesys.net/TotalEducationTest"

Musisz trafić specjalną sekwencję znaków z \ " i (lub)/", Ale Nie wiem wystarczająco w cmd.exe do rozgryzienia.

Osobiście zawsze używam Powershell : jest o wiele bardziej przyjazny i potężny!

Mam nadzieję, że to pomoże!
 4
Author: Cédric Rup,
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-01-29 08:49:55

W vs2012 po prostu spróbuj utworzyć definicję kompilacji "Testuj kompilację" używając domyślnego szablonu TFS " DefaultTemplate....xaml " (Zwykle jego kopia)

To nie powiedzie się ze zwykłym tłumaczeniem-error: "MSBUILD: error MSB1008: można podać tylko jeden projekt.Switch: Activities "

Oczywiście gdzieś w domyślnym szablonie TFS brakuje niektórych ", więc msbuild otrzyma jako parametr nieusuwalny katalog zawierający spacje, co spowoduje wielokrotne projekty(?!)

Więc nigdy nie używaj spacji w TFS buduj nazwy definicji, dość smutne i proste w tym samym czasie

 2
Author: user3636264,
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 11:03:50

W Git Bash musiałem określić parametry z podwójnymi ukośnikami w stylu:

MSBuild.exe "Path\to\Solution.sln" //p:Platform="x86" //p:Configuration=Release //p:AppxBundlePlatforms="x86" 
 2
Author: friday,
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-07-04 10:29:45

To działało dla mnie w argumencie TFS MSBuild. Zwróć uwagę na liczbę ukośników.

/ P: DefaultPackageOutputDir= "\ \ Rdevnet \ Visual Studio Projects \ Insurance\ "

 1
Author: Mark Monforti,
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-02-24 16:22:47

Używałem pojedynczych cudzysłowów wokół parametru hasła, gdy dostałem błąd

/p:password='my secret' bad

I zmieniono go na użycie podwójnych cudzysłowów w celu rozwiązania problemu.

/p:password="my secret" Dobry

Prawdopodobnie to samo dotyczy każdego parametru wymagającego cudzysłowów dla wartości zawierających spację.

 1
Author: John K,
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-08-17 17:20:21

Dla mnie zapomniałem dodać cytat końcowy

/p:DeployOnBuild=true;OutDir="$(build.artifactstagingdirectory)

Do

/p:DeployOnBuild=true;OutDir="$(build.artifactstagingdirectory)"

 1
Author: RezaRahmati,
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-10-05 20:14:18

Na wypadek, gdyby ktoś miał ten sam problem co ja, brakowało mi " / "przed jednym z argumentów "/ p". Niezbyt jasne z opisu. Mam nadzieję, że to komuś pomoże.

 0
Author: Johnny,
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-09-21 19:04:27

Dla przyszłych czytelników.

Dostałem ten błąd, ponieważ mój podany plik dziennika miał w sobie spację:

Przed:

/l:FileLogger,Microsoft.Build.Engine;logfile=c:\Folder With Spaces\My_Log.log

Po: (które rozwiązało)

/l:FileLogger,Microsoft.Build.Engine;logfile="c:\Folder With Spaces\My_Log.log"
 0
Author: granadaCoder,
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-03-21 13:31:19

Jeśli używasz domyślnej przestrzeni roboczej w Jenkins, może się to zdarzyć. Użyj niestandardowej lokalizacji obszaru roboczego bez spacji.

Tutaj wpisz opis obrazka

 -1
Author: user8537391,
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-10-26 16:17:29