C#生成目录

  在使用C#时,特别是做项目时,有时不会关注生成结果的目录结构的管理。但这样随着动态链接库的增多,文件夹中的文件数量会急剧增加。毕竟许多产品级的软件的清晰的目录是我们追求的目标。

  通过以下简单的几步我们也可轻易做到。

示例目录:

Output

  - bin

    - A.dll

    - B.dll

  - lib

  - Project.exe

  - Project.exe.config

1. 首先修改解决方案中动态链接库生成输出路径,至 bin 目录下;

2. 在添加引用时需要在bin目录下查找引用,而不要直接引用项目。添加万引用后,将引用的属性中的“复制本地”修改为 False

 

3. 在Project.exe.config (即解决方案中的App.config) 添加 runtime

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <probing privatePath="./bin;./lib"/>  
      </assemblyBinding>  
   </runtime>  
</configuration> 

 此时即可正常编译调试了。

probing 的本意是探查,即运行时应搜索程序集所在目录

4. 可能出现的异常

  System.IO.FileNotFoundException:“未能加载文件或程序集“XXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。”

这是由于为将XXX的生成的输入设置到bin下。

 

posted @ 2019-11-14 10:51  神棍二叔  阅读(824)  评论(0编辑  收藏  举报