2013-03-21 222 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