C# 在根据窗体中的表格数据生成word文档时出错

出错内容为:

 

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.BadImageFormatException: 未能加载文件或程序集“Interop.Word, Version=8.1.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。
文件名:“Interop.Word, Version=8.1.0.0, Culture=neutral, PublicKeyToken=null”
   在 PWMS.PerForm.F_ManFile.but_Table_Click(Object sender, EventArgs e)
   在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   在 System.Windows.Forms.Button.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
错误内容

 

刚开始以为是所引用程序库文件Interop.Word的版本不对,结果折腾了半天还是错的。最后根据文章[1],才得知是32版本的dll当被生成Any CPU类型的可执行文件时存在极大地不稳定性,当64位的系统运行这种调用32dll的代码段时,就会发生如上图所示的错误。血的教训啊,浪费了1个多小时。希望以后不会犯这样的低级错误。

 

参考代码调用下载地址: Download Link备用下载地址

 

 

 

 

参考文章

1. system.badimageformatexception 未能加载文件或程序集

 

posted @ 2016-07-23 20:44  wenglabs  阅读(562)  评论(0编辑  收藏  举报