读书人

无法将A.dll复制到运行目录。进程无法

发布时间: 2014-01-28 21:17:53 作者: rapoo

本人用classlibrary做了一个FORM类(设为A),在另一个classlibrary中继承于这个FORM生成另一个FORM(设为B),
也就是说B 继承于A,B所在的项目引用了A的DLL,现在我每次在A中做一个修改,生成都报错,说'无法将A.dll复制到运行目录。进程无法访问文件,因为另一个程序正在使用此文件',将B中的对A的引用删除之后再运行,就没错了,但这样翻来覆去很麻烦呀,大家帮我看看这是什么原因,如何解决?



------解决方法--------------------------------------------------------
试试使用项目引用
------解决方法--------------------------------------------------------
是编译的版本号不同造成的,你可以 解决方法管理器->显示所有文件
然后再隐藏的bin文件夹里把你要引用的dll文件删除,然后重新编译就好。
在多人进行开发使用vss进行管理时,注意所有人的本地副本保存位置最好都一样,否则也会出现这种版本不同导致出错的结果。
------解决方法--------------------------------------------------------
引用 目标文件

别 引用 做DLL的工程呀
------解决方法--------------------------------------------------------
你把这两个项目加入到统一解决方法中试一下,或者将A项目的生成路径改为B项目的生成路径下,这个样子B可以自动引用最新的dll了。
------解决方法--------------------------------------------------------
修改程序集配置文件,把版本修改尤1。0。0。* 到,1.0.0.1让版本统一版本好!
------解决方法--------------------------------------------------------
这是交叉更新导致的问题。
一个简单的例子:自己引用自己,就会出你说的那个错误,
因为在编译时,首先要找到引用的组件,但此时,该组件又会被编译器试图更新,

在你的例子中,由于继承是源码一级的,而你又对它进行了引用(字节码一级)。。。。

        

读书人网 >.NET

热点推荐