2013-03-21 333 views
18

我有一個WPF應用程序中使用vb.net一直在努力,我最近碰到一個問題... 當建立我的代碼,構建成功,但是當涉及運行該代碼,該System.IO.IOexception拋出一個異常「無法找到資源視圖模型/視圖模型/ Mainwindow.xaml」 的.XAML窗口位於一個名爲ViewModel的文件夾中,因此我不知道其他視圖模型/視圖模型...路徑來自於,是不是它是viewModel/MainWindow.Xaml? 我已經嘗試了所有可能的解決方案,包括清理項目,但它似乎沒有工作。我的WPF應用程序無法找到資源「Mainwindow.xaml」

似乎工作的唯一解決方案是,如果我從 StartupUri = "ViewModel\MainWindow.Xaml"更改StartupUri到StartupUri = "...\MainWindow.xaml"但我懷疑這是否是正確的做法。

請儘快幫忙。

+2

你試過'。\ ViewModel \ MainWindow.xaml'嗎?一個問題,爲什麼視圖位於虛擬機命名空間中?因爲虛擬機不應該意識到這些意見,所以不會覺察。 – DHN 2013-03-21 09:35:32

+0

是的,但它仍然不起作用。我沒有使用MVVM ViewModel只是像其他任何文件夾的名稱,對於那裏的混淆抱歉。 – user2181140 2013-03-21 12:37:58

+0

檢查你的名字空間。路徑由項目名稱空間確定,而不是由文件夾結構決定。它有可能你有一個名爲'ViewModel'的文件夾,其名稱空間爲'MyApplication.ViewModel.ViewModel' – Rachel 2013-03-21 13:10:08

回答

5

這發生在我身上幾次 - 總是當我將MainWindow.xaml移動到不同的文件夾並忘記更新App.xaml中的StartupUri

13

在我來說,我需要使用包URI語法來設置我的App.xaml文件的SrartUpUri屬性指向我MainWindow.xaml的一個新的位置,像這樣:

<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"> 

更多關於包的URI在這裏:

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

希望它能幫助。祝你好運!

22

更改StartupUri="MainWindow.xaml"StartupUri="FolderName/MainWindow.xaml"

解決我的問題,當我提出我的主窗口來查看文件夾

+1

謝謝,你幫我搜索了很多;-) – 2016-10-03 18:55:22

+0

很高興幫助@ThomasSpranger – 2016-10-06 02:25:05

+0

這工作!謝謝。很遺憾VS不會自動執行此操作... – florien 2017-07-17 01:44:29

1

Visual Studio中莫名其妙地改名我MainWindow.xamlMainWindow(1).xaml,所以我再次它更名爲MainWindow.xaml