7

J'ai un type de projet tiers dans Visual Studio qui, pour une raison quelconque, prend uniquement en charge la .NET Configuration de la plateforme pour la génération, pour tous les autres projets (standard C#) dans la solution I seulement AnyCPU. Malheureusement, depuis la mise à niveau VS 2010 il produit l'erreur suivante lors de sa construction:Configuration de la plate-forme pour les projets dans VS 2010

Erreur 39 La propriété est OutputPath pas défini pour le projet « ReferencedBusinessProject.csproj ». Veuillez vérifier que a spécifié une combinaison valide de Configuration et Plate-forme pour ce projet . Configuration = 'Déboguer' Plate-forme = '.NET'. Cette erreur peut également apparaître si un autre projet tente de suivre un projet à projet référence à ce projet, ce projet a été déchargé ou n'est pas inclus dans la solution, et le projet de référencement ne construit pas en utilisant le même ou un équivalent Configuration ou Plate-forme. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets 483 10 CustomTypeProject

Il est à peu près descriptif dans ce qui manque, mais je n'ai pas trouvé un moyen de résoudre jusqu'à présent . Avez-vous une idée de comment cela peut être résolu ou quel peut être le problème?

+0

L'ajout/édition de OutputPath dans le fichier .csproj ne résout pas le problème? – alexandrul

+0

Cela résoudrait probablement la (partie du) problème, si je mettrais un OutputPath inconditionnel (pour toutes les configurations). Le problème est cependant que la configuration n'est pas reconnue et par conséquent toutes les propriétés conditionnées sont ignorées. –

+0

Avez-vous essayé de créer une «nouvelle solution» avec des espaces réservés de projet vides qui ressemblent à ce que vous avez réellement. Alors regardez/éditez/modifiez le vrai .csproj selon les fichiers 'placeholder'.csproj? Il vous manque probablement de grandes sections dans le fichier .csproj qui spécifient différentes configurations pour différentes versions. Je ne suis pas un expert MSBUILD, mais c'est juste du XML après tout. –

Répondre

3

La plate-forme .Net doit avoir été créée pour le projet avant que vous ne l'ayez reçue pour des raisons de transparence. Vérifiez les paramètres du projet et, si vous construisez un CPU, corrigez la configuration du projet. (Les normes sont AnyCPU, x86, x64, win32) etc ...

Je vous suggère de faire un clic droit sur le fichier ".sln" et dans le gestionnaire de configuration définir les propriétés de ce que vous souhaitez construire lorsque vous appelez une plate-forme . C'est à dire.

Cet échantillon est mieux servi avec une configuration appelée « Plates-formes mixtes »

csproj1 platform=AnyCPU configuration=debug build checkbox (checked) 
csproj2 platform=.net configuration=debug build checkbox (checked) 

Cela vous permettra de construire avec msbuild L'appel serait

msbuild my.sln /p:configuration="Debug" /p:platform="Mixed Platforms" 

Les deux projets construiront.

Questions connexes