Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否使用与主程序存储在不同文件夹中的引用库(dll)?_C#_Visual Studio 2008_Shared Libraries_External - Fatal编程技术网

C# 是否使用与主程序存储在不同文件夹中的引用库(dll)?

C# 是否使用与主程序存储在不同文件夹中的引用库(dll)?,c#,visual-studio-2008,shared-libraries,external,C#,Visual Studio 2008,Shared Libraries,External,(这可能是一个显而易见的问题,但我不确定该问Bing/谷歌什么) 在VS2008(C#Winforms)项目中,有许多被引用的第三方库。该项目使用“Copy Local=True”,以便各种DLL文件最终与已编译的应用程序位于同一文件夹中 为了清理问题,我想修改程序,使库都在一个子文件夹下 例如: C:\MyProgram\->主程序文件夹 C:\MyProgram\Libraries->DLL存储文件夹 如何执行此操作?执行此操作的最佳方法是将app.config文件添加到解决方案中,并为每个

(这可能是一个显而易见的问题,但我不确定该问Bing/谷歌什么)

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

为了清理问题,我想修改程序,使库都在一个子文件夹下

例如:

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


如何执行此操作?

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

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



重建应用程序时,出现无法找到引用的错误。路径命名有什么特别需要做的吗?@John M,没有,它只需要匹配app.config中的名称。注意,不能使用此方法删除所有程序集引用。它们仍然需要维护,以便进行建筑。app.config文件只是在部署场景中有所帮助。我认为这只适用于托管程序集。它不适用于本机/非托管DLL。