【问题标题】:How to place several DLL in separate folder during the build in Visual Studio在 Visual Studio 中构建期间如何将多个 DLL 放置在单独的文件夹中
【发布时间】:2013-03-17 11:09:05
【问题描述】:

我有一个 Window Forms C# 项目,其中包含一些外部引用以及对同一解决方案中其他类库项目的引用。

当我构建窗口窗体项目时,我希望将引用的库存储在不同的位置(例如:bin\Release\Libraries),而不是与 .exe 位于同一文件夹中.

可以吗?

这个问题已经在 2 年前出现了,但没有足够的答案:How to save DLLs in a different folder when compiling in Visual Studio?

我需要在构建过程中将几个第三方程序集放入单独的文件夹中。如果我要更改构建路径,它将把所有程序集都放在那里,而这不是我想要的

【问题讨论】:

  • 徘徊所以我发现了你的问题。我answered here,这是唯一对我来说完美的解决方案。

标签: .net visual-studio-2010 build directory


【解决方案1】:

您可以向项目添加构建后事件,将第三方 DLL 从输出文件夹 bin\Release 移动到子文件夹。

右键单击项目,选择属性,然后选择构建事件

【讨论】:

  • 我试过这个副本 /Y "$(TargetDir)cairo).dll" "$(SolutionDir)lib\cairo.dll" 但我退出时出现代码 1 错误,而 cairo.dll 是肯定存在
  • 看起来不对。尝试删除cairo:copy /Y "$(TargetDir)cairo.dll" "$(SolutionDir)lib\cairo.dll 之后的括号。此外,确保文件夹lib 确实存在于$(SolutionDir) 中。实际上,根据您的问题,我认为应该改为$(TargetDir)
  • 除此之外,我可能还有一些愚蠢的问题,但是如何更新引用和路径。因为当我添加对特定 dll 的引用时,它会自动复制到构建路径中,我想将其移至在构建后事件中复制其他必要 dll 的文件夹
  • 我找到了解决方案,我需要做的就是构建后移动创建的程序集,然后将程序添加到 congif 文件中,该程序应该查看特定的子目录。 stackoverflow.com/questions/2445556/…
【解决方案2】:

在 Visual Studio 中的项目中添加构建后事件,将所需的 DLL 复制到相关位置。

然后您将需要更新您的引用并可能设置一个 PATH 变量以确保项目知道它们的位置

【讨论】:

    猜你喜欢
    • 2011-06-13
    • 2018-12-15
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    相关资源
    最近更新 更多