2010-08-26 71 views
2

(这可能是一个明显的问题,但我不确定要问什么Bing/Google)使用存储在主程序不同文件夹中的参考库(dll)?

在VS2008(C#Winforms)项目中有许多第三方库被引用。该项目使用“Copy Local = True”,以便各种DLL文件最终与编译的应用程序位于同一文件夹中。

要清理东西,我想修改程序,使库全部在子文件夹下。

例如:

C:\ MyProgram \ - >主程序文件夹 C:\ MyProgram \库 - > DLL存储文件夹

我将如何做到这一点?

回答

6

执行此操作的最佳方法是将app.config文件添加到解决方案,并为每个子文件夹设置专用探测路径。然后,CLR将查找这些文件夹中的组件

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

文档

+0

当我重建出现错误的引用无法找到该应用程序搜索时。路径命名有什么特殊之处吗? – 2010-08-26 16:50:31

+0

@John M,不,它只需要匹配app.config中的名称。请注意,您不能使用此方法并删除所有装配参考。为了建设目的,它们仍然需要维护。 app.config文件仅用于部署场景。 – JaredPar 2010-08-26 16:55:32

相关问题