C# 自定义组件开发 不能找到DLL dll缓存的位置

cxx1997 2012-10-20 04:32:59
我使用VS2010 WINFORM 项目 开发 自定义组件:public partial class UDMOCommon : Component
该项目 引用了 KZS.PLF.PersistLayer等后台dll

整个解决方案的所有DLL都生成到 同一个目录下,固定版本号1.0.0.0 ,然后引用都是 dll引用(非项目引用)

之前只要修改了后台DLL或者组件,前台的Form项目设计阶段 必然会报错,什么 同一个类型转换错误,找不到DLL等等,但只要多次关闭打开、重新添加引用等等操作后,都能恢复正常
(注意,是设计阶段才会有错误,运行编译好的exe都是没问题的 )

最近突然发现 KZS.PLF.PersistLayer这个DLL,项目设置 为 Com可见,于是改成了 普通方式,固定版本号1.0.0.0
然后把有引用到 KZS.PLF.PersistLayer这个DLL的项目重新一个个引用,但是这次不行了,不管怎么样设置,Form上的UDMOCommon这个组件,只要 跑到 KZS.PLF.PersistLayer相关的代码就会报错:找不到 KZS.PLF.PersistLayer,1.0.0.0

因此请问下各位:
1:我的解决方案的处理方式、项目的引用,这样是否正确,是否有更好的方式?
2:我推测 VS2010会把 组件、控件 的dll 缓存到别的系统目录下,我怎么样强制更新里面的dll?
3:这个问题怎么解决?

谢谢了
...全文
246 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2012-10-20
  • 打赏
  • 举报
回复
在项目添加项目引用,检查版本
足球中国 2012-10-20
  • 打赏
  • 举报
回复
其实根本没有所谓的项目引用。项目引用也是要先编译。
项目引用就是因为这些个问题才出来的。
这个问题我们几个都是改成项目引用解决的。其他的方法不太可靠。
期待楼主找到好的方法。
cxx1997 2012-10-20
  • 打赏
  • 举报
回复
目前已经采取的解决措施:
1:所有项目重新引用这个DLL
2:重启电脑
3:在调试模式下打开UDMO
4:清空C:\Users\Mark\AppData\Local\Microsoft\VisualStudio\10.0\ProjectAssemblies 下所有缓存DLL
5:将KZS.PLF.PersistLayer 改名成 KZS.PLF.PersistLayer1

但问题还是存在
cxx1997 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

同一解决方案要用项目引用不能使用dll引用。
[/Quote]

我的解决方案里面有几十个项目,不可能全部项目引用
而且项目引用最大的问题,我没办法把解决方案再切成几个小解决方案
cxx1997 2012-10-20
  • 打赏
  • 举报
回复
我已经把这个DLL 改名了
然后在
C:\Users\Mark\AppData\Local\Microsoft\VisualStudio\10.0\ProjectAssemblies\uqegxhij01 下看到有这个 DLL

但是,还是报错找不到 DLL
足球中国 2012-10-20
  • 打赏
  • 举报
回复
同一解决方案要用项目引用不能使用dll引用。

110,476

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧