J'ai une solution multi-projets dans Visual Studio 2008. Je viens d'ajouter une nouvelle configuration appelée Release-VersionIncrement à la solution, en spécifiant la configuration "use release" comme référence. Tous les fichiers de projet ont été mis à jour avec cette configuration. Cependant, lorsque j'essaie de compiler un projet spécifique en utilisant cette configuration, j'obtiens l'erreur suivante:
Erreur 5 La propriété OutputPath n'est pas définie pour ce projet. Veuillez vérifier que vous avez spécifié une combinaison Configuration / Plateforme valide. Configuration = 'Release-VersionIncrement' Platform = 'AnyCPU' C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion
Qu'est-ce qu'il se passe ici? Le projet se compile correctement dans la configuration Release ou Debug.
la source
Réponses:
Cela se produit généralement lorsque la propriété OutputPath du fichier projet est vide. Les fichiers de projet ne sont que des fichiers MSBuild . Pour éditer dans Visual Studio: Faites un clic droit sur le projet, choisissez "Décharger le projet" puis faites un clic droit sur le projet déchargé et sélectionnez "Modifier ...".
Recherchez le groupe de propriétés Release-Versionincrement. Cela devrait ressembler à quelque chose comme
L'important est-il le OutputPath, existe-t-il pour votre fichier projet? Sinon, ajoutez-le et réessayez.
la source
J'ai également vu cette erreur lorsque notre agent de build a été configuré pour exécuter la plate-forme " Any CPU " (avec des espaces comme affiché dans Visual Studio) plutôt que " AnyCPU " (un mot comme spécifié dans le fichier de projet).
la source
msbuild myproj.sln /p:Configuration=Debug /p:Platform="Any CPU"
c'était bien, mais lors de la construction du projet, j'ai dû omettre l'espace dans Any CPU:msbuild myproj.proj1.csproj /p:Configuration=Debug /p:Platform=AnyCPU
pour supprimer l'erreur de propriété Outputpath.J'ai eu le même problème lorsque j'ai utilisé MSBuild pour la première fois. Ma solution est la suivante: utilisez définitivement la propriété OutputPath. Comme ça:
la source
Dans notre cas, nous exécutions un script de construction sur nos boîtes de développement HP. HP a quelques variables d'environnement qu'ils ont configurées pour leurs propres besoins et l'une d'elles est PLATFORM (utilisée, apparemment, pour «HP Easy Setup»).
La suppression de la variable d'environnement PLATFORM a fonctionné.
Vous pouvez également pérenniser votre script de construction en spécifiant la plate-forme, c'est-à-dire
msbuild /p:Platform=AnyCPU
.la source
Si Visual Studio se plaint spécifiquement que «Platform = 'BPC'», vous pouvez facilement résoudre ce problème en supprimant la variable d'environnement «Platform».
Maintenant, redémarrez Visual Studio et vous êtes prêt à partir.
la source
Comme l' indique " Richard Dingwall ", le problème est lié à VS utilisant la version d' affichage de " Any CPU " au lieu de la version MSBuild qui lit en fait " AnyCPU "
Allez dans Build / New Build Definition ou Edit Build Definition -> Process -> Configurations to build, ouvrez la boîte de dialogue de sélection de configuration et dans " Platform " au lieu de sélectionner " Any CPU ", ajoutez manuellement " AnyCPU "
la source
Comme on l'a dit, OutputPath doit être défini ET il doit être placé avant
<Import Project="$(WixTargetsPath)" />
dans le fichier .wixprojla source
J'ai supprimé
Platform
la variable d'environnement (était BNB ou smth comme ça). Le problème a disparu.la source
J'ajoutais la plate-forme x64 à ma solution aujourd'hui, lorsque j'ai rencontré ce problème.
Dans mon cas, l'erreur se lit comme suit:
Je connaissais le
OutputPath
devrait aller, car il s'agissait d'une solution VS existante et fonctionnelle. Je suis donc passé au conseil suivant - "une combinaison valide de configuration et de plate-forme".Ah! Visual Studio essaie de générer
Configuration='Debug', Platform='x64'
. En regardant mon fichier de projet, j'ai réalisé que x64 n'était pas répertorié comme l'une des plates-formes possibles. En d'autres termes, j'avais les entrées ci-dessous (raccourcies):Solution facile alors: ajoutez simplement des entrées x64!
J'ai copié / collé les entrées x86 et les ai modifiées pour utiliser x64. Notez que j'ai également modifié les chemins pour qu'ils n'écrasent pas les versions x86:
la source
J'ai lutté avec cela pendant un certain temps, puis j'ai également déchargé, créé, puis rechargé le projet incriminé dans la solution, puis MSBuild a fonctionné correctement.
la source
En tant que Scott S, j'ai dû supprimer la variable d'environnement "Platform" .
Puis redémarrez VS, et c'est ok: plus de message d'erreur ...
la source
Le problème était lié à la configuration de mon projet. Voici le scénario:
Références de la solution A:
Références de la solution B (celle que j'essaie de construire):
Ma solution consistait à créer une configuration portant le même nom pour la solution A, à la reconstruire, puis à reconstruire la solution B. Cela a résolu le problème.
la source
J'ai eu ce même message d'erreur. Cela était dû à une référence à un projet déchargé et non requis par l'éditeur de liens (sinon, il aurait échoué au moment de la compilation). La suppression de la référence incriminée a résolu le problème.
la source
Dans mon cas (VS2010), j'ai supprimé la chaîne dans la zone "OutputPath" qui se trouve sur l'onglet "Build" et l'ai laissée vide. Ensuite, j'ai reconstruit la solution. La construction a réussi et VS a inséré le répertoire courant "./" dans le "OutputPath". J'ai remplacé le répertoire actuel "./" par mon chemin ("bin \ x64 \ Release \" - il suffit de dire que c'est le chemin exact du dossier qui se plaignait VS en premier lieu) et la reconstruction a réussi à nouveau.
la source
Dans mon cas, la propriété OutputPath a été définie dans les fichiers de projet. Mais le déchargement, le rechargement puis la reconstruction ont résolu le problème.
la source
Lorsque j'ai ajouté une nouvelle configuration de solution dans ma solution, j'ai reçu une erreur, "La propriété OutputPath n'est pas définie pour le projet X. Veuillez vérifier que vous avez spécifié une combinaison valide de configuration et de plate-forme pour ce projet. Configuration = 'QA 'Platform =' AnyCPU '. Cette erreur peut également apparaître si un autre projet tente de suivre une référence de projet à projet à ce projet, ce projet a été déchargé ou n'est pas inclus dans la solution et le projet de référence ne le fait pas build en utilisant la même configuration ou une plate-forme équivalente. ProjectY ".
Dans mon cas, le problème était dû à une partie en surbrillance de la description de l'erreur. Une partie du projet X de ma solution consistait à avoir une référence de projet à ProjectY d'une autre solution (branche différente).
J'ai résolu ce problème en modifiant le projet X pour utiliser la référence de projet à ProjectY dans la solution actuelle. J'espère que cela aide quelqu'un ayant un problème similaire.
la source
Dans mon cas, le nouveau bloc XML "PropertyGroup" a été généré au bas du document. Je viens de le remplacer après d'autres balises "PropertyGroup" et cela a résolu le problème.
la source
J'ai créé un nouveau projet dans une nouvelle solution qui fait référence à des projets existants. Cette erreur se produit lorsque j'ajoute un projet existant (par exemple, projet 1) et que j'essaie de créer sans ajouter d'autres projets auxquels le projet 1 fait référence.
Assurez-vous simplement que tous les projets relatifs sont ajoutés à la nouvelle solution et que l'erreur disparaît.
la source
J'ai eu la même erreur, j'ai donc regardé les paramètres du projet et là, dans la section "Construire", il y a l'option "Construire le chemin de sortie". Et la valeur était vide. J'ai donc rempli la valeur "bin \" une erreur a disparu. Cela a résolu mon problème.
la source
Si vous décidez de définir OutputPath comme paramètre, et que votre chemin est comme:
bin\Release\\
alors n'oubliez pas d'ajouter\
à la fin comme ça:/p:OutputPath=bin\Release\\\\
il m'a fallu un certain temps pour réaliser que c'était le casla source
J'ai eu le même problème. Je l'ai réparé en nettoyant et reconstruisant les projets.
la source
J'ai eu le même problème, et la seule solution qui m'aide était de définir manuellement la configuration de construction dans chaque projet NCrunch.
Ouvrez la fenêtre NCrunch, où vous pouvez voir le statut de chaque build et où vous pouvez voir que la build échoue. Faites un clic droit sur le projet qui ne parvient pas à construire et cliquez sur "Configurer le composant sélectionné". Vous voyez sous "Paramètres de construction" la propriété "Utiliser la configuration de la construction". par exemple "AnyCPU". (Veuillez noter que les paramètres de construction et de configuration que vous définissez doivent exister dans vos paramètres de konfigration)
Faites cela pour tous vos projets, mais pas pour votre projet de test. Après cela, tout fonctionne bien pour moi.
la source
J'ai eu le même problème, je l'ai résolu en ajoutant des configurations manquantes au projet qui échouait.
Sous la colonne de configuration Ajouter
Remarque: cela s'est produit uniquement parce que j'ai une configuration personnalisée et que les projets nouvellement créés n'avaient pas la configuration.
la source
Si quelqu'un obtient celui-ci dans ses journaux NCrunch, vérifiez si les
PropertyGroup
valeurs de définition «Debug» / «Release» et «AnyCPU» / «x86» situées avant les groupes de propriétés utilisent ces valeurs dans leur condition.A travaillé pour moi.
la source
Dans mon cas, j'ai essayé de déplacer le groupe de propriétés qui contenait ma configuration personnalisée en dessous de ceux standard. Cela a résolu le problème pour moi.
la source
Je viens de l'avoir avec VS2015 Professional:
C'est aussi un jonglage multi-projets entre le débogage / la publication et différentes cibles. J'avais joué avec les configurations de construction à un moment donné et je sais que cela peut gâcher VS, alors je les ai retirés du repo. Toujours pas bon. OutputPath a été défini, il n'y avait plus de diffs avec un bon état connu, donc il y avait définitivement un problème avec mon installation locale.
Ouvre le programme d'installation de VS2015 et clique sur "Réparer", et le tour est joué ... retour à la normale (du moins jusqu'à présent!)
la source