149 votes

MSBUILD : erreur MSB1008 : Un seul projet peut être spécifié

Pourquoi est-ce que j'obtiens l'erreur de construction suivante ?

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"

Je ne vois pas en quoi un deuxième projet est spécifié.
Est-il stocké quelque part dans un fichier de projet ?

150voto

Ankur Jain Points 154

Il s'avère que la barre oblique de fin de la propriété PublishDir échappe au guillemet de fin. L'échappement de la barre oblique a résolu mon problème.

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

De cette façon, nous pouvons utiliser des guillemets pour les chemins qui ont des espaces blancs dans les propriétés que MSBuild exige la barre oblique de fin.

Je sais que c'est un vieux post, mais je pense que j'avais besoin de partager cela avec quelqu'un :-)

55voto

friday Points 1178

Sur Git Bash, je devais spécifier les paramètres avec des doubles barres obliques comme :

MSBuild.exe "Path\to\Solution.sln" //p:Platform="x86" //p:Configuration=Release //p:AppxBundlePlatforms="x86"

49voto

Gerhard Weiss Points 1756

SOLUTION
Supprimer les guillemets autour du paramètre /p:PublishDir

c'est-à-dire
Au lieu de guillemets

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

Ne pas utiliser de guillemets

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

Je suis désolée de ne pas avoir publié ma découverte plus tôt. En fait, j'ai dû refaire des recherches pour voir ce qu'il fallait changer. Qui aurait cru que la suppression des guillemets aurait fonctionné ? J'ai découvert cela en regardant la construction d'un collègue pour une autre solution et j'ai remarqué qu'il n'y avait pas de guillemets.

32voto

Julien Hoarau Points 23987

Ce problème apparaît lorsque vous avez un chemin ou une propriété contenant un espace et qui n'est pas cité.

Toutes vos propriétés et votre chemin d'accès sont entourés de citations, c'est étrange. Le message d'erreur indique Education en tant qu'interrupteur, essayez d'enlever /p:ProductName="Total Education TEST" pour voir si cela fonctionne.

11voto

Zamir Points 31

Vous devez mettre des qoutes autour du chemin et du nom du fichier.
Utilisez donc MSBuild " C:\Path Nom \File Name.Exe" /[Options]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X