WPFCalculator项目运行时报错:找不到资源window1.xaml

Antwoord WPFCalculator项目运行时报错:找不到资源window1.xaml

  • 2008年1月6日 11:04
     
     

     

    打开windows sdk里面的有关WPF的那个计算器的例子WPFCalculator,编译可以通过,为什么在运行的时候会报错:找不到资源window1.xaml,其他的例子都是对的,不知为什么?我的系统是XP SP2,VS2005。

全部回复

  • 2008年1月6日 14:05
     
     

     

    你是否修改了某些文件名?或者修改了哪个地方?

     

    可以Debug一下看看到底是哪个文件要求访问Windows1.xaml 检查一下 App.xaml 的前面几行(如果有这个文件的话)

  • 2008年1月9日 10:37
     
     

    没有修改任何文件,是App.xaml文件调用的Windows1.xaml,具体如何Debug xaml文件我不清楚,谢谢你!

  • 2008年1月12日 8:22
     
     

     

    难道没人能解决这个问题?
  • 2008年1月12日 14:55
    版主
     
     

    的确没有遇到过类似的问题。

    尝试把 Debug 目录下的文件删除,然后重新编译一次,再运行看看结果。

  • 2008年1月28日 12:42
     
     

     

    请问如何上传附件?我根据WPFCalculator改写了一个工程,运行时同样报错:找不到资源window1.xaml,可是我不知如何上传上来?谢谢了!
  • 2008年1月28日 12:54
    版主
     
     

    目前这个论坛还不允许上传附件的.但你可以贴上主要的代码.

     

    你说的例子应该是这个http://msdn2.microsoft.com/en-us/library/ms771362.aspx

     

    的确有这个问题,我看看先.

     

    应该是提供的代码有问题.

    我下载下来之后在VS2008 Beta2下连编译都通不过,提示找不到 Resources.Designer.cs 和 Settings.Designer.cs 两个文件.删除后可以编译但会出现之前描述的错误.

     

    鼓捣了半天也找不到原因,原因不在Window1.xaml,因为我另建Window2.xaml改了代码都一样的错误.应该是在app加载的时候出错.下载的这个project是基于.NET 3.0的,可以新建一个3.0的WPF app,然后把mytextbox.cs, Window1.xaml和Window1.xaml.cs粘贴到新项目中,然后改命名空间为WPFCalculator,之后就可以正常运行了。

  • 2008年1月30日 15:24
     
     

    首先非常感谢您!我也是这样修改的,是成功的!但是如果我在原WPFCalculator工程上,修改以下文件:App.xaml、App.xaml.cs、Window1.xaml、Window1.xaml.cs,将工程中的其他文件删除,仍然报错。我比对了工程的属性与自动生成的一样,不知是哪儿出错?同时还有一些例子也有这样的问题,但是还有许多工程如果出现这样的问题,当清除解决方案之后,重新编译就对了,不知这是什么的原因?

    App.xaml内容:

    <Application x:Class="WPFCalculator.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        StartupUri="Window1.xaml">
        <Application.Resources>
            
        </Application.Resources>
    </Application>


    App.xaml.cs内容:

    using System;
    using System.Windows;

    namespace WPFCalculator
    {
        public partial class App : Application
        {
        }
    }

     

    Window1.xaml内容:

    <Window x:Class="WPFCalculator.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Grid>
           
        </Grid>
    </Window>

     

    Window1.xaml.cs内容:

    using System;
    using System.Windows;

    namespace WPFCalculator
    {
        public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
            }
        }
    }


     

  • 2008年2月16日 7:47
     
     已答复

    当我删除工程配置文件WPFCalculator.csproj中的<UICulture>en-US</UICulture>这一句就好了,哪位大虾能解释一下原因?

  • 2008年5月19日 9:34
     
     

     

    工程中指定了使用en-US资源(<UICulture>en-US</UICulture>),但是实际工程中并没有给出en-US资源,与是出错(找不到window1.xaml).

    obj\Debug\en-US目录下是空的,什么都没有.

    当你将<UICulture>en-US</UICulture>删除后,将使用缺省的资源,obj\Debug目录里的内容,于是问题解决了.

  • 2009年8月28日 3:11
     
     

     

    工程中指定了使用en-US资源(<UICulture>en-US</UICulture>),但是实际工程中并没有给出en-US资源,与是出错(找不到window1.xaml).

    obj\Debug\en-US目录下是空的,什么都没有.

    当你将<UICulture>en-US</UICulture>删除后,将使用缺省的资源,obj\Debug目录里的内容,于是问题解决了.


    在编译时使用的是en-US选项进行编译并生成了en-US为名的文件夹,里面包含了可本地化的内容;但是你的本地系统使用的是zh-CN,在你运行exe的时候,运行时会检查本地culture,发现是zh-CN,于是就去找zh-CN文件夹,但是并没有生成该culture下的资源,所以出错。
    解决方法:
    将编译选项由<UICulture>en-US</UICulture>改为<UICulture>zh-CN</UICulture>,重新编译,ok。