你的位置:首页 > ASP.net教程

[ASP.net教程]C#开发模式——dll多级引用的问题


  C#解决方案里有两种引用方式,项目引用和dll物理文件引用。

一、项目引用

  严格引用,项目文件需包含在解决方案里,好处是便于调试,可直接进入代码。缺点是耦合度太高(必须全部编译通过才能run起来),项目太大的话编译麻烦,不利于部署升级和测试。因为是严格引用,单独替换dll是不起作用的。而且每次升级程序都要重新编译、打包、卸载、安装,相当麻烦。

二、dll物理文件引用

  松散引用,引用的是dll物理文件,dll项目包不包含在解决方案里都无所谓(一般是包含的),好处是不必全部重新编译,哪里修改编译哪里,但是前提是dll文件必须放在引用者的路径里,否则会造成编译不更新的问题。缺点是不利于调试,因为对于经验不足的人、或者刚接手的新人,不清楚程序架构,而此法的调试时不会自动进入代码段的,必须附加进程调试,提前去dll代码里打断点才会进入。此方法适用大型程序,局部编译,利于升级、测试,部署简易(不必打包,或者可以自己制作打包程序,因为只需要单纯的复制物理文件而已)。
 
  不管是哪种引用,都会在引用者的路径下面生成被引用的dll,不同的是,项目引用会保持同步更新,而dll物理引用不会更新引用者路径下的dll,除非自己本身的生成路径就是引用者的路径(或者清理下或者重新生成引用者,但这不推荐,一般把生成路径指定到引用者路径)。