日期:2014-05-18  浏览次数:21018 次

VS中,关于解决方案的疑问
我用的语言是C#,比如有如下解决方案
Abc解决方案
  ---项目1(输出为类库:a.dll)
  ---项目2(输出为窗口程序:b.exe,且引用a.dll中的类)
  ---项目3

我还不懂部署技术,我有各疑惑,当引用项目1后,在VS里b.exe程序可以正常运行
  问题1,那我是否要在项目2中编码加载a.dll的逻辑呢,不然发布b.exe后再运行时,他怎么调用项目1里的类呢,还是部署时将a.dll放在b.exe相同目录呢
  问题2,如果在VS中引用后,程序运行时就能自动加载主程序要的程序集,那什么情况下要自己编码动态加载别的程序集呢

------解决方案--------------------
使用配置文件配置程序集搜索路径,包括搜索子目录,这样就可以 文件夹归类.
------解决方案--------------------
ls说了,你可以配置程序在别的目录中搜索程序集。但是无论是哪一种方式,很明显,程序集的位置必须是明确的,要么是开发者指定,要么是系统默认,要么是用户指定。没有一种方法,可以让程序漫无边际地乱找。

“引用”和反射的区别在于,前者是在编译期将程序和程序集连在一起,后者是运行时加载,反射就不需要引用了。