webentwicklung-frage-antwort-db.com.de

Windows Universal App - keine "Any CPU" -Konfiguration für Windows 10?

Ich aktualisiere das Windows Universal-Projekt, mit dem erstellt wurde

Windows Software Development Kit (SDK) für Windows 10 Technisch Vorschau

zu

Windows Software Development Kit (SDK) für Windows 10 Insider Vorschau :

Die Änderungen der Lösungsdatei sind also nur VisualStudioVersion von 14.0.22609.0 zu 14.0.22823.1.

Die Änderungen in der Projektdatei sind ebenfalls geringfügig:

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

zu

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

Das Problem ist, dass dieses universelle Projekt ursprünglich erfolgreich für Beliebige CPU -Konfiguration erstellt wurde. Jetzt wird jedoch die folgende Fehlermeldung angezeigt:

Die Prozessorarchitektur des zu erstellenden Projekts "Beliebige CPU" wird vom referenzierten SDK "Microsoft.NET.CoreRuntime, Version = 1.0" nicht unterstützt. Überlegen Sie, ob Sie die Zielprozessorarchitektur Ihres Projekts (in Visual Studio kann dies über Configuration Manager erfolgen) in eine der vom SDK unterstützten Architekturen ändern möchten: "x86, x64, ARM".

Damit die Nachricht klar ist, was zu tun ist, möchte ich nur bestätigen:

Ist das wirklich so, dass Beliebige CPU für universelle Projekte ab "SDK für Windows 10 Insider Preview" nicht mehr möglich ist?

Update

Es gibt auch keine AnyCPU für das neu erstellte Projekt - die Standardeinstellung ist x86 .

18
Sevenate

Und hier kommt die Antwort :

  1. Öffnen Sie Ihre Lösung, die Ihre C # Windows Universal-App enthält. Sie werden sehen, dass Ihre Projektdatei (.csproj-Datei) aktualisiert werden muss. Klicken Sie mit der rechten Maustaste auf die Projektdatei und wählen Sie, um diese Datei zu bearbeiten.

  2. Suchen Sie das <PropertyGroup>-Element, das den <TargetPlatformVersion> enthält. Setzen Sie anschließend den Wert des <Platform>-Elements auf x86 ...

  3. Finden Sie <PropertyGroup>-Elemente, die für die AnyCPU -Plattform als Teil des Condition-Attributs konfiguriert sind. Entfernen Sie diese Elemente und alle ihre untergeordneten Elemente. AnyCPU wird für Windows 10-Apps in Visual Studio 2015 RC nicht unterstützt .

UPDATE 1

Von diesem Video - Deep Dive in XAML und .NET Universal Windows App Development , vorwärts zu 0:32:28 - es scheint, als gäbe es eine (kleine) Chance, "Any CPU" zurückzuholen "in der Veröffentlichung:

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

UPDATE 2

Eine weitere Bestätigung von Visual Studio 2015 RC behebte Fehler und bekannte Probleme :

Die AnyCPU -Plattformkonfiguration wird für Windows 10 Insider Preview-Anwendungen, die mit C # und Visual Basic erstellt wurden, nicht unterstützt. Diese Version von Visual Studio verwendet .NET Native zum Erstellen von Windows 10-Anwendungen. .NET Native übersetzt C # - und Visual Basic-Code in nativen Code und ist nicht CPU-neutral.

Es scheint mir, dass die Hoffnung, die "AnyCPU" -Konfiguration zurückzubekommen, selbst für VS2015 RTM fast verschwunden ist.

UPDATE 3

Nun, das RTM ist endlich da und wie erwartet - keine AnyCPU :

Finden Sie Elemente, die für die AnyCPU-Plattform als Teil des Condition-Attributs konfiguriert sind. Entfernen Sie diese Elemente und alle ihre Kinder. AnyCPU wird für Windows 10-Apps in Visual Studio 2015 nicht unterstützt .

20
Sevenate

Nun, AnyCPU ist immer noch fürDLLund Windows Runtime Component Projekttypen vorhanden. Das Fehlen von AnyCPU wird durch die Verwendung von .NET Native standardmäßig für Universal Windows-Apps in der Release-Konfiguration verursacht. Wie Sie vielleicht wissen, verknüpft .NET Native die App und alle ihre Abhängigkeiten in einer einzigen EXE-Datei. Daher ist AnyCPU für DLLs und WinRT-Komponenten immer noch vorhanden.

Jetzt bin ich mir nicht sicher, aber die Jungs von DevDiv scheinen Rückmeldungen über die "Standard-Ness" von .NET Native zu sammeln, sodass AnyCPU möglicherweise nach oder nach RTM zurückkehrt, wenn dazu genügend Rückmeldungen vorliegen. Ich glaube jedoch, dass .NET Native es wert ist, da Sie Ihre Apps im Allgemeinen sowieso über Store bereitstellen.

3
Alovchin

Ich gehe davon aus, dass Sie mit der rechten Maustaste auf Ihr Projekt klicken und zu den Eigenschaften wechseln. In der obersten Zeile von "Build" unter Plattform stehen ARM, x64, x86 und All Platforms. Ein wenig weiter unten im Gruppenfeld "Allgemein" haben Sie "Plattformziel", das Ihnen jede CPU, x86, x64 und ARM gibt.

Wenn Sie sich den Konfigurationsmanager ansehen (Build-> Konfigurationsmanager), sind Sie richtig, es gibt nur ARM, x64, x86, new ... und edit ... Wenn Sie auf New ... klicken, "Any" CPU "ist eine Option (Standard), die Sie hinzufügen können, und dann können Sie zurückgehen und sie für Ihre Konfiguration auswählen.

1
SteveFerg