这两天学习Spring.Net 和 NHibernate,采用的开发平台是VS2010。领域Domain和数据持久层DAO放在了一个项目Project下,在测试Project下引用完全没有问题。可是当我准备在界面项目Project(WinForm)下引用时出错了,提示说找不到该程序集。而被引用程序本身编译通过。
折腾了一晚上,没有找到原因。网上也没有查到类似问题。
尝试过以下方法:
1) 直接引用类库。有时成功,有时失败;
2) 删除引用后,重新引用项目。这是在编写代码时,字体变绿,能够识别引用代码。可以在编译时,又出错提示,没有引用;
3) 将该类库项目删除,代码复制到一新建项目后再引用,但还是出现相同错误;
4) 组织了两个项目共同的DLL,删除了Debug下的历史DLL,并使其引用版本完全一致,还是不能解决问题;
5) 第二天,换了一台台式机,仍然出现这种情况。
后来,也不知道怎么弄了两下,居然编译通过了!!!真神奇啊!
使用VS平台这么久,第一次遇到这种问题。看来自动化的东西并不可靠,还是需要知道一些底层的东西。从C#程序的编译来说,至少应该了解csc的工作原理吧。