Eigenschaft nicht erkannt oder nicht verfügbar Fehler beim Laden des VS2010-Projekts in Expression Blend

8

Ich habe ein Projekt in VS2010, das XAML verwendet, und jetzt muss ich es in Expression Blend 4 laden. Das Projekt wird in VS2010 erstellt und ausgeführt und ist das erste Mal, dass es in Blend geladen wurde. Es wird in Blend erstellt und ausgeführt, obwohl die Mitglieder nicht erkannt werden.

Warum wird die Scale-Eigenschaft nicht erkannt und warum wird sie als Fehler angezeigt, wenn sie funktional funktioniert?

BEARBEITEN Obwohl das XAML erstellt und ausgeführt wird, wird es in Blend nicht grafisch angezeigt und kann daher nicht von einem nicht technischen Benutzer geändert werden.

In einer Reihe von .xaml-Dateien, die Verweise auf usercontrols enthalten, gibt es ein Attribut, das von Blend nicht mit dem Fehler erkannt wird:

%Vor%

Die Eigenschaft existiert in der .cs-code hinter-Datei und in jedem Fall ist die Fehlermeldung die gleiche.

Ich habe im Internet viele mögliche Antworten dazu angeschaut, aber keine davon ist eine Lösung. Die referenzierten Elemente sind nicht schreibgeschützt. Die verschiedenen Klassen und Eigenschaften sind öffentlich. Ich habe auch die folgende WPF-Referenz in die .csproj-Datei hinzugefügt, die fehlte.

%Vor%

Im folgenden Code wird das Scale-Attribut nicht erkannt, obwohl es als Eigenschaft im Benutzersteuerelement vorhanden ist.

Hier ist das UserControl in MyLogo.xaml:

%Vor%

Hier ist der Code in MyLogo.xaml.cs:

%Vor%

In meiner Datei Navigation.xaml habe ich Folgendes:

%Vor%

    
Brian Leeming 13.04.2012, 18:23
quelle

7 Antworten

17

Hier ist die Lösung. Ändern Sie in der .csproj-Datei der Anwendung dies:

%Vor%

dazu:

%Vor%

Lassen Sie sich nicht von der Tatsache täuschen, dass Visual Studio meldet, dass Sie in AnyCPU mehr im Konfigurationsmanager ausgeführt werden. Sie müssen die .csproj-Datei manuell bearbeiten.

    
Brian Leeming 13.04.2012, 21:02
quelle
10

Sie hängen damit zusammen, dass das Ändern der Plattform die zwischengespeicherten Assemblys ändert. Die angenommene Antwort ist nicht akzeptabel.

Das empfehle ich:

  1. Alle Dateien schließen
  2. Säubern Sie die Lösung
  3. Erstellen Sie die Lösung neu

Das betroffene XAML sollte jetzt keine Buildfehler mehr aufweisen.

Dies funktioniert für mich, Ihre Ergebnisse können variieren.

    
AMissico 25.06.2014 02:57
quelle
1

Das Ändern der Build-Eigenschaften des Projekts in "Any CPU" löste das Problem für mich. Ich kann immer noch nicht verstehen, wie das mit dem Problem zusammenhängt. Aber natürlich hat es die Magie getan.

    
Nohim Ys 17.06.2015 13:01
quelle
1

Wie andere bereits gesagt haben, behebt das Ändern des Ziels von x64 auf AnyCPU die Fehler im Designer, so bizarr dies auch scheint.

Ich habe Folgendes im Visual Studio Forum gefunden:

(Q) Die Entwurfsansicht ist für x64- und ARM-Zielplattformen nicht verfügbar, wenn das Dokument benutzerdefinierte Elemente enthält (z. B. XAML mit einem Benutzersteuerelement).

(A) Ab Visual Studio 2015 können Sie Ihr XAML selbst dann entwerfen / verfassen, wenn Sie auf etwas anderes als x86 abzielen. Visual Studio 2015 Update 2 sollte mehrere Korrekturen und Änderungen zusammenführen, damit diese Erfahrung noch besser funktioniert.

Es ist jedoch erwähnenswert, dass wir keinen Code ausführen können, den Sie möglicherweise in den Designer geschrieben haben, wenn das Projekt auf etwas anderes als x86 abzielt. Dies liegt an der Einschränkung, dass ein x86-Prozess (der XAML-Designer ist) keinen ARM- oder x64-Code ausführen kann. Sie sollten in der Lage sein, alle XAML auf der Seite anzuzeigen und zu bearbeiten, wobei alle benutzerdefinierten Typen durch Ersetzungen ersetzt werden, um das WYSIWYG-Erlebnis so weit wie möglich zu erhalten (und zu x86 wechseln, wenn Sie den Code im Designer wirklich ausführen möchten).

    
robstel 25.02.2016 14:59
quelle
0

Ich hatte das gleiche Problem auf Silverlight stellt sich heraus, es war der Namespace, den ich auf meinem Benutzer-Steuerelement hatte, war zu lang, ich habe es nur kürzer und es funktioniert. Hoffe es hilft!

    
Irving r 01.12.2012 01:40
quelle
0

Ich konnte dieses Problem mit einem vb.net-Projekt in VS2012 konsistent reproduzieren / beheben. In Projekt ... Eigenschaften ... Übersetzen ... Die Ziel-CPU ist auf AnyCPU (Standard) eingestellt. Alles funktioniert gut.

Ändern Sie die Ziel-CPU in x64, Speichern und Erstellen

Schließen und öffnen Sie die Lösung erneut.

Sie erhalten nun das "Das Mitglied" XXXX "wird nicht erkannt oder ist nicht erreichbar" Fehler

Ändern Sie die Ziel-CPU zurück zu Any CPU, Save and Build

Das Fenster wird jetzt ordnungsgemäß angezeigt.

    
oldDavid 07.05.2014 16:51
quelle
0

Ich hatte auch die selbe Ausnahme. Mein Problem war, dass der Typ der Eigenschaft in einer Assembly war, auf die im Projekt nicht verwiesen wurde, wo ich das UserControl verwende.

    
user3227623 09.03.2015 16:47
quelle