2010-02-19 4 views
1

Je reçois un comportement étrange de MSBuild.MSBuild ajoutant des données à la chaîne de configuration

J'utilise la commande:

msbuild.exe /p:Configuration="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" "MySolution.sln" && exit %%ERRORLEVEL%%

Et il me donne l'erreur:

MySolution.sln : error MSB4126: The specified solution configuration "Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)|Mixed Platforms" is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration.

Il y a des cibles pour la version | Windows Mobile 5.0 SDK Pocket PC (ARMV4I) dans ma solution. Ma question est la suivante: Pourquoi MSBuild ajoute-t-il "| Plate-formes mixtes" à la configuration que j'ai fournie? Comment puis-je me débarrasser de ce comportement?

J'ai essayé:

msbuild.exe /p:Configuration=Release "MySolution.sln" && exit %%ERRORLEVEL%%

Mais il a dit:

Building solution configuration "Release|Mixed Platforms".

Merci pour l'aide,
Fred

Répondre

1

La notation est Something1|Something2 pour Configuration|Platform. Donc, pour les projets C# par défaut, vous aurez des valeurs possibles comme Debug|Any CPU ou Release|Any CPU. De votre fragment, il semble que vous essayez de spécifier à la fois la configuration et la plate-forme. Si oui, alors vous devriez le faire comme:

msbuild.exe /p:Configuration="Release",Platform="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" MySolution.sln 

Dans ce cas, vous devez vous assurer que tous les projets à l'intérieur de la MySolution.sln contient une configuration de sortie et un « Windows Mobile 5.0 SDK Pocket PC (ARMV4I) » défini.

Est-ce que vous avez besoin? Je ne sais pas parce que je suis confus au sujet de votre déclaration « Il y a des objectifs pour la version | Windows Mobile 5.0 SDK Pocket PC (ARMV4I) dans ma solution »

+0

Merci pour l'aide. S'assurer que chaque projet possédait une 'version' et 'SDK Windows Mobile 5.0 Pocket PC (ARMV4I)' défini l'astuce. – thefredsmith

Questions connexes