Použití sad SDK projektu NÁSTROJE MSBuild
MSBuild 15.0 zavedl koncept sady SDK projektu, která zjednodušuje použití sad SDK pro vývoj softwaru, které vyžadují import vlastností a cílů.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
</Project>
Během vyhodnocení projektu přidá nástroj MSBuild implicitní importy v horní a dolní části souboru projektu:
<Project>
<!-- Implicit top import -->
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
<!-- Implicit bottom import -->
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>
Odkaz na sadu SDK projektu
Existují tři způsoby, jak odkazovat na sadu SDK projektu:
Sdk
Použití atributu v elementu <Project/>
<Project Sdk="My.Custom.Sdk">
...
</Project>
Implicitní import se přidá do horní a dolní části projektu, jak je popsáno dříve.
Pokud chcete zadat konkrétní verzi sady SDK, připojte ji k atributu Sdk
:
<Project Sdk="My.Custom.Sdk/1.2.3">
...
</Project>
Použití elementu nejvyšší úrovně <Sdk/>
<Project>
<Sdk Name="My.Custom.Sdk" Version="1.2.3" />
...
</Project>
Implicitní import se přidá do horní a dolní části projektu, jak je popsáno dříve.
Atribut Version
není povinný.
Použití elementu <Import/>
kdekoli v projektu
<Project>
<PropertyGroup>
<MyProperty>Value</MyProperty>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="My.Custom.Sdk" />
...
<Import Project="Sdk.targets" Sdk="My.Custom.Sdk" />
</Project>
Explicitní zahrnutí importů do projektu umožňuje úplnou kontrolu nad pořadím.
Při použití elementu <Import/>
můžete také zadat volitelný Version
atribut. Můžete například zadat <Import Project="Sdk.props" Sdk="My.Custom.Sdk" Version="1.2.3" />
.
Upozorňující
Pokud měníte projekt tak, aby používal <Import/>
elementy, nezapomeňte přidat oba .props
i .targets
importy a odebrat sadu SDK z elementu <Project/>
a <Sdk/>
elementů. Pokud to neuděláte, bude výsledkem dvojité importy a MSB4011
upozornění.
Jak se řeší sady SDK projektu
Při vyhodnocování importu nástroj MSBuild dynamicky překládá cestu k sadě SDK projektu na základě zadaného názvu a verze. Nástroj MSBuild obsahuje také seznam registrovaných překladačů sdk, což jsou moduly plug-in, které na vašem počítači vyhlašují sady SDK projektu. Mezi tyto moduly plug-in patří:
Překladač založený na NuGetu, který se dotazuje na nakonfigurované kanály balíčků NuGet pro balíčky NuGet, které odpovídají ID a verzi sady SDK, kterou jste zadali.
Tento překladač je aktivní pouze v případě, že jste zadali volitelnou verzi. Dá se použít pro libovolnou vlastní sadu SDK projektu.
Překladač sady .NET SDK, který překládá sady SDK NÁSTROJE MSBuild, které jsou nainstalovány se sadou .NET SDK.
Tento překladač vyhledá sady SDK projektu, například
Microsoft.NET.Sdk
aMicrosoft.NET.Sdk.Web
které jsou součástí produktu.Výchozí překladač, který řeší sady SDK nainstalované pomocí nástroje MSBuild.
Překladač sady SDK založený na NuGetu podporuje zadání verze v souboru global.json , která umožňuje řídit verzi sady SDK projektu na jednom místě, nikoli v každém jednotlivém projektu:
{
"msbuild-sdks": {
"My.Custom.Sdk": "5.0.0",
"My.Other.Sdk": "1.0.0-beta"
}
}
Během sestavení lze použít pouze jednu verzi každé sady SDK projektu. Pokud odkazujete na dvě různé verze stejné sady SDK projektu, nástroj MSBuild vygeneruje upozornění. Pokud je verze zadaná v souboru global.json, doporučujeme ve svých projektech nezadávat verzi.
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro