我想呼吁的MSBuild上的.sln用后生成集结事件的MSBuild在Visual Studio的命令行
类似:
xcopy "$(TargetDir)$(TargetName)*" "C:\TEST\" /Y.
我能做到,在短短一个行? ?基本上我想有这样的东西:
msbuild Solution.sln xcopy "$(TargetDir)$(TargetName)" "C:\TEST\"
我该怎么做?
我想呼吁的MSBuild上的.sln用后生成集结事件的MSBuild在Visual Studio的命令行
类似:
xcopy "$(TargetDir)$(TargetName)*" "C:\TEST\" /Y.
我能做到,在短短一个行? ?基本上我想有这样的东西:
msbuild Solution.sln xcopy "$(TargetDir)$(TargetName)" "C:\TEST\"
我该怎么做?
您可以在正在构建的项目中添加一个后期构建事件来完成该副本。
编号添加后构建事件将是正在构建的项目文件的一部分。我不知道如何将一个副本添加到命令行的末尾。
您可以在正在构建的项目中添加一个后期构建事件来完成该副本。
您的发布后事件是namedconfiguration构建的一部分 - 因此它将作为项目/ config构建的一部分执行。
至少这是我从命令行运行MSBuild的经验。
也许我误解了你的问题。
或许,如果你解释你正在尝试做的,我们可以想出一个办法让解决 - 而不是试图去回答你的具体实施...
恕我直言,你最好编辑项目直接文件并将其添加到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为您提供了更多的灵活性和控制。
你不能这样做。没有办法指定要从命令行执行的任务。你唯一能做的就是指定目标。
您可以:
“Regular build”你是什么意思?对项目的任何msbuild调用(通过VS或cmd行)将执行AfterBuild目标。这种方法给你很好的控制。 – si618 2009-02-26 19:53:41