Visual Studio:用于发布的DLL位置

时间:2010-08-24 21:15:39

标签: visual-studio dll release

我有一个我正在研究的项目,它引用了“公共库(DLL)”。在DevEnv中它工作正常,但是如果我构建并尝试组织我的文件它不起作用。基本上如果我有这样的设置:

  • C:\ Program Files \ MyApp \ MyApp.exe
  • C:\ Program Files \ MyApp \ Common \ WPF Commons.dll
  • C:\ Program Files \ MyApp \ Modules \ SomeModule.dll

MyApp.exe不起作用。它尝试仅查看DLL文件的当前目录。那么我如何在Visual Studio中进行设置,以便在构建应用程序时知道在其他文件夹中查找DLL?

哦,我意识到它确实在Dev中工作,因为所有的DLL都放在同一个文件夹中。我不想为了发布而这样做: - /

1 个答案:

答案 0 :(得分:3)

您需要做的是将私有探测路径添加到应用程序配置文件中。这告诉CLR要查找哪些目录以获取额外的程序集。

示例app.config

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