开发环境:Win10 VS2013。
一,新建一个类库Lib。
namespace Lib { public class Class1 { public int Add(int x,int y) { return x + y; } } }
二,新建一个WinForm,调用Lib.dll,正常运行。
三,在windows下将Lib.dll改成为Lib1.dll, WinForm引用LIb1.dll,运行异常。
四,新建类库Lib2,将程序集名称改成Lib,这样编译Lib2会生成Lib.dll。
五,WinForm项目删除旧引用,添加新引用Lib2项目生成的Lib.dll。
六,可能正常运行。
结论:
项目名不同,但程序集名称相同的dll,可以相互替换。
当然不能少函数、类、命名空间。