Laden...

Fehler: Namespace nicht vorhanden, Build ohne Fehler

Erstellt von cyntonix vor 9 Jahren Letzter Beitrag vor 9 Jahren 4.056 Views
C
cyntonix Themenstarter:in
37 Beiträge seit 2009
vor 9 Jahren
Fehler: Namespace nicht vorhanden, Build ohne Fehler

Hallo Zusammen,

ich schleppe das Problem nun schon bei zwei Projekten mit und habe noch keine Lösung, darum muss ich nach Hilfe bitten.

Anbei ein Projekt welches mir mehrere Fehler / Probleme aufzeigt. Meiner Meinung nach hängen Sie aber alle Zusammen.

Ich habe ein WPF-Projekt in dem ich ein UserControl einbinde, welches in einem anderem Projekt in der Projektmappe liegt.

Binde ich dieses UC ein, bekomme den Fehler dass dieses nicht gefunden wurde. Komischerweise tritt dieser Fehler nur sporadisch auf. Der Designer zeigt keine Vorschau, aber baue ich es, startet es mit erwartetem UI.
Die Einbindung ist:


xmlns:errorList="clr-namespace:ErrorList;assembly=ErrorList"
...
<errorList:ErrorListControl x:Name="errors"/>

Der zweite Fehler, welcher immer erscheint ist eine Ressource (Converter), welche ich z.B. in der App.xaml hinterlege:


    <Application.Resources>
        <demoResourceProblem:ValueToBackgroundColorConverter x:Key="valueToBackground" />
    </Application.Resources>

Bei der Verwendung (DatagridColumn soll farbig anzeigen ob die Anzahl positiv/negativ ist):


<Setter Property="Background" Value="{Binding Count, Converter={StaticResource valueToBackground}}" />

... erhalte ich folgende Fehler:> Fehlermeldung:

Fehler 1 Der Name "ValueToBackgroundColorConverter" ist im Namespace "clr-namespace:DemoResourceProblem" nicht vorhanden. \...\DemoResourceProblem\App.xaml 7 9 DemoResourceProblem

Fehler 2 Ein Objekt vom Typ "System.Object" kann auf eine Eigenschaft, die den Typ "System.Windows.Data.IValueConverter" erwartet, nicht angewendet werden. \...\DemoResourceProblem\App.xaml 17 67 DemoResourceProblem

Fehler 3 Der Name "ValueToBackgroundColorConverter" ist im Namespace "clr-namespace:DemoResourceProblem" nicht vorhanden. \...\DemoResourceProblem\App.xaml 1 1 DemoResourceProblem

Verzweifle hier ein bisschen. Habe natürlich nach diesen Verhalten gegoogelt, und nur die Tips gelesen, das Zielsystem / Framework umzustellen:
Namespace not found
xmlns assembly Erweiterung

Vielen Dank schon im Voraus!

Hinweis von Coffeebean vor 9 Jahren

Anhang entfernt. Bitte beachte: [Hinweis] Wie poste ich richtig? 4.1

P
157 Beiträge seit 2014
vor 9 Jahren

Das ist recht einfach erklärt :
Für jedes UserControl wird ein eigener Designer gestartet, der nur dein UserControl kennt. Das Teil ist auch nicht ganz fehlerfrei...

Du kannst einfach deinen Converter in das UserControl-Resourcedictionary verschieben, weil es da eigentlich auch hingehört. Wenn du dieses UserControl wiederverwenden möchtest, heißt es nicht, dass es deinen Converter schon in den Resourcen gibt, du verlässt dich nur darauf.

Resourcen ins App-Xaml auszulagern, verursacht eine Menge Probleme bei der Entwicklung. Wenn du dir den Speicher sparen möchtest, musst du dir ein eigenes ResourceDictionary implementieren, da kannst du mal nach "sharedresourcedictionary" googeln(was fürn sinnfreies verb). Nur leider wird dein Designer damit nicht ganz klarkommen 😉

Der Designer zeigt nur das an, was er fehlerfrei übersetzen kann...oder besser gesagt, was innerhalb der Fehlertoleranz liegt.

vg

Wenn's zum weinen nicht reicht, lach drüber!