2010-11-08 7 views
4

J'ai démarré un nouveau projet C++ sous Visual Studio 2010 et je rencontre l'avertissement MSB8012 après avoir modifié le paramètre Fichier de sortie sous Propriétés du projet-> Propriétés de configuration-> Lieur-> Général. Par défaut, il est $(OutDir)$(TargetName)$(TargetExt)), mais je dois le changer en $(OutDir)Bin\$(ConfigurationName)\$(TargetName)$(TargetExt).avertissement MSB8012 lors de la modification du fichier de sortie

Si je fais cela, je rencontre cet avertissement. Je n'ai jamais eu ce problème sous Visual Studio 2005 et 2008.

Le message d'erreur indique que mon TargetPath ne correspond pas à la valeur de la propriété OutputFile du lieur. La ligne de commande résolue ressemble exactement à ce que je veux, mais la partie Bin\$(ConfigurationName) est manquante dans la valeur TargetPath. Où est exactement définie/assemblée la valeur de la propriété TargetPath?

Le message contient To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). Est-ce que cela signifie que la propriété OutputFile ne peut avoir que sa valeur par défaut?

Comment puis-je résoudre cet avertissement sans réinitialiser la propriété Fichier de sortie ou en utilisant une solution de contournement?

Répondre

5

Vous pouvez résoudre ce problème avec les propriétés de configuration + Général, le paramètre Répertoire de sortie. Changer à

$ (SolutionDir) Bin \ $ (NomConfiguration)

Et laissez le paramètre de liaison en l'état. Ce changement de paramètre modifie la valeur de $ (OutDir) et garde MSBuild heureux.

+1

Bien que ce n'est pas vraiment ce que je voulais entendre, il semble que ce soit la bonne réponse. Je voulais garder les deux chemins différents à dessein, très similaire à ce que [cet utilisateur décrit] (http://connect.microsoft.com/VisualStudio/feedback/details/561589/problems-caused-by-the-mismatch- between-outdir-and-link-outputfile). C'est très ennuyeux comme dans les versions précédentes de Visual Studio cela a fonctionné sans aucune difficulté. – Hatch

Questions connexes