场景:
有工程A,B
工程A引用一个EntityFramework.dll及EntityFramework.SqlServer.dll动态库,
工程A中并没有代码有引用EntityFramework.SqlServer.dll动态库的任何资源或是代码, 只是工程A引用了这个dll
工程B引用了工程A.
在编译完成工程B之后,发现,工程B的程序集目录下并没有Entityframework.SqlServer.dll的动态库文件,
原因:
MSBuild会根据你动态库中代码都引用了那些Dll(如果工程引用了,或是代码中并没有引用,也是不行的),而自动加载, 并且递归的加载
如果是用反射的方法的话,也是不会被加载的
如果你的工程A是用了反射的话,那么你最好用别的方法来解决这个间接引用的问题
参考:http://www.cnblogs.com/duwanzhi/archive/2011/09/05/2166884.html