数据库提示未能从程序集中加载类型的解决方法
这几天在用winform编写一个小软件需要连接数据库,但在根据[数据源配置向导]连接至数据库时却弹出了下面的错误信息:
点击[运行]启动程序,可以看到很顺利的连接了数据库。
配置[选择您的数据连接]:
可见,vs2008用Datagridview控件连接数据库是失败了。
下面,再在系统②下用vs2010按同样过程测试一下:
建立Winform应用程序:
连接数据库成功后,点击[下一步]弹出了[选择数据库对象]的窗口:
综上所述,可见该问题确实跟同时安装vs2008和vs2010有关,vs2008中的部分文件受到了vs2010的影响。
解决办法:
方法一:
是你的Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage.dll版本过旧。找其他机器中的新版本dll覆盖即可。
路径:C:Program FilesMicrosoft Visual Studio 9.0Common7IDE
该方法本人未测试,因为我电脑上所装的vs2008和虚拟机中的都是一个版本,如下图:
这是系统①下的:
可见,两个文件的创建时间、大小等都是一样的。
也考虑过将vs2010下的该文件拷贝过来,但担心不同版本引起软件崩溃则没有进行测试。
一个版本是9.0.21022.8,另一个版本是10.0.30319.1。
至于从vs2008其他版本中拷贝同一个文件过来则没有进行进一步的测试。
重点说明方法二:
升级vs2008,安装vs2008sp1补丁。
从微软官网下载sp1补丁,安装:
附:vs2008sp1下载地址:
电脑软件
测试目标:探测是否是由于同时安装VS2008和VS2010后引起的该情况。
测试概述:在两个系统下同样用VS2008建立Winform程序,并用Datagridview控件连接Sql Server2005数据库,并显示数据。
首先:在系统①下进行测试。
只安装了vs008和sqlserver2005.
如下图,可以看到,数据库中的字段已经显示出来了。
本人参考以下网文:http://blog.csdn.net/dantengmiaomi/article/details/6857781
和http://www.soaspx.com/dotnet/sql/mssql/sql2005/sqlservr2005_20120215_8590.html