我正在尝试使用post build build-event
在.sln上调用msbuild类似的东西:
xcopy "$(TargetDir)$(TargetName)*" "C:\TEST\" /Y.
我能在一行中做到吗???基本上我想要有类似的东西:
msbuild Solution.sln xcopy "$(TargetDir)$(TargetName)" "C:\TEST\"
我该怎么做?
答案 0 :(得分:3)
恕我直言,你最好直接编辑项目文件并将其添加到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可以为您提供更多的灵活性和控制。
答案 1 :(得分:1)
你不能这样做。无法从命令行指定要执行的任务。你唯一能做的就是指定目标。
你可以:
答案 2 :(得分:0)
您可以在正在构建的项目中添加一个post build事件,该事件将进行复制。
答案 3 :(得分:0)
没有。添加post build事件将是正在构建的项目文件的一部分。我不知道如何将一个副本添加到命令行的末尾。
您可以在正在构建的项目中添加一个post build事件,该事件将进行复制。
答案 4 :(得分:0)
您的post build事件是namedconfiguration构建的一部分 - 因此它将作为project / config构建的一部分执行。
至少那是我从命令行运行MSBuild的经验。
也许我误解了你的问题。
也许如果你解释一下你想要做什么,我们可以想出办法解决问题 - 而不是试图回答你的具体实施......