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下。