如何在MSBUILD中执行任务?

时间:2010-07-28 21:00:51

标签: msbuild build-automation

我正试图围绕MSBuild。

到目前为止,我有一个非常简单的脚本执行以下操作:

构建解决方案并将其放置在我的放置位置。

我创建了一个<Target>,其中我想复制文件并从我的源代码管理位置删除它们,并将它们放在放置位置。

最终,脚本必须创建文件夹等。现在我只想复制一个文件,看看它是如何工作的。

解决方案构建并放置在放置位置但不复制任何文件。构建日志没有提到这个Target正在运行。

我错过了什么?

 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
  <Target Name="Build">
    <Message Text="Building msbuildintro" />    
  </Target>

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />

  <ProjectExtensions>    
    <ProjectFileVersion>2</ProjectFileVersion>  
    <Description></Description>   
    <BuildMachine>hw-tfs-build02</BuildMachine>
  </ProjectExtensions>

  <PropertyGroup>   
    /* Properties here*/
  </PropertyGroup>

  <ItemGroup>
    <SolutionToBuild Include="$(BuildProjectFolderPath)/HostASPX/mySolution.sln">
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>

    <CommonFiles Include="$(SolutionRoot)\trunk\folder\Common\Shared\js\somefile.js"></CommonFiles>
  </ItemGroup>

  <ItemGroup>    
    <ConfigurationToBuild Include="Release|Any CPU">
      <FlavorToBuild>Release</FlavorToBuild>
      <PlatformToBuild>Any CPU</PlatformToBuild>
    </ConfigurationToBuild>    
  </ItemGroup>


    <Target Name="CopyCommonData">       
      <Message Text="Copy Common Data" />      
      <Copy SourceFiles="@(CommonFiles)"
            DestinationFiles="$(DropLocation)\Common\somefile.js" /> 
    </Target>  


</Project>

谢谢!

1 个答案:

答案 0 :(得分:0)

OH我明白了......目标名称不是'弥补'。它们必须是此处的特定目标名称:

http://msdn.microsoft.com/en-us/library/aa337604.aspx