msbuild -p:outputdir=c:mydir être ignoré

J'exécute msbuild à partir de la ligne de commande avec ce qui suit:

msbuild mysolution.sln -p:outputdir=c:mydir

Lorsque je lance ceci, le outputdir est ignoré et la valeur par défaut spécifiée dans le fichier csproj est utilisée.

Le document MSDN de cet outil indique que je devrais pouvoir remplacer le répertoire de construction en utilisant ce paramètre. Ce que je fais mal?

31
demandé sur Mike 2011-02-11 07:02:31

4 réponses

Vous devriez utiliser OutputPath et plus important encore, vous devriez utiliser la bonne syntaxe:

msbuild mysolution.sln /p:OutputPath=c:\mydir
72
répondu Julien Hoarau 2011-02-11 12:26:36

Notez que {[0] } est préféré à OutDir. La documentation était fausse à ce sujet, mais je vois qu'ils l'ont finalement corrigé.

Au-delà de cela, il est difficile de dire exactement quel est le problème, puisque vous n'avez pas montré le chemin exact que vous passez en paramètre. Il y a deux problèmes possibles que je peux imaginer:

  1. L'option OutputPath spécifie le chemin d'accès au répertoire de sortie par rapport au répertoire du projet . Cela signifie que vous ne pouvez pas définir une chemin global comme C:\mydir. Je suppose qu'il est incapable de trouver le chemin que vous avez spécifié, et donc il est par défaut celui spécifié dans votre fichier de projet.

  2. Si le chemin que vous spécifiez en tant que paramètre contient espaces , la commande risque d'échouer. Je crois que vous devez envelopper le chemin entre guillemets et ajouter une barre oblique inverse supplémentaire à la fin de la chaîne de chemin.

8
répondu Cody Gray 2016-06-16 09:01:07

Je crois que vous devriez utiliser OutputPath .

2
répondu Steve 2011-02-11 04:06:54

J'ai pu configurer OutDir pour la ligne de commande MSBuild. Veuillez voir ma réponse sur le lien ci-dessous avec la commande. Voir ma réponse https://stackoverflow.com/a/26477048/1006422

1
répondu Jerome Anthony 2017-05-23 12:10:21