none
使用原始环境win8.0+vs2012建立的wpf项目-窗口模式,迁移到win7+vs2012下出现错误,我找不到解决方案,求帮助,谢谢 RRS feed

  • 问题

  • 问题描述:

    因为我win8.0用起来有很多问题,实在是忍受不了,然后就还是换成了win7.

    而我的一个项目是在win8.0系统+vs2012建立的,现在在win7+vs2012上编译运行出错,主要是运行时错误,编译的时候,没有语法问题。

    问题1:

    编译完成提示:

    生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个

    按F5运行则异常:

    “System.Windows.Markup.XamlParseException”类型的第一次机会异常在 PresentationFramework.dll 中发生

    其他信息: “设置属性“System.Windows.FrameworkElement.Style”时引发了异常。”,行号为“44”,行位置为“56”。

    如有适用于此异常的处理程序,该程序便可安全地继续运行。

    通过错误以及查看界面,发现应该是style没有找到,按钮的style是我自定制的,不是默认的,以及其他控件的style都变成默认了。

    打开App.xaml文件,发现:

     <ResourceDictionary Source="ResourceDictionary.xaml"/>有问题,提示为:

    查找资源字典"ResourceDictionary.xaml"时出错。


    App.xaml全部代码:

    <Application x:Class="MyAccountBook.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 StartupUri="MainWindow.xaml">
        <Application.Resources>
    
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="ResourceDictionary.xaml"/>
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
    
        </Application.Resources>
    </Application>

    资源字典在我使用win8.0系统时,全部自动生成,我基本上没有手动改过。

    ------------

    求大神帮忙,给大神拜年了,祝各位朋友新年快乐,马到成功,合家美满幸福!

    怎么解决这个问题,我百度以及Google没有找到相关方面的资料。

    2014年1月31日 16:10

答案

  • 你好,

    我下载测试了你的项目,在我的Visual Studio 2013(英文旗舰版)上一切正常,从你反映的问题来看,VS应该是中文版本,可能是编译器编码问题或者VS自身问题导致的。

    你可以尝试修改项目默认编码:文件 -> 高级保存选项 -> 编码

    或者可以寻找另一台测试机器,看是否有同样问题,如果正常,可能需要修复VS


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年2月3日 4:58
    版主
  • 你好,

    你可以使用try catch 抓取异常,查看其内部错误:

    public MainWindow()
    {
        try
    
        {
          InitializeComponent();
        }
        catch ( Exception ex )
        {
          // Log error (including InnerExceptions!)
          // Handle exception
        }
    }

    在Debug模式下,请查看输出窗口有无可用信息

    http://msdn.microsoft.com/en-us/library/3hk6fby3.aspx


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年2月5日 11:01
    版主
  • 您好,谢谢你的提示和帮助。

    经过我在另一台电脑(win8.0+vs2012)测试,运行正常。

    -------------

    继续在我自己的电脑(win7+vs2012)上调试。

    通过你的提示:

            public MainWindow()
            {
                try
                {
              1      InitializeComponent();
                }
              2  catch (Exception e)
              3  {
                }
            }

    分别在1、2、3处打断点调试。

    当运行到1处时,按F11调试,转到xaml:<local:WindowBase  处,再F10,则vs直接弹窗提示异常:

    “System.Windows.Markup.XamlParseException”类型的第一次机会异常在 PresentationFramework.dll 中发生

    其他信息: “设置属性“System.Windows.FrameworkElement.Style”时引发了异常。”,行号为“36”,行位置为“144”。

    如有适用于此异常的处理程序,该程序便可安全地继续运行。

    现在我点击提示窗口上的中断,然后按下F5,这时候执行到2处,按下F10,执行到3处,查看Exception e信息:

    e {"“设置属性“System.Windows.FrameworkElement.Style”时引发了异常。”,行号为“36”,行位置为“144”。"} System.Exception {System.Windows.Markup.XamlParseException}

    继续按下F5,则还是弹窗提示:

    “System.Windows.Markup.XamlParseException”类型的第一次机会异常在 PresentationFramework.dll 中发生

    其他信息: “初始化“MyAccountBook.MainWindow”时引发了异常。”,行号为“5”,行位置为“9”。

    如有适用于此异常的处理程序,该程序便可安全地继续运行。

    程序一直这样,直到程序错误退出。

    ------------

    再次感谢您的帮助,如果别无他法,我就只能在win7下修改资源字典了。

    2014年2月8日 7:02

全部回复

  • 你好,

    根据你反应的问题,我手动测试了你的迁移操作,尚未出现你所反应的问题,如果你可以提供资源字典的内容或者剔除重要数据后的重现工程,我们可以帮助你测试和查找问题。

    从你提供的错误信息来看,请检查Visual Studio功能是否完整,并且检查文件编码和资源字典文件的属性:

     


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年2月2日 14:57
    版主
  • @Franklin Chen

    你好,谢谢你的热情帮助。

    http://pan.baidu.com/s/1i32vTYX这个是源码的地址。

    我的字典的属性和你发的图的描述是一致的,我没有去改动过字典xaml文件的属性。



    • 已编辑 oiooooio 2014年2月3日 6:19
    2014年2月3日 4:33
  • 你好,

    我下载测试了你的项目,在我的Visual Studio 2013(英文旗舰版)上一切正常,从你反映的问题来看,VS应该是中文版本,可能是编译器编码问题或者VS自身问题导致的。

    你可以尝试修改项目默认编码:文件 -> 高级保存选项 -> 编码

    或者可以寻找另一台测试机器,看是否有同样问题,如果正常,可能需要修复VS


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年2月3日 4:58
    版主
  • @Franklin chen

    你好,我尝试吧App.xaml,MainWindow.xaml,以及资源字典高级保存,但是没有效果。

    我是vs2012 中文版的,并且已经安装了 update4,在安装的过程中没有错误的,一次安装。

    我去下载个vs2013试试,看看能不能解决我的问题,目前我只有我自己的电脑。

    谢谢你的帮助。

    --------

    请问您说的修复vs是指安装程序里的那个修复吗?

    2014年2月3日 6:39
  • 以我的经验,最好用原盘或者完整的iso修复安装


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年2月3日 8:08
    版主
  • 谢谢啊,vs2013 win7装不了!!

    那我去官网下载2012修复试试...

    2014年2月3日 8:57
  • 在尝试修复vs2012后,问题依旧~
    2014年2月4日 5:35
  • 你好,

    你可以使用try catch 抓取异常,查看其内部错误:

    public MainWindow()
    {
        try
    
        {
          InitializeComponent();
        }
        catch ( Exception ex )
        {
          // Log error (including InnerExceptions!)
          // Handle exception
        }
    }

    在Debug模式下,请查看输出窗口有无可用信息

    http://msdn.microsoft.com/en-us/library/3hk6fby3.aspx


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年2月5日 11:01
    版主
  • 您好,谢谢你的提示和帮助。

    经过我在另一台电脑(win8.0+vs2012)测试,运行正常。

    -------------

    继续在我自己的电脑(win7+vs2012)上调试。

    通过你的提示:

            public MainWindow()
            {
                try
                {
              1      InitializeComponent();
                }
              2  catch (Exception e)
              3  {
                }
            }

    分别在1、2、3处打断点调试。

    当运行到1处时,按F11调试,转到xaml:<local:WindowBase  处,再F10,则vs直接弹窗提示异常:

    “System.Windows.Markup.XamlParseException”类型的第一次机会异常在 PresentationFramework.dll 中发生

    其他信息: “设置属性“System.Windows.FrameworkElement.Style”时引发了异常。”,行号为“36”,行位置为“144”。

    如有适用于此异常的处理程序,该程序便可安全地继续运行。

    现在我点击提示窗口上的中断,然后按下F5,这时候执行到2处,按下F10,执行到3处,查看Exception e信息:

    e {"“设置属性“System.Windows.FrameworkElement.Style”时引发了异常。”,行号为“36”,行位置为“144”。"} System.Exception {System.Windows.Markup.XamlParseException}

    继续按下F5,则还是弹窗提示:

    “System.Windows.Markup.XamlParseException”类型的第一次机会异常在 PresentationFramework.dll 中发生

    其他信息: “初始化“MyAccountBook.MainWindow”时引发了异常。”,行号为“5”,行位置为“9”。

    如有适用于此异常的处理程序,该程序便可安全地继续运行。

    程序一直这样,直到程序错误退出。

    ------------

    再次感谢您的帮助,如果别无他法,我就只能在win7下修改资源字典了。

    2014年2月8日 7:02