web-dev-qa-db-fra.com

Application Windows universelle - pas de configuration "Tout processeur" pour Windows 10?

Je mets à jour le projet Windows Universal créé avec

Kit de développement logiciel (SDK) Windows pour Windows 10 Technique Aperçu

à

Kit de développement logiciel (SDK) Windows pour Windows 10 Insider Preview :

Ainsi, les modifications du fichier de solution ne concernent que VisualStudioVersion de 14.0.22609.0 à 14.0.22823.1.

Les modifications du fichier de projet sont également mineures:

<TargetPlatformVersion>10.0.10030.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.10030.0</TargetPlatformMinVersion>

à

 <TargetPlatformVersion>10.0.10069.0</TargetPlatformVersion>
 <TargetPlatformMinVersion>10.0.10069.0</TargetPlatformMinVersion>

Le problème est que, à l'origine, ce projet universel a été construit avec succès contre Any CPU configuration, mais je commence maintenant à obtenir l'erreur suivante:

L'architecture de processeur du projet en cours de construction "Tout processeur" n'est pas prise en charge par le SDK référencé "Microsoft.NET.CoreRuntime, Version = 1.0". Envisagez de modifier l'architecture de processeur ciblée de votre projet (dans Visual Studio, vous pouvez le faire via Configuration Manager) pour l'une des architectures prises en charge par le SDK: "x86, x64, ARM".

Donc, le message est clair ce qu'il faut faire, je veux juste confirmer:

Est-ce vraiment ainsi que Tout processeur n'est plus possible pour des projets universels à partir de "SDK pour Windows 10 Insider Preview"?

Mise à jour

Il n’existe pas non plus de AnyCPU pour le projet nouvellement créé - celui par défaut est x86 .

18
Sevenate

Et voici le répondre :

  1. Ouvrez votre solution contenant votre application universelle C # Windows. Vous verrez que votre fichier de projet (fichier .csproj) doit être mis à jour. Cliquez avec le bouton droit sur le fichier de projet et choisissez de modifier ce fichier.

  2. Recherchez l'élément <PropertyGroup> qui contient le <TargetPlatformVersion> ... Ensuite, définissez la valeur de l'élément <Platform> sur x86 ...

  3. Recherchez les éléments <PropertyGroup> configurés pour la plate-forme AnyCPU dans le cadre de l'attribut Condition. Supprimez ces éléments et tous leurs éléments enfants. AnyCPU n'est pas pris en charge pour les applications Windows 10 dans Visual Studio 2015 RC .

UPDATE 1

À partir de cette vidéo - Plongez dans XAML et le développement d'applications Windows universelles .NET , transfert vers 0:32:28 - il semble qu'il y ait une (petite) chance de récupérer "Tout processeur "dans le communiqué:

Screenshot from Deep Dive into XAML and .NET Universal Windows App Development video

UPDATE 2

Encore une confirmation de Visual Studio 2015 RC corrigé des bugs et problèmes connus :

La configuration de la plate-forme AnyCPU n'est pas prise en charge pour les applications Windows 10 Insider Preview construites à l'aide de C # et de Visual Basic. Cette version de Visual Studio utilise le .NET Native pour créer des applications Windows 10. Le .NET Native compile le code C # et Visual Basic en code natif et n’est pas indépendant du processeur.

Il me semble donc que l'espoir de récupérer la configuration "AnyCPU" a presque disparu, même pour VS2015 RTM.

UPDATE 3

Eh bien, le RTM est enfin arrivé et comme prévu - aucun AnyCPU :

Recherchez les éléments configurés pour la plateforme AnyCPU dans le cadre de l'attribut Condition. Retirez ces éléments et tous leurs enfants. AnyCPU n'est pas pris en charge pour les applications Windows 10 dans Visual Studio 2015 .

20
Sevenate

Eh bien, AnyCPU est toujours là pourDLLet Composant Windows Runtime types de projet. L'absence de AnyCPU est provoquée par l'utilisation de .NET Native par défaut pour les applications Windows universelles dans la configuration Release. Comme vous le savez peut-être, .NET Native lie l'application et toutes ses dépendances en un seul fichier EXE. C'est pourquoi AnyCPU serait toujours là pour les DLL et les composants WinRT.

Maintenant, je ne suis pas sûr, mais les gars de DevDiv semblent recueillir des commentaires sur le "défaut" de .NET Native, donc AnyCPU pourrait toujours revenir à l'heure ou après RTM s'il y a suffisamment de commentaires à ce sujet. Néanmoins, je pense que .NET Native en vaut la peine puisque vous déployez généralement vos applications via Store de toute façon.

3
Alovchin

Je suppose que vous cliquez avec le bouton droit de la souris sur votre projet, puis sur Propriétés. En haut de la ligne "Construire" de la plate-forme, vous avez ARM, x64, x86 et toutes les plates-formes. Un peu plus loin dans la zone de groupe "Général", vous avez "Cible de la plate-forme" qui vous donne Tout CPU, x86, x64 et ARM.

Si vous consultez Configuration Manager (build-> Configuration Manager), vous avez raison, il n'y a que ARM, x64, x86, nouveau ... et modifier .... Si vous cliquez sur Nouveau ..., "Tout "CPU" est une option (par défaut) que vous pouvez ajouter, puis vous pouvez revenir en arrière et la sélectionner pour votre configuration.

1
SteveFerg