2013-03-21 22 views
18

Ho lavorato su un'applicazione wpf usando vb.net, recentemente ho avuto un problema ... Quando costruisco il mio codice, la compilazione ha successo ma quando arriva per l'esecuzione del codice, The System.IO.IOexception genera un'eccezione "Impossibile individuare la risorsa ViewModel/ViewModel/Mainwindow.xaml" Le finestre .Xaml si trovano in una cartella denominata ViewModel, quindi non so dove sia l'altro ViewModel/ViewModel ... il percorso sta venendo, non dovrebbe essere viewModel/MainWindow.Xaml? Ho provato tutte le possibili soluzioni incluso la pulizia del Progetto ma non sembra funzionare.La mia applicazione Wpf non può localizzare la risorsa 'Mainwindow.xaml'

L'unica soluzione che sembra funzionare è se cambio lo StartupUri da StartupUri = "ViewModel\MainWindow.Xaml" PER StartupUri = "...\MainWindow.xaml" ma dubito che questa è la cosa giusta da fare.

Please Help Il più presto possibile.

+2

Hai provato '. \ ViewModel \ MainWindow.xaml'? Una domanda, perché una vista si trova in uno spazio dei nomi VM? Non ha senso, dal momento che le VM non dovrebbero essere a conoscenza delle visualizzazioni. – DHN

+0

Sì, ma ancora non funziona. Non sto usando MVVM Il ViewModel è solo un nome di una cartella come le altre, mi dispiace per la confusione lì. – user2181140

+0

Controlla i tuoi spazi dei nomi. Il percorso è determinato dallo spazio dei nomi del progetto, non dalla struttura della cartella. È possibile che tu abbia una classe nella cartella 'ViewModel' che ha lo spazio dei nomi' MyApplication.ViewModel.ViewModel' – Rachel

risposta

5

Questo è successo a me poche volte - sempre quando ho spostato MainWindow.xaml in un'altra cartella e ho dimenticato di aggiornare StartupUri in App.xaml.

13

Nel mio caso avevo bisogno di usare in valigia la sintassi URI per impostare SrartUpUri proprietà del mio file App.xaml per puntare a una nuova posizione del mio MainWindow.xaml, come così:

<Application x:Class="TrafficLights.Controller.App" 
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       StartupUri="pack://application:,,,/View/MainWindow.xaml"> 

Altro su URI pacchetto qui:

http://msdn.microsoft.com/en-us/library/aa970069(v=vs.110).aspx

Speranza che aiuta. In bocca al lupo!

22

Modificare il StartupUri="MainWindow.xaml" a StartupUri="FolderName/MainWindow.xaml"

risolto il mio problema, quando ho spostato la mia MainWindow alla visualizzazione delle cartelle

+1

Grazie, mi hai aiutato a cercare molto ;-) –

+0

contento che abbia aiutato @ThomasSpranger –

+0

Questo ha funzionato! Grazie. È un peccato che VS non lo faccia automaticamente ... – florien

1

Visual Studio è in qualche modo rinominato la mia MainWindow.xaml-MainWindow(1).xaml, così ancora una volta ho rinominato a MainWindow.xaml

Problemi correlati