2011-06-29 1 views
7

J'ai un projet XNA 4.0 que je voudrais compiler avec le profil complet .Net 4.0, mais il est défini sur Profil client par défaut. Le zone cible zone de liste déroulante dans l'onglet Application est grisée. J'ai désinstallé et réinstallé. Net 3.5, Net 4.0 et Xna 4.0. Quel pourrait être le problème? Nos autres machines de développement n'ont pas ce problème.Impossible de sélectionner l'infrastructure cible pour les jeux XNA 4.0

enter image description here

+0

Êtes-vous en mesure de créer un nouveau projet XNA et reproduire le problème dans tout cela? –

+0

Dans un nouveau projet XNA, il est parfaitement reproductible. – Wouter

Répondre

7

J'ai trouvé une solution de contournement:

Dans le fichier .csproj est un élément XML appelé TargetFrameworkProfile qui est réglé sur Client. Lorsque je supprime le mot Client et vide ainsi le nœud xml, le projet est construit en tant qu'ensemble complet .Net 4.0.

Vous pouvez même mettre à niveau le projet vers .NET 4.5 ou version ultérieure en modifiant l'élément TargetFrameworkVersion. Nous utilisons ceci pour pouvoir utiliser la caméra Kinect One dans les jeux XNA.

<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 
0

Où voyez-vous que votre projet est défini sur le cadre du client? J'ai créé plusieurs projets XNA mais je n'ai jamais eu de problèmes avec ça.

Ma boîte de cadre cible est également désactivée.

Si vous avez des bugs, je pense que vous devez chercher une autre cause.

Greatings

+0

Lorsque vous ajoutez une référence, elle mentionne "Filtré à: .NET Framework 4 Client Profile" en haut. Toujours dans le fichier .csproj TargetFrameworkProfile est défini sur Client. Je n'ai pas de bugs, mais c'est ennuyeux de ne pas pouvoir utiliser certaines références telles que la fonctionnalité de pipeline de manipulation de contenu dans XNA. – Wouter

+0

Si vous référencez un assembly .Net Framework 4 (profil complet) qui utilise quelque chose en dehors du profil client (tel que System.Web.HttpUtility.UrlDecode) à partir de votre projet XNA, la génération échouera avec une tonne de messages d'erreur ambigus pour chaque type que vous référencez: 'Le type ou l'espace de noms ... n'a pas pu être trouvé (manque-t-il une directive using ou une référence d'assembly?).' La mise à jour en tant que 'Wouter' suggère le problème. – cod3monk3y

0

réponse Per Wouter, voici le XML approprié dans le fichier .csproj:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 
<TargetFrameworkProfile></TargetFrameworkProfile> 
+0

Pourquoi "' est-il nécessaire? – FuriousFolder

+0

Pour démontrer (par la réponse de Wouter) qu'il ne doit * pas * contenir le texte 'Client'. Ça devrait être vide. – cod3monk3y