2016-08-13 4 views
2

Warum kann VS meine Datei nicht finden?Warum wird mein ViewModel nicht gefunden?

VS Fehler Bild und Text:

enter image description here

Severity Code Beschreibung Projektdatei Zeilenunterdrückungszustand CS0246 Fehler Der Typ oder Namespace-Name 'Audiofile' konnte nicht gefunden werden (möglicherweise fehlt eine using Oder ich habe das Projekt neu erstellt, um zu sehen, ob Visual Studio etwas getan hat Alles, was ich nicht sehen/verstehen und ausgiebig mit funktionierendem Code überprüfen konnte (findet das Element korrekt und bindet), um zu sehen, wo die Unterschiede liegen. Ich konnte jedoch keine Hinweise finden.

bearbeiten: Ich verwende Visual Studio 2015 Community Edition unter Windows 10 Anniversary Update. In früheren Projekten hatte VS auch keine Probleme, ein Modell zu finden und zu binden.

Vollständiger Code unten.

Reorder Seite

<Page 
    x:Class="reOrder.ReorderPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:reOrder" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:viewModels="using:reOrder.Models" 
    mc:Ignorable="d"> 

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="auto"/> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="auto"/> 
     </Grid.RowDefinitions> 

     <ListView Grid.Row="1" 
        ItemsSource="{x:Bind AudioFiles}"> 
      <ListView.ItemTemplate> 
       <DataTemplate x:DataType="viewModels:AudioItem"> 
        <StackPanel> 
         <TextBlock Text="{x:Bind Name}"/> 
        </StackPanel> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </Grid> 
</Page> 

AudioItem Modell (usings übersprungen)

namespace reOrder.Models 
{ 
    public class AudioItem 
    { 
     public string Path { get; set; } 

     public string Name { get; set; } 

     public int Duration { get; set; } 
    } 
} 

Antwort

0

ich hatte das gleiche Problem auch nach der solution.One Abhilfe Wiederaufbau i Go in Datei-Explorer auf Ihre CSPROJ Datei tat wurde und bearbeiten sie nun unter ItemGroup Tag hinzufügen:

<Compile Include="ViewModels\AudioItemModel .cs"> 
    <DependentUpon>Reorder.xaml</DependentUpon> 
</Compile> 

speichert es und schließen sie es und dann ist es wieder aufzubauen und jetzt wird es das Viewmodel erkennen.

+0

Danke, das hat den Job gemacht! Aber haben Sie eine Ahnung, warum das passiert sein könnte? Ich meine, sogar neue Projekte haben dieses Problem. Wo hast du diese Lösung gefunden? – NomadHorse2

+0

Ich selbst habe es gelöst, indem ich verschiedene .csproj-Dateien von anderen uwp-Apps verglichen habe, in denen es das Viewmodel erkannt hat und dann diese Ähnlichkeit gefunden und gelöst habe. Aber da ich nur ein Anfänger bin, weiß ich nicht, warum es passiert :) – Uwpbeginner

1

Sie nicht using in XAML nicht verwenden, verwenden Sie clr-namespace:. Ich kann nicht sicher sein, was Sie Ihre Assembly mit dem Namen, aber meine Vermutung ist:

xmlns:viewModels="clr-namespace:reOrder;assembly=reOrder" 
+0

Die Fehlertext Änderungen an etwas ähnliches: Der Name „AudioItem“ existiert nicht im Namensraum „clr-namespace: REORDER; Montage = neu ordnen“ edit: Der Code funktioniert gut mit 'using' und diese Art Lösung hat in der Vergangenheit für mich gearbeitet. Ich arbeite an einer Tutorial-Vorlage Code-Stil. – NomadHorse2

+0

Erstens, ist dieser Assemblyname korrekt? Ich sagte, es war nur eine Vermutung. Zweitens, [sehen Sie sich diese SO-Frage an] (http://Stackoverflow.com/questions/16406038/xaml-clr-namespace-using-incompatibility), vielleicht erwarten Sie, dass xaml in allen Umgebungen gleich ist? – Crowcoder

+0

Ich überprüfte, es ist reOrder, ich änderte nichts in den Projekteinstellungen und ich bin auf Windows 10 AU Gebäude für Windows 10. Wie könnte die Syntax ein Problem sein? Ich habe erwähnt, dass Projekte vor diesem den Typ richtig gefunden und gebunden haben. – NomadHorse2

Verwandte Themen