MSBuild .targets files
MSBuild includes several .targets files that contain items, properties, targets, and tasks for common scenarios. These files are automatically imported into most Visual Studio project files to simplify maintenance and readability.
Projects typically import one or more .targets files to define their build process. For example a Visual C# project created by Visual Studio will import Microsoft.CSharp.targets which imports Microsoft.Common.targets. The Visual C# project itself will define the items and properties specific to that project, but the standard build rules for a Visual C# project are defined in the imported .targets files.
$(MSBuildToolsPath) value specifies the path of these common .targets files. If the
ToolsVersion is 4.0, the files are in the following location: <WindowsInstallationPath>\Microsoft.NET\Framework\v4.0.30319\
For information about how to create your own targets, see Targets. For information about how to use the
Import element to insert a project file into another project file, see Import element (MSBuild) and How to: Use the same target in multiple project files.
Common .targets files
|Microsoft.Common.targets||Defines the steps in the standard build process for Visual Basic and Visual C# projects.
Imported by the Microsoft.CSharp.targets and Microsoft.VisualBasic.targets files, which include the following statement:
|Microsoft.CSharp.targets||Defines the steps in the standard build process for Visual C# projects.
Imported by Visual C# project files (.csproj), which include the following statement:
|Microsoft.VisualBasic.targets||Defines the steps in the standard build process for Visual Basic projects.
Imported by Visual Basic project files (.vbproj), which include the following statement:
Directory.Build.targets is a user-defined file that provides customizations to projects under a directory. This file is automatically imported from Microsoft.Common.targets unless the property ImportDirectoryBuildTargets is set to false.