项目引用不当,可能引发编译错误

最近发现一个不解的问题,就是从源代码管理器获取的最新版本的 项目解决方案编译不能正常完成,从错误提示中看到是因为引用的一个自定义的项目的dll文件不存在,曾经尝试逐个编译每个项目,但是不论先后顺序如何轮 换,都不能编译通过,最后把之前用过的两个dll文件拷贝到地址E:"SaleProject\Components\bin\Debug文件夹内,编译 可以通过了。BdWater.Sale.Components.dll,BdWater.Sale.WebComponents.dll就是需拷贝的 dll文件。虽然编译通过了,但是当时并不清楚为什么会这样,以前这个项目不需要这么操作的。最后找到了病根,原来是我在做发票管理系统后期管理时在 Componenst工程中引用了WebComponents项目的dll文件,这样操作的原因是因为Component工程中数据库操作的Sql语句中 需要将当前登录用户信息写入数据库,而获取该信息是通过WebComponents项目中的服务提供的,故引用了该项目文件。知道错在哪里了,下面是改正 错误具体做法是:
     (1)将Components中所有涉及引用命名空间BdWater.Sale.WebComponents的代码行注释掉
     (2)将涉及到数据库操作需当前登录用户信息的函数多添加一个参数,在UI层代码编写时将用户信息以参数形式传递给函数进行处理,而不是在函数内部进行处理,添加一个参数这样Components项目中就不必需要引用BdWater.Sale.WebComponents命名空间来获取用户信息了。而真正信息提供则是UI层调用WebComponents项目中一个类的函数得到的。
总结: 之前未曾考虑项目引用会出问题,Components层次要比WebComponents低,故不可以调用WebComponents。经测试问题现已解决。但是还有一点概念不太清晰,交叉引用和我以上所述是否是同一概念,忘各位指点。

转载于:https://www.cnblogs.com/yeyingshen/archive/2008/02/22/1077085.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值