如何解决Winfrom加载程序未能加载文件或程序集,抛出异常,

源码如下:
            DataTable dt = new DataTable("dt1");
            dt.Columns.Add("C1", typeof(bool));
            dt.Columns.Add("C2", typeof(int));
            dt.Columns.Add("C3", typeof(string));
            dt.Columns.Add("C4", typeof(string));
根据异常文本显示: 抛出异常的位置是:DataTable dt = new DataTable("dt1"),这一句,不知道是不是缺少什么库文件了,有没有遇到类似问题的大神,求解。



************** 异常文本 **************
System.TypeInitializationException: “System.Data.Common.DataStorage”的类型初 始值设定项引发异常。 ---> System.IO.FileNotFoundException: 未能加载文件或程序集 “System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” 或它的某一个依赖项。系统找不到指定的文件。
   在 System.Data.Common.DataStorage..cctor()
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Data.Common.DataStorage.GetStorageType(Type dataType)
   在 System.Data.DataColumn..ctor(String columnName, Type dataType, String expr, MappingType type)
   在 ECU_TOOL.Form_Parameter_Search.Form_Parameter_Search_Load(Object sender, EventArgs e) 位置 E:\XX.cs:行号 74
   在 System.Windows.Forms.Form.OnLoad(EventArgs e)
   在 System.Windows.Forms.Form.OnCreateControl()
   在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   在 System.Windows.Forms.Control.CreateControl()
   在 System.Windows.Forms.Control.WmShowWindow(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
   在 System.Windows.Forms.Form.WmShowWindow(Message& m)
   在 System.Windows.Forms.Form.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

如果一个exe只有你那几行代码.. 就算没任何dll 能生成 肯定不会报错...

报错的应该是别的地方吧  这是系统的东西啊

在 ECU_TOOL.Form_Parameter_Search.Form_Parameter_Search_Load(Object sender, EventArgs e) 位置 E:\XX.cs:行号 74

74行是什么代码?

本机异常,还是exe放到别的电脑上出现的异常?

74行代码就是前面说的那个: DataTable dt = new DataTable("dt1");

别的地方暂未发现啊,看到异常文本中提示”未能加载文件或程序集。。。。“,是不是相关库文件丢了之类的嘛?

你这个DataTable 是system.data命名空间下的吗?

是别的电脑出现的异常,我在本机上调试没有故障,所以搞不懂了,只能通过他那边提供的异常信息来排故。

那就对了嘛,肯定是环境不对。
你把项目的.net framework的版本降低。
或者升级另一台机器的.net framework版本。

对啊,命名控件都好着,同一个安装包发布的,我这边是没有问题的

他那边是4.6版本,我这边用4.0开发的,基于X86平台发布 ,怀疑过这一块,但是他那边是高版本,应该可以兼容吧。

这个异常在另外一个地方也出现过,是读取Excel文件的时候,源码如下:

                if (fileSuffix == ".xls")
                    connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + FilePath + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
                //读取文件
                string sql_select = " SELECT * FROM [" + SheetName + "$]";
                using (OleDbConnection conn = new OleDbConnection(connString))
                using (OleDbDataAdapter cmd = new OleDbDataAdapter(sql_select, conn))
                {
                    conn.Open();
                    cmd.Fill(ds);
                }

抛出异常的位置是cmd.Fill(ds)时候,异常提示和上面的情况基本一致,因为找不到原因,最后我用的NPOI读写office www.9iBee.com文件了,修改后可以读写Excel了,但是这一块没辙了

你先装一下framework,和他那边版本弄成一样试一下

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值