MSBuild笔记2-Task、Target


参考:
https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild-task-reference?view=vs-2019

Task(任务)

CallTarget 任务

调用项目文件中的指定目标。

    
        
    
    
		
        
    

CombinePath 任务

将指定路径合并到单个路径。

	 
	   d:\Release
	 
	 
	   
	 
	 
	   
		 
	   
	   
	 

生成目录:
D:\Release\en-us
D:\Release\fr-fr

ConvertToAbsolutePath 任务

将相对路径或引用转换为绝对路径。

	 
	   
		 
	   
	   
	 

Copy 任务

将文件复制到文件系统的一个新位置。
案例1:

    
        
    

案例2:以下示例演示如何执行递归复制。 此项目以递归方式将所有文件从 c:\MySourceTree 复制到 c:\MyDestinationTree,同时保留目录结构

    
        
    

    
        
    

CreateItem 任务

创建Item

 
        
    

    
        
           
        
		
    

CreateProperty 任务

创建新属性,使用传入的值填充属性。

 
        Module1
        vb
    

    
        
            
        
		
    

Csc 任务

包装 csc.exe,生成可执行 (.exe) 文件、动态链接库(.dll 文件)或者代码模块(.netmodule 文件) 。
Demo:
先写如下CS代码,存为d:\MSBuildDemo.cs

public class MSBuildDemo
 {
     static void Main()
     {
         System.Console.WriteLine("MSBuild组织编译");
     }
 }

项目文件:

<?xml version="1.0" encoding="utf-8"?>
  
    
      
      
    
    
      
      
     
     
       
       
       
       
     

     
     
     
     
     
     
   
 

Delete 任务

删除指定的文件。

    
        
    

DownloadFile 任务

使用超文本传输协议 (HTTP) 下载指定文件。

Error 任务

基于评估的条件语句,停止生成操作并记录错误。如果 Condition 参数评估为 true,将停止生成,并记录一个错误。 如果 Condition 参数不存在,将记录错误并停止执行生成。


    
        
        
    

Exec 任务

运行指定程序或命令。

    
        
    

FindAppConfigFile 任务
FindInList 任务
FindUnderPath 任务
FormatUrl 任务
FormatVersion 任务
GenerateApplicationManifest 任务
GenerateBootstrapper 任务
GenerateDeploymentManifest 任务
GenerateResource 任务
GenerateTrustInfo 任务
GetAssemblyIdentity 任务
GetFileHash 任务
GetFrameworkPath 任务
GetFrameworkSdkPath 任务
GetReferenceAssemblyPaths 任务
LC 任务
MakeDir 任务
Message 任务
Move 任务
MSBuild 任务
ReadLinesFromFile 任务
RegisterAssembly 任务
RemoveDir 任务
RemoveDuplicates 任务
RequiresFramework35SP1Assembly 任务
ResolveAssemblyReference 任务
ResolveComReference 任务
ResolveKeySource 任务
ResolveManifestFiles 任务
ResolveNativeReference 任务
ResolveNonMSBuildProjectOutput 任务
SGen 任务
SignFile 任务
Touch 任务
UnregisterAssembly 任务
Unzip 任务
UpdateManifest 任务
Vbc 任务
VerifyFileHash 任务
Warning 任务
WriteCodeFragment 任务
WriteLinesToFile 任务
XmlPeek 任务
XmlPoke 任务
XslTransformation 任务

MakeDir、RemoveDir

   
    
        
    
    
        
    
 

DependsOnTargets属性:这个属性会告诉MSBuild,每次执行当前任务之前先执行指定任务。

Target元素

在Project根元素中使用DefaultTargets特性来指定默认目标,可以包含一个或多个Target
也可以通过命令行传递参数 MSBuild.exe app1.csproj /target:Build1,Build2

相关