解决“未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Data,Version=4.1.0.0, Culture=neutral, PublicKeyToken=58a508d96b29b237”
2009-10-17 23:56
1106 查看
今天在调试程序的时候想使用最新版本的企业库,原先公司使用的是4.0版本的。没想到,在新功能中加入了4.1版本的企业库时候出现了如上的错误。在网上搜到了一些答案,但是很多都没有用。
网上有两种方法:
1)将PublicKeyToken=58a508d96b29b233去掉
2)将PublicKeyToken=58a508d96b29b233改成PublicKeyToken=null
但是这两种方法都没有效果。
那就继续使用4.0版本的吧。因为公司的东西签过名,所以就直接将PublicKeyToken=58a508d96b29b233删掉了,以后再做签名处理。这样之后,还是会出现以上问题。那就直接到EL的官网下载了4.0的版本,将所有的添加企业库的地方都替换为现在新下载过来的版本。结果是不报这个错了。原因已经很明白了。那就是不同版本或者不同签名的企业库在同时使用。
企业库的这个错没了,又来了另外的错。
“failed: System.Data.OracleClient.OracleException : ORA-01036: 非法的变量名/编号”
查看了下这里,才知道,这个是Oracle里面的变量名要用 “=:”来连接的。在这里记录一下。
SqlClient参数表达式:@ParameterName
OracleClient参数表达式::ParameterName
OleDB.Net参数表达式:?
简单给个例子:
OracleClient:
public DataTable GetRepairRecordData(string DeviceHierarchyId) {
Database db = DatabaseFactory.CreateDatabase();
string sql = "select * from fpi_repairrecord where hierarchyid=:hierarchyid";
DbCommand command = db.GetSqlStringCommand(sql);
db.AddInParameter(command, "hierarchyid", DbType.String, DeviceHierarchyId);
return db.ExecuteDataSet(command).Tables[0];
}
红色的符号按照上面的方式修改,在不同的数据库Provider中。
网上有两种方法:
1)将PublicKeyToken=58a508d96b29b233去掉
2)将PublicKeyToken=58a508d96b29b233改成PublicKeyToken=null
但是这两种方法都没有效果。
那就继续使用4.0版本的吧。因为公司的东西签过名,所以就直接将PublicKeyToken=58a508d96b29b233删掉了,以后再做签名处理。这样之后,还是会出现以上问题。那就直接到EL的官网下载了4.0的版本,将所有的添加企业库的地方都替换为现在新下载过来的版本。结果是不报这个错了。原因已经很明白了。那就是不同版本或者不同签名的企业库在同时使用。
企业库的这个错没了,又来了另外的错。
“failed: System.Data.OracleClient.OracleException : ORA-01036: 非法的变量名/编号”
查看了下这里,才知道,这个是Oracle里面的变量名要用 “=:”来连接的。在这里记录一下。
SqlClient参数表达式:@ParameterName
OracleClient参数表达式::ParameterName
OleDB.Net参数表达式:?
简单给个例子:
OracleClient:
public DataTable GetRepairRecordData(string DeviceHierarchyId) {
Database db = DatabaseFactory.CreateDatabase();
string sql = "select * from fpi_repairrecord where hierarchyid=:hierarchyid";
DbCommand command = db.GetSqlStringCommand(sql);
db.AddInParameter(command, "hierarchyid", DbType.String, DeviceHierarchyId);
return db.ExecuteDataSet(command).Tables[0];
}
红色的符号按照上面的方式修改,在不同的数据库Provider中。
相关文章推荐
- 如何解决如"未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或
- 创建 loggingConfiguration 的配置节处理程序时出错: 未能加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=
- 未能加载文件或程序集"System.Data,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"或它的某一个依赖项。系统找不到指定的文件。解决办法
- Visual Studio 2008不能创建数据库连接出现:未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral,PublicKeyToken=89845dcd8080cc91”或它的一个依赖项。系统找不到指定的文件的解决办法
- 解决:未能加载文件或程序集“Microsoft.Build.Engine,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a
- 未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。 解决方法
- 已解决:未能加载文件或程序集“Microsoft.Build.Engine,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或者它的某一个依赖项
- 解决:未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”
- 未能加载文件或程序集“Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。
- 关于:未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
- 无法添加数据库未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral,PublicKeyToken=89845dcd8080c
- 未能加载文件或程序集 Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad
- 未能加载文件或程序集“System.WEB.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad
- 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项
- 未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
- 用VS2008发布的版本更新到服务器时报错--未能加载文件或程序集“System.WEB.DataVisualization, Version=3.5.0.0, Culture=neutral, Pu
- 关于:未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
- 未能加载文件或程序集“EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个
- 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件
- 未能加载文件或程序集“System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 "或它的某一个依赖项。系统找不到指定的文件。