Lorsque j'essaye de compiler mon projet à partir du mode de débogage x86 dans Visual Studio 2008. J'obtiens cette erreur. Quand j'ai regardé le groupe de propriétés du projet qui s'est plaint, je vois que le chemin de sortie est défini.
Voici la section du groupe de propriétés pour ce fichier .csproj
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<BaseAddress>285212672</BaseAddress>
<FileAlignment>4096</FileAlignment>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
Quelqu'un peut-il faire la lumière là-dessus?
REMARQUE: lorsque j'ai compilé ce débogage et tout processeur, cela a fonctionné.
MISE À JOUR: Erreur 1 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 = Plateforme 'Debug' = 'x86'
c#
visual-studio
Amzath
la source
la source
Réponses:
J'ai eu exactement la même erreur après avoir ajouté une nouvelle configuration via ConfigurationManager dans Visual Studio.
Il s'est avéré que lorsque la configuration 'Production' a été ajoutée pour l'ensemble de la solution (et chaque projet), l'élément OutputPath n'était pas ajouté aux fichiers .csproj.
Pour corriger, je suis allé à l'onglet Construire dans les propriétés du projet, j'ai changé OutputPath de
\bin\Production\
à\bin\Production
(fin supprimé\
) et j'ai enregistré les modifications. Cette création forcée de l'élément OutputPath dans le fichier .csproj et le projet a été généré avec succès.Cela me semble être un problème.
la source
any cpu
etanycpu
était le problème, mais votre message m'a aidé à voir cela.Vous pouvez voir cette erreur dans VS 2008 si vous avez un projet dans votre solution qui fait référence à un assembly introuvable. Cela peut se produire si l'assembly provient d'un autre projet qui ne fait pas partie de votre solution mais qui devrait l'être. Dans ce cas, le simple fait d'ajouter le bon projet à la solution le résoudra.
Consultez la section Références de chaque projet de votre solution. Si l'un d'entre eux a une référence avec un x rouge à côté, c'est que vous avez trouvé votre problème. Cette référence d'assembly ne peut pas être trouvée par la solution.
Le message d'erreur est un peu déroutant, mais je l'ai vu plusieurs fois.
la source
Si vous utilisez WiX, regardez ceci (il y a un bug) http://www.cnblogs.com/xixifusigao/archive/2012/03/20/2407651.html
Parfois, de nouvelles configurations de construction sont ajoutées au
.wixproj
fichier plus loin dans le fichier, c'est-à-dire séparées de leurs définitions de configuration sœurs par d'autres éléments XML non liés.Modifiez simplement le
.wixproj
fichier pour que toutes les<PropertyGroup>
sections qui définissent vos configurations de construction soient adjacentes les unes aux autres. (Pour modifier le.wixproj
dans VS2013, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions, Déchargez le projet, cliquez à nouveau avec le bouton droit de la souris -> Modifier votre projet.wixproj. Rechargez après avoir modifié le fichier.)la source
Cela m'est arrivé parce que j'avais déplacé la ligne suivante près du début du fichier .csproj:
Il doit être placé après les PropertyGroups qui définissent votre Configuration | Plateforme.
la source
L'erreur affichée dans Visual Studio pour le projet (disons A) n'a pas de problèmes. Quand j'ai regardé la fenêtre de sortie pour la construction ligne par ligne pour chaque projet, j'ai vu qu'il se plaignait d'un autre projet (B) qui avait été appelé assemblage dans le projet A. Projet B ajouté à la solution. Mais il n'avait pas été référencé dans le projet A comme référence de projet à la place comme référence d'assemblage à partir d'un emplacement différent. Cet emplacement contient l'assembly qui a été compilé pour Platform AnyCpu. Ensuite, j'ai supprimé la référence d'assemblage du projet A et ajouté le projet B comme référence. Il a commencé la compilation. Je ne sais pas comment ce correctif a fonctionné.
la source
"any cpu"
était la valeur par défaut pour BuildPlatform. Changer pour"AnyCPU"
résoudre le problème.J'ai rencontré la même erreur mais le problème s'est avéré être parce que j'avais créé une nouvelle configuration dans ma solution qui n'existait pas dans les assemblys référencés d'une autre solution.
Cela peut être résolu en ouvrant la solution associée et en y ajoutant également la nouvelle configuration.
Cet article m'a donné l'idée de vérifier les assemblages référencés après avoir déjà confirmé que tous les projets de ma solution avaient la bonne configuration:
http://gabrielmagana.com/2010/04/solution-to-the-outputpath-property-is-not-set-for-this-project/
la source
eu ce problème en tant que sortie d'Azure DevOps après avoir défini pour générer le .csproj au lieu du .sln dans le pipeline de génération.
La solution pour moi: éditez .csproj du projet concerné, puis copiez votre ensemble
Nœud, collez-le, puis modifiez la première ligne comme suit:
La raison en est que, dans mon cas, l'erreur dit
Pourquoi Azure veut utiliser "n'importe quel processeur" au lieu du "AnyCpu" par défaut est un mystère pour moi, mais ce hack fonctionne.
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
J'ai:
Copiez-collez la configuration à partir de la configuration existante qui fonctionne avec un nom et une plate-forme de ciblage spécifiques (j'avais Release | x64 ):
la source
Si vous obtenez cette erreur uniquement lorsque vous essayez de compiler votre projet à partir de la ligne de commande à l'aide de MSBuild (comme dans mon cas), la solution consiste à passer manuellement le chemin de sortie à MSBuild avec un argument comme
/p:OutputPath=MyFolder
.la source
Une autre possibilité folle: si vous suivez un simple arrangement de contrôle de source consistant à placer Branch \ Main, Main et Release les uns à côté des autres et que vous finissez par ajouter un projet existant depuis Main au lieu de Branch \ Main (en supposant que votre solution de travail est Branch \ Main), vous pouvez voir cette erreur.
La solution est simple: référencer le bon projet!
la source
J'ai rencontré ce problème en ajoutant un projet à une solution, puis en le référençant à partir d'un autre projet dans la même solution - j'ai obtenu l'icône d'avertissement jaune sur la référence, notez que le chemin était vide.
La solution était similaire à ce que @Amzath suggérait, mes projets étaient compilés avec différents cadres cibles, par exemple. .NET 4.0 contre 4.5.
la source
Dans mon cas, l'adresse intégrée de mon application a été définie sur un autre ordinateur qui a été éteint, je l'ai donc allumé et redémarré VS et le problème est résolu.
la source
Autre cause: vous ajoutez une référence de projet du projet A au projet B dans la solution X. Cependant, la solution Y qui contient déjà le projet A est maintenant interrompue, jusqu'à ce que vous ajoutiez également le projet B à la solution Y.
la source
J'ai eu le même problème après avoir ajouté de nouvelles configurations et supprimé les configurations "debug" et "release". Dans mon cas, j'utilisais un fichier cmd pour exécuter le processus de construction et de publication, mais la même erreur a été générée. La solution pour moi: dans le fichier csproj, voici ce qui suit:
définissait la configuration sur «Debug» si je n'en spécifiais pas une explicite. Après avoir changé la valeur du nœud de "debug" à ma configuration personnalisée, tout a fonctionné sans problème. J'espère que cela aidera également quiconque lit ceci :)
la source
J'ai eu le même problème, il suffit de modifier le .wixproj pour que tous les
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' ... >
éléments soient côte à côte.Cela a résolu mon problème
la source
Le projet WiX que j'utilisais était défini en dur dans le gestionnaire de configuration pour
x64
tous les niveaux. Lors de la création du projet Action personnalisée pour la solution, tout a été placé par défautx86
dans le.csproj
fichier. J'ai donc déchargé le projet, je l'ai édité en changeant toutx86
àx64
, sauvé, rechargées, et il était bon d'aller après.Je ne comprends pas pourquoi j'ai dû faire ça. Le gestionnaire de configuration a été configuré pour être construit en x64, mais ne serait tout simplement pas défini dans le
csproj
fichier :(la source
Après avoir essayé toutes les autres suggestions publiées ici, j'ai découvert que la solution pour moi était de supprimer la section suivante du
.csproj
fichier:Apparemment, ce service du projet original (non disponible sur la machine locale) interrompait tout le processus de construction, même s'il n'était pas essentiel pour la compilation.
la source
J'ai eu ce problème après avoir ajouté une nouvelle plateforme à mon projet. Dans mon cas, le fichier .csproj était sous le contrôle de source Perforce et était en lecture seule. Je l'ai vérifié mais VS n'a pas saisi le changement avant de le redémarrer.
la source
J'ai eu un problème similaire sur un projet Xamarin. C'est peut-être un cas rare, mais au cas où quelqu'un d'autre aurait le problème. la structure de mon projet était comme ci-dessous
la source