.Targets File is automatically imported into VS project file to simplify maintenace and readability.
It's very useful when you need change the reference binaries path frequently.
The following is a template file.
XXX.targets
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<XXXLibraryHome>XXX/Libraries</XXXLibraryHome>
<!-- Core References -->
<CoreHome>$(XXXLibraryHome)/Core</CoreHome>
<CoreVersion>qa/1.6.0</CoreVersion>
<CoreType>Release</CoreType>
<CoreLibraryHome>$(CoreHome)/$(CoreVersion)/$(CoreType)</CoreLibraryHome>
</PropertyGroup>
</Project>
In order to switch to use different .targets file, you can define a file like below
LoadXXX.targets
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="XXX.targets.local"
Condition="Exists('XXX.targets.local')"/>
<Import Project="XXX.targets"
Condition="!Exists('XXX.targets.local')"/>
</Project>
How to use the .targets file in our VS project ?
1. Create the XXX.targets and LoadXXX.targets files following template above
2. Import LoadXXX.targets in project file.
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="XXX/LoadXXXtargets" />
...
</Project>
MSDN Link: http://msdn.microsoft.com/en-us/library/ms164312.aspx