2013-08-01 19 views
4

的类型 “System.Windows.Markup.XamlParseException”第一次机会异常出现在 PresentationFramework.dll
其他信息时:“的 对类型构造函数调用'filehelpertest.MainWindow'与 匹配指定的绑定约束引发异常。'行号“3”和 行位置“9”。XamlParseException在PresentationFramework.dll调用FileHelperEngine构造

大家好,

我是新来FileHelpers。

我在VS Express 2013中做了一个最小的WPF项目,以便隔离这个问题。 代码从FileHelpers文档中的“分隔文件快速入门”部分复制而来。

我已经尝试引用FileHelpers.dll(2.0,1.1,Mono1.2)的3个不同版本,并且我尝试了重新启动。但是我看不到任何效果。必须有一些非常简单的东西我错过了吗?

或者FileHelpers不适用于较新版本的.NET?

谢谢!

using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Windows; 
using System.Windows.Controls; 
using FileHelpers; 

namespace filehelpertest 
{ 
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
      FileHelperEngine engine = new FileHelperEngine(typeof(Customer)); 
      // To Read Use: 
      Customer[] res = engine.ReadFile("f1.txt") as Customer[]; 
      // To Write Use: 
      engine.WriteFile("f2.txt", res); 
     } 

     [DelimitedRecord(",")] 
     public class Customer 
     { 
      public int CustId; 
      public string Name; 
     } 
    } 
} 
+0

我期望异常中有更多信息 - 一个内部异常,指出MainWindow构造函数中出错的地方。你应该看看那个。 –

+0

谢谢,我同意,但我不知道在哪里/如何看到更多信息...这是一个截图:http://i.imgur.com/s7LUOzV.png – gus

+1

所以你选择“休息”选项和你应该得到更多的信息.​​.. –

回答

1

我认为这个问题是与路径,提供完整路径引擎,并使用通用的优化版本那样:

public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
      try 
      { 
       var engine = new FileHelperEngine<Customer>(); 
       // To Read Use: 
       Customer[] res = engine.ReadFile(@"c:\yourpath\f1.txt"); 
       // To Write Use: 
       engine.WriteFile(@"c:\yourpath\f2.txt", res); 
      } 
      catch(Exception ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 
     } 
    } 
+0

谢谢你,我上面的代码中的实际错误是,文本文件的字段名称是第一行,所以无法解析为整数(custID)。我将文本文件与exe文件放在Debug文件夹中,所以普通文件名工作正常。如果我选择“继续”,Jon Skeet帮助我发现实际的异常会显示在“输出”窗口中。不过,我想问一下在xamlparseexception后面隐藏的错误是VisualStudio使用FileHelpers的已知问题。有什么我可以做的,让异常显示他们应该正常的方式? – gus

+0

@MarcosMeli设置例外是个好主意。 –