1,一个.net应用程序包括多个应用程序集,那么当应用程序运行时,CLR是如何找到它需要的程序集的?
2,通常当前应用程序集引用的程序集文件都会自动被复制到Bin目录下,如果我们希望将各种不同功能的程序集分类存放早自定义的文件夹下该怎么办?

解决方案 »

  1.   

    首先明确共享程序集和私有程序集的概念。像system.web这类核心程序集是打包在framework中的,装了framework后就会在系统路径下默认安装并注册,所有引用该类程序集的程序,clr都会找到对应的位置。当然你也可以将自己的dll注册为共享程序集,这样在以后的系统和版本中也不需要重复打包了,当然前提是每台机器都安装过你的这个共享程序集。
    程序集默认应该就是在bin目录下的
      

  2.   


        GAC我是知道的,既然说到GAC我又问一个问题,如何解决版本问题,比如说我在GAC中注册了一个MyLibrar.dll的1.0版本,现在我升级了这个程序集到了2.0版本,然后将2.0版本也注册到了GAC中,如何实现:
    1,将其他引用此程序集1.0版本的程序升级到2.0
    2,如果应用程序引用2.0失败,则还是引用原来的1.0版本关于您的回答,我可以明确说 我的要求完全可是实现。