【问题标题】:Avoid copying Specific project Dll on Build [duplicate]避免在构建时复制特定项目 Dll [重复]
【发布时间】:2015-02-25 14:27:32
【问题描述】:

我正在使用 Visual Studio 2012。

我的应用程序的主项目中引用了 10 个项目。 现在这些项目 dll 在构建时会自动复制到“Debug”文件夹,但我希望其中一些在“Debug\Modules”中。

有什么方法可以停止在构建时复制任何特定 DLL 或将该特定 DLL 复制到另一个文件夹。

目前我正在将 DLL 从“Debug”文件夹复制到 Post Build 事件中的“Debug\Modules”。

可以用其他方法吗。

我不想要任何关于如何从不同文件夹中查看/加载的解决方案,而是一种在构建时将它们移动到不同文件夹中的方法。

【问题讨论】:

  • 考虑到Dynamic-Link Library Search Order,我怀疑这是可能的。
  • @BCdotWEB 您发布的文章是关于 Win32 DLL,而不是 .NET 程序集。
  • 你为什么要这样做?为 dll 使用特定文件夹与打包有关,而不是编译项目。 .NET 可以搜索自定义文件夹,但将 dll 放在那里是您的打包工具的工作。如果您想在 build setp 中执行此操作,您可以通过直接修改 .csproj 文件来更改引用的目标文件夹
  • 我的应用不是打包部署的。我们最初设置了一个版本,然后用于手动将 dll 替换到客户端机器上。

标签: c# visual-studio-2012 post-build-event


【解决方案1】:

如果你想将dll复制到另一个文件夹,你应该知道这是可能的,你可以这样做。

最简单的设置方法是使用构建后事件。一旦构建成功完成,它们就会运行,并且有一组方便的宏来访问常见的输出,比如编译的文件,非常容易

Read here。这就是它的来源。

希望对你有帮助

【讨论】:

  • 这是构建后的步骤,OP 已经在做的事情。 OP 在该步骤之前询问如何更改引用的目标文件夹。
猜你喜欢
  • 1970-01-01
  • 2020-01-02
  • 2020-10-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多