C# DBEntry插件访问数据库在不同电脑报错 解决方法

错误提示1:

错误 18 未找到“ProcessorTask”任务。请检查下列各项: 1.) 项目文件中的任务名称与任务类的名称相同。2.) 任务类为“public”且实现 Microsoft.Build.Framework.ITask 接口。3.) 在项目文件中或位于“C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319”目录的 *.tasks 文件中使用 <UsingTask> 正确声明了该任务。C:\测试\SolutionTestOracle\DbEntryClassLibrary1\DbEntryClassLibrary1.csproj68 5 DbEntryClassLibrary1



这个错误是我在64位系统调试正常,放到目标机器X86系统平台编译报错


解决方法,找到数据库工程中的 这个文件 DbEntryClassLibrary1  68行左右有个 

<UsingTask TaskName="ProcessorTask" AssemblyFile="$(DbEntryPath)\Lephone.MSBuild.dll" />

将Lephone.MSBuild.dll改成Leafing.MSBuild.dll


注意,这里修改的前提是确保你的DBEntry的安装目录下有这个DLL,我的安装目录C:\Program Files (x86)\LephoneStudio\DbEntry4

暂时我发现Lephone是64位环境下用的,Leafing是X86环境下用的,还有其他带有这两种不同前缀的文件。

总之就是把刚刚那个工程文件里的路径,指到你文件夹中有的那个XXXX.MSBuild.dll




错误提示2


错误 17 GenerateHandler for Model : DbEntryClassLibrary1.Models.TblUser
System.BadImageFormatException: 未能加载文件或程序集“file:///G:\sjx\测试工程\SolutionTestOracle\DbEntryClassLibrary1\obj\Debug\DbEntryClassLibrary1.bak”或它的某一个依赖项。试图加载格式不正确的程序。
文件名:“file:///G:\sjx\测试工程\SolutionTestOracle\DbEntryClassLibrary1\obj\Debug\DbEntryClassLibrary1.bak”
   在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   在 System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   在 System.Reflection.Assembly.LoadFrom(String assemblyFile)
   在 Lephone.Processor.AssemblyProcessor.GenerateModelHandler()
   在 Lephone.Processor.Program.Process(String[] args)
   在 Lephone.Processor.Program.Main(String[] args)


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


G:\sjx\测试工程\SolutionTestOracle\DbEntryClassLibrary1\DbEntryClassLibrary1.csproj69


这个错误是我在64位系统环境下编译数据库工程,目标平台选的X86,报出的错误


解决方法,同样的,错误的原因其实还是那个文件,虽然路径中的文件是有的,但是平台对不上,这时候就需要把X86平台下面的一套前缀为Leafing的文件拷贝过来(我是都拷贝过来了不止这一个)这个文件在不同平台安装DBEntry的时候会根据系统安装不同的文件。然后把文件中指向的文件名改成Leafing.MSBuild.dll就OK了。

2016年10月13日又做了测试,发现无论32位还是64位机下都是用的Lephone,有时候更换成Leafing可以解决编译报错的情况,但是实际用的时候还会出现问题。

此处还是建议用Lephone吧。如果报错,更大一部分考虑数据库语句等数据库问题。

感觉网上这方面资料很有限,能找到一些都是英文的,外语渣表示无力。现在解决了希望能帮助遇到同样问题的人。


至于这种调用数据库的方法,我也不知道好坏,毕竟半路初学,这里不做探讨,可能以后有更好用的就废弃了这个方法,更新换代是常态。







DbEntry.Net是作者(梁利锋)设计的一个轻量级的 .Net ORM (Object Relational Mapping) 数据访问及 WEB 框架。对于 ORM 和 Sql 调用,它都拥有清晰和易用的 接口,目前支持 SqlServer、SQLite、MySql、Access、Firebird、Oracle 等数据库。对于 WEB 开发,它既支持 ASP.NET 2.0 的 DataSource 方 式,也支持 Ruby On Rails 风格的 MVC 方式。   目前,数据库部分已经支持多主键、多表联合查询、快速分页集合、 隐式数据库事务、连贯API查询、ActiveRecord风格查询、动态对象、部 分保存、自动创建数据表、一对一、一对多、多对多关系等功能,具体 实现请参阅 Samples 的例子程序和单元测试的内容。   而 DataSource 部分,因为绑定数据访问组件,所以可以只需要修 改配置文件,不需要修改任何代码的在不同的数据之间切换。另外,还支 持按命名约定的方式绑定“新建”和“编辑”页面的控件,以最少的代码 完成输入、验证、保存等一系列操作。   Rails 风格的 MVC 框架目前已经完成 MVC 部分,脚手架,基 的 LinkTo、UrlTo 等快捷函数,Http Get 支持等。目前脚手架部分没有 数据验证模块,不过,自己写的 MVC 代码可以自行实现验证。   这个版本,例子程序访问数据库主要是 Access,而单元测试使 用的数据库是 SQLite,通过修改配置文件数据源部分,可以使之不需 要重新编译即可工作于其它数据库上。配置部分通过 App.config 进行, 请参阅 Samples 的例子程序的 App.config 和 UnitTest 项目内嵌 的配置文件 UnitTest.config.xml 。   作者在 MS Sql Server 2000、MS Sql Server 2005 Express、 MS Access 2003、MySql 5.0、SQLite 3、Firebird 2.0.3 和 Oracle 10g Express 上测试过本组件。   v0.33 版比较大的改变为:   ·支持移除一对多、多对多关系   ·支持 Firebird、Oracle   ·增加缓存系统   ·支持 SoftDelete、CreatedOn、UpdatedOn   ·支持 ASP.NET 2.0 Membership 系统   ·DataSource 支持“新建”和“编辑”页面   ·Rails 风格 MVC 框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值