这是设置程序如何查找所用程序集的配置节声明。
www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/misbasicinstincts.mspx

解决方案 »

  1.   

    就是说程序查找一个程序集,先是做为公用程序集到gac(还有其他部署公用程序集的方式)去找,
    找不到,就做为私有程序集去找。这个顺序是:
    假设程序集名称是MyLibrary.dll,程序目录是x:\bin
    x:\bin\MyLibrary.dll 
    x:\bin\MyLibrary\MyLibrary.dll 
    x:\bin\MyLibrary.exe 
    x:\bin\MyLibrary\MyLibrary.exe 
    要改变这个顺序呢,必须向应用程序配置文件中添加<probing>元素,以便为 CLR 提供线索。
    例如这样:
    <configuration> 
      <runtime> 
         <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
          <probing privatePath="MyAssemblies"/> 
        </assemblyBinding> 
      </runtime> 
    </configuration> 
    则查找顺序变成:
    x:\bin\MyLibrary.DLL 
    x:\bin\MyLibrary\MyLibrary.DLL 
    x:\bin\MyAssemblies\MyLibrary.DLL 
    x:\bin\MyAssemblies\MyLibrary\MyLibrary.DLL 
    x:\bin\MyLibrary.EXE 
    x:\bin\MyLibrary\MyLibrary.EXE 
    x:\bin\MyAssemblies\MyLibrary.EXE 
    x:\bin\MyAssemblies\MyLibrary\MyLibrary.EXE 
    知道了这个顺序,再看为什么找不到dll.
      

  2.   

    这个配置文件是在工程里面添加app.config,编译之后根据app.config的内容自动替你生成xxx.exe.config。