构建后复制命令不起作用 (.vbproj)

Posted

技术标签:

【中文标题】构建后复制命令不起作用 (.vbproj)【英文标题】:Post-Build copy command not working (.vbproj) 【发布时间】:2021-12-27 03:34:31 【问题描述】:

我正在尝试使用构建后放置在 \obj\Release\Protected 中的受保护 .exe 覆盖 obj\Release .exe。我正在使用的代码如下,它位于环境的最末端,紧邻</Project> 之前。但是,由于某种原因,.exe 没有被复制。

我是否需要从项目属性-->编译-->发布构建事件中尝试这个?

<ItemGroup>
    <MyProjectOutput Include="d:\myproject\obj\Release\Protected\myapp.exe"/>
</ItemGroup>
<Target Name="CopyFiles">
    <Copy SourceFiles="@(MyProjectOuput)" DestinationFolder="d:\myproject\obj\Release" />
</Target>

【问题讨论】:

“输出”拼写错误。 【参考方案1】:

仅在项目文件中包含目标是不够的。它必须被适当地设置,以便它被构建序列拾取。将其命名为“CopyFiles”将无法做到这一点。

有一些众所周知的目标名称被称为构建序列的一部分(您应该能够找到关于此的 MSDN 文档)。我相信“AfterBuild”就是其中之一。所以你的目标应该是这样的:

<Target Name="AfterBuild">
    <Copy SourceFiles="@(MyProjectOuput)" DestinationFolder="d:\myproject\obj\Release" />
</Target>

您可能还想考虑在目标上添加InputsOutputs 属性以帮助进行依赖分析,并且您可能还想考虑添加BeforeCleanAfterClean 目标来清理后复制文件。

【讨论】:

以上是关于构建后复制命令不起作用 (.vbproj)的主要内容,如果未能解决你的问题,请参考以下文章

为啥 webpack 构建后我的 react-routing 不起作用?

成功安装vagrant后 vagrant up命令不起作用为啥

发布在构建定义 VS2012 中不起作用

为啥这个 bash expr 命令不起作用? [复制]

touch 命令不起作用,我应该改用啥? [复制]

为什么webpack构建后我的react-routing不起作用?