MSBuild-файлы .targets
MSBuild включает несколько .targets
файлов, содержащих элементы, свойства, целевые объекты и задачи для распространенных сценариев. Эти файлы автоматически импортируются в большинство файлов проекта Visual Studio для упрощения обслуживания и улучшения читаемости.
Проекты в стиле ПАКЕТА SDK (проекты с аналогичными) импортируют .targets
файлы по-разному по сравнению с <Project Sdk="Microsoft.NET.Sdk">
проектами, не ссылающимися на пакет SDK. Для проектов в стиле ПАКЕТА SDK не отображается импортированный .targets
файл в файле проекта, так как эти импорты управляются ссылкой на пакет SDK. Однако проекты в стиле SDK эквивалентны проектам, не относящихся к пакету SDK, с стандартными импортами до и после основного текста файла, поэтому они по-прежнему точны, чтобы сказать, что стандартные .targets
файлы импортируются в этих проектах.
Целевые объекты пакета SDK для .NET устанавливаются с помощью пакета SDK для .NET, например для C:\Program Files\dotnet\sdk\{version}\Sdks\Microsoft.NET.Sdk\targets\
Microsoft.NET.Sdk
Windows. Полный список пакетов SDK и импортируемых .targets
файлов см . в пакетах SDK для проекта .NET.
Проекты, которые не указывают пакет SDK, обычно явно импортируют один или несколько .targets
файлов для определения процесса сборки. Например, проекты C#, созданные более ранними версиями Visual Studio, импортируют Microsoft.CSharp.targets, импортируют Microsoft.Common.targets. Сам проект C# определяет элементы и свойства, относящиеся к проекту, но стандартные правила сборки для проекта C# определяются в импортированных .targets
файлах.
Значение $(MSBuildToolsPath)
указывает путь к этим общим .targets
файлам. Для проектов .NET обычно используется {Visual Studio installation folder}\MSBuild\Current\Bin\{architecture}
путь.
Примечание.
Дополнительные сведения о создании собственных целевых объектов см. в разделе Целевые объекты. Сведения об использовании элемента Import
для вставки файла проекта в другой файл проекта см. в разделах Элемент Import (MSBuild) и Практическое руководство. Использование одного и того же целевого объекта в нескольких файлах проектов.
Общие .targets
файлы
Файл TARGETS | Description |
---|---|
Microsoft.Common.targets | Определяет этапы стандартного процесса сборки для проектов Visual Basic и C#. Импортированы с помощью файлов Microsoft.CSharp.targets и Microsoft.VisualBasic.targets, которые включают в себя следующий оператор: <Import Project="Microsoft.Common.targets" /> |
Microsoft.CSharp.targets | Определяет этапы стандартного процесса сборки для проектов Visual C#. Импортированный файлами проекта Visual C# ( .csproj ). |
Microsoft.VisualBasic.targets | Определяет этапы стандартного процесса сборки для проектов Visual Basic. Импортированный файлами проекта Visual Basic ( .vbproj ). |
Если вы открываете и просматриваете файлы, они довольно тонкие оболочки вокруг других .targets
файлов, как правилоMicrosoft.{language}.CurrentVersion.targets
, или для сценариев перекрестного назначения. Microsoft.{language}.CrossTargeting.targets
Directory.Build.targets
Directory.Build.targets является определяемым пользователем файлом, который содержит настройки для проектов в каталоге. Этот файл автоматически импортируется из Microsoft.Common.targets, пока свойству ImportDirectoryBuildTargets не будет назначено значение false. Дополнительные сведения см. в статье Настройка сборки.