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?
4 réponses
Vous devriez utiliser OutputPath
et plus important encore, vous devriez utiliser la bonne syntaxe:
msbuild mysolution.sln /p:OutputPath=c:\mydir
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:
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 commeC:\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.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.
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