我正在尝试使用构建后构建事件在 .sln 上调用 msbuild
类似:
xcopy "$(TargetDir)$(TargetName)*" "C:\TEST\" /Y.
我可以只用一行来做吗?基本上我想要这样的东西:
msbuild Solution.sln xcopy "$(TargetDir)$(TargetName)" "C:\TEST\"
我怎样才能做到这一点?
恕我直言,您最好直接编辑项目文件并将其添加到 AfterBuild 目标中。下面是我们在发布版本上复制程序集 DLL、PDB 和 XML 文件的示例:
<Target Name="AfterBuild">
<CallTarget Targets="CopyFrameworkToTools"
Condition="'$(Configuration)' == 'Release'"/>
</Target>
<Target Name="CopyFrameworkToTools">
<CreateItem Include="$(OutputPath)$(AssemblyName).*">
<Output ItemName="ReleaseFiles" TaskParameter="Include" />
</CreateItem>
<Copy SourceFiles="@(ReleaseFiles)" DestinationFolder="..\Tools\" />
</Target>
您可以使用复制任务将其精简为一行,但我想表明,集成到 MSBuild 中可以为您提供更多灵活性和控制力。
你不能这样做。无法从命令行指定要执行的任务。您唯一能做的就是指定目标。
您可以:
您可以在正在构建的项目中添加构建后事件来执行复制。
您的构建后事件是命名配置构建的一部分 - 因此它将作为项目/配置构建的一部分执行。
至少这是我从命令行运行 MSBuild 的经验。
也许我误解了你的问题。
也许如果你解释一下你想要做什么,我们可以想出一种方法来解决这个问题 - 而不是试图回答你的具体实现......
不。添加构建后事件将成为正在构建的项目文件的一部分。我不知道如何将副本添加到命令行末尾。
您可以在正在构建的项目中添加构建后事件来执行复制。
我在休闲谷
Sandeep
扫描下面的条形码或使用上面的密码 支付状态 订单已拍下
Total 160