【问题标题】:Can Visual Studio 2010 automatically copy a compiled file to another directory?Visual Studio 2010 可以自动将编译后的文件复制到另一个目录吗?
【发布时间】:2023-03-06 00:08:02
【问题描述】:

我有两个项目,一个是编译成 EXE 的 VB6 项目,一个是编译成 DLL 的 MSVC++2010 项目。 DLL 需要与 EXE 文件位于同一文件夹中才能工作。编译后能否让Visual Studio 2010自动将编译好的DLL复制到VB6项目文件夹中?

【问题讨论】:

    标签: visual-studio visual-studio-2010 copy compilation


    【解决方案1】:

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

    例如。下面是编译DLL/EXE到c:\temp的步骤@

    • 右键单击项目并选择“属性”
    • 单击构建事件选项卡
    • 将以下行添加到“构建后”框中:copy "$(TargetPath)" c:\temp

    在上面的$(TargetPath) 是构建任务的主要输出的宏:通常是EXE 或DLL 文件。如果您单击“Edit Post Build”按钮,那么您可以看到支持的宏的完整列表。

    【讨论】:

    • 一次复制多个文件:xcopy /s /y "c:\source" "d\target"。但是在使用宏时遇到了困难。
    • 如果你的 $(TargetPath) 中有空格,你需要使用引号。我只是花了 10 分钟才弄清楚这一点。 [copy "$(TargetPath)" c:\temp] @JaredPar 你介意更新吗?我希望避免编辑 99% 完美的现有已接受答案。
    • 我遇到了同样的问题,没有引号。所以我继续编辑答案。
    【解决方案2】:

    我相信你要的是Post Build Events

    我相信你想做什么的例子可以在here找到

    【讨论】:

      【解决方案3】:

      您在寻找项目 > 配置属性 > 构建事件 > 构建后事件吗?使用类似copy <dllpath> <dest>的命令行

      【讨论】:

        【解决方案4】:

        Visual Studio 具有构建前和构建后事件,您可以使用它们来完成您想做的事情。

        只需转到项目:“项目名称”属性,您应该会看到一个名为构建事件的选项卡。在那里你应该能够创建宏来为你做这件事。

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-15
          • 2017-11-18
          相关资源
          最近更新 更多