如何将dll复制到lib文件夹和exe文件到bin文件夹并使其仍然有效?

时间:2012-10-26 14:10:54

标签: visual-studio-2010

理想情况下,我们希望我们的自动构建(使用jenkins调用现在调用msbuild的build.bat)最终得到带有这些文件夹的zip文件

  • product / bin - 包含启动程序的exe文件
  • product / lib - 包含exe
  • 所需的dll文件
  • product / conf - 包含配置文件

如何让Visual Studio将所有文件放在正确的位置,以便exe仍然可以正常工作,因为dll似乎必须在同一个文件夹中才能工作:( :(。和我不希望在GAC中安装dll。我只想要上面的结构,以便用户可以立即解压缩并运行程序。

当我在调试模式下运行时以及在Visual Studio外部运行构建时,我希望这可以在visual studio中工作(如果必须的话,我可以在build.bat中轻松添加所有内容)。< / p>

感谢, 院长

2 个答案:

答案 0 :(得分:1)

您需要处理AppDomain.AssemblyResolve事件并使用Assembly.Load目录的路径调用lib

请注意,必须在JITting任何使用您需要加载的程序集中的类型的方法或类之前添加处理程序。

答案 1 :(得分:0)

您可以在app.config文件中使用“探测” https://msdn.microsoft.com/en-us/library/823z9h8w(v=vs.110).aspx
我刚试过它,它确实有效。