Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Model nasazení závislý na rozhraní byl od vzniku rozhraní .NET nejúspěšnějším modelem nasazení. V tomto scénáři vývojář aplikace zahrne pouze aplikaci a sestavení třetích stran s očekáváním, že běhové prostředí .NET a knihovny běhového prostředí budou k dispozici na straně klienta. Tento model nasazení je stále dominantním modelem v nejnovější verzi .NET, ale existují některé scénáře, kdy model závislý na rozhraní není nejlepší volbou. Alternativou je publikování samostatné aplikace, ve které jsou modul runtime .NET a knihovny runtime zahrnuty společně s aplikací a sestaveními třetích stran.
Model nasazení Trim-self-contained je specializovanou verzí samostatného modelu nasazení, která je optimalizována pro zmenšení velikosti nasazení. Minimalizace velikosti nasazení je kritickým požadavkem pro některé scénáře na straně klienta, jako jsou aplikace Blazor. V závislosti na složitosti aplikace se odkazuje pouze na podmnožinu sestavení architektury a ke spuštění aplikace se vyžaduje podmnožina kódu v rámci každého sestavení. Nepoužité části knihoven jsou zbytečné a je možné je z zabalené aplikace oříznout.
Existuje však riziko, že analýza doby sestavení aplikace může způsobit selhání za běhu, protože nedokáže spolehlivě analyzovat různé problematické vzory kódu (z velké části se soustředí na použití reflexe). Pro zmírnění těchto problémů se generují varování, kdykoli trimmer nemůže plně analyzovat vzor kódu. Informace o tom, co znamenají varování o trimování a jak je vyřešit, najdete v tématu Oprava varování o trimování. Informace o tom, jak oříznutí funguje a proč určité vzory způsobují upozornění, najdete v tématu Vysvětlení analýzy oříznutí.
Poznámka:
- Oříznutí je plně podporováno v .NET 6 a novějších verzích. V .NET Core 3.1 a .NET 5 bylo oříznutí experimentální funkcí.
- Oříznutí je dostupné jenom pro aplikace, které jsou publikované samostatně.
Komponenty, které způsobují problémy s oříznutím
Upozornění
Ne všechny typy projektů je možné oříznout. Další informace naleznete v části Známé nekompatibility s oříznutím.
Jakýkoli kód, který způsobuje obtíže při analýze během sestavování, není vhodný pro prořezávání. Některé běžné vzory kódování, které jsou problematické při použití aplikací, pocházejí z nevázaného použití reflexe a externích závislostí, které nejsou viditelné v době sestavení. Příkladem neohraničené reflexe je starší serializátor, například XML serializace, a příkladem neviditelných externích závislostí je vestavěný COM. Pokud chcete vyřešit upozornění oříznutí ve vaší aplikaci, přečtěte si téma Oprava upozornění oříznutí. Pro zajištění kompatibility vaší knihovny s oříznutím viz Příprava knihoven .NET na oříznutí.
Povolení oříznutí
Přidejte
<PublishTrimmed>true</PublishTrimmed>do souboru projektu.Tato vlastnost vytvoří oříznutou aplikaci při samostatném publikování. Vypne také funkce neslučitelné s trimováním a zobrazí během sestavování upozornění na kompatibilitu trimu.
<PropertyGroup> <PublishTrimmed>true</PublishTrimmed> </PropertyGroup>Pak aplikaci publikujte pomocí příkazu dotnet publish nebo sady Visual Studio.
Publikování pomocí rozhraní příkazového řádku
Následující příklad distribuuje aplikaci pro Windows jako minimalistickou samostatnou aplikaci.
dotnet publish -r win-x64
Oříznutí je podporováno pouze u nezávislých aplikací.
<PublishTrimmed> by měl být nastaven v souboru projektu tak, aby během dotnet build byly zakázány funkce neslučitelné s ořezáním. Tuto možnost ale můžete nastavit také jako argument na dotnet publish:
dotnet publish -r win-x64 -p:PublishTrimmed=true
Další informace najdete v tématu Přehled publikování aplikací .NET.
Publikování pomocí sady Visual Studio
V Průzkumníku řešeníklikněte pravým tlačítkem na projekt, který chcete publikovat, a vyberte Vlastnosti.
Zvolte Sestavte>Publikujte.
Vyberte Publikovat oříznutou verzi k publikaci vaší oříznuté aplikace.
Další informace najdete v tématu Přehled publikování aplikací .NET.
Další kroky
Po povolení zastřihování se mohou během sestavování objevit upozornění na zastřihování. Pokud chcete porozumět a vyřešit je, postupujte podle těchto příruček:
- Pochopení analýzy trimru – Zjistěte, jak funguje trimr a proč určité vzory kódu generují upozornění. Tento koncepční průvodce vysvětluje základní principy trim analýzy.
- Řešení varování ořezu – podrobné pracovní postupy pro vyřešení varování ořezu v kódu
- Připravte knihovny na upravování – Upravte knihovny pro kompatibilitu s upravováním
- Možnosti oříznutí – Referenční informace o vlastnostech nástroje MSBuild, které řídí chování oříznutí.
Viz také
- Přehled publikování aplikací .NET
- dotnet publish command (příkaz pro publikování v dotnet)
- Známé nekompatibility oříznutí