Önálló üzemelő példányok és végrehajtható fájlok vágása
A keretrendszerfüggő üzembehelyezési modell a .NET kezdete óta a legsikeresebb üzembehelyezési modell. Ebben a forgatókönyvben az alkalmazásfejlesztő csak az alkalmazást és a külső szerelvényeket köti össze azzal a várakozással, hogy a .NET-futtatókörnyezet és a futtatókörnyezeti kódtárak elérhetők lesznek az ügyfélszámítógépen. A legújabb .NET-kiadásban továbbra is ez az üzembe helyezési modell a domináns, azonban vannak olyan forgatókönyvek, amelyekben nem a keretrendszerfüggő modell a legjobb választás. A másik lehetőség egy önálló alkalmazás közzététele, amelyben a .NET-futtatókörnyezet és a futtatókörnyezeti kódtárak az alkalmazással és a külső szerelvényekkel együtt vannak csomagolva.
A vágási önkiszolgáló üzemi modell az önálló üzembehelyezési modell speciális verziója, amely az üzembe helyezés méretének csökkentésére van optimalizálva. Az üzembe helyezés méretének minimalizálása kritikus követelmény egyes ügyféloldali forgatókönyvekhez, például a Blazor-alkalmazásokhoz. Az alkalmazás összetettségétől függően a rendszer csak a keretrendszer-szerelvények egy részhalmazára hivatkozik, és az alkalmazás futtatásához az egyes szerelvényeken belül a kód egy részhalmazára van szükség. A kódtárak nem használt részei szükségtelenek, és kivághatók a csomagolt alkalmazásból.
Fennáll azonban annak a kockázata, hogy az alkalmazás buildidejének elemzése futásidőben hibákhoz vezethet, mivel nem képes megbízhatóan elemezni a különböző problémás kódmintákat (nagyrészt a tükröződés használatára összpontosítva). A problémák megoldása érdekében figyelmeztetések jelennek meg, amikor a vágó nem tudja teljes mértékben elemezni a kódmintát. A vágási figyelmeztetések jelentése és a feloldásuk módjával kapcsolatos információkért lásd : Bevezetés a vágási figyelmeztetések használatába.
Feljegyzés
- A vágás teljes mértékben támogatott a .NET 6-os és újabb verzióiban. A .NET Core 3.1-ben és a .NET 5-ben a vágás kísérleti funkció volt.
- A vágás csak az önállóan közzétett alkalmazások számára érhető el.
Vágási problémákat okozó összetevők
Figyelmeztetés
Nem minden projekttípus vágható le. További információ: Ismert vágási inkompatibilitások.
A létrehozási idő elemzésével kapcsolatos problémákat okozó kódok nem alkalmasak a vágásra. Az alkalmazások által használt gyakori kódolási minták egy kötetlen visszaverődési használatból és külső függőségekből származnak, amelyek nem láthatók a létrehozáskor. A kötetlen visszatükrözésre példa egy örökölt szerializáló, például XML-szerializálás, és a láthatatlan külső függőségek példája a beépített COM. Az alkalmazásban megjelenő vágási figyelmeztetések kezeléséhez lásd : Bevezetés a vágási figyelmeztetések vágásához, valamint a kódtár vágással való kompatibilissé tétele: .NET-kódtárak előkészítése a vágáshoz.
Vágás engedélyezése
Adja hozzá
<PublishTrimmed>true</PublishTrimmed>
a projektfájlhoz.Ez a tulajdonság egy levágott alkalmazást fog létrehozni a saját közzétételben. Emellett kikapcsolja a nem kompatibilis vágási funkciókat, és megjeleníti a vágáskompatibilitásra figyelmeztető figyelmeztetéseket a buildelés során.
<PropertyGroup> <PublishTrimmed>true</PublishTrimmed> </PropertyGroup>
Ezután tegye közzé az alkalmazást a dotnet publish paranccsal vagy a Visual Studióval.
Közzététel a parancssori felülettel
Az alábbi példa a Windowshoz készült alkalmazást levágott önálló alkalmazásként teszi közzé.
dotnet publish -r win-x64
A vágás csak önálló alkalmazások esetén támogatott.
<PublishTrimmed>
a projektfájlban kell beállítani, hogy a vágási inkompatibilis funkciók le legyenek tiltva a .dotnet build
Ezt a beállítást azonban argumentumként is beállíthatja a következő értékre dotnet publish
:
dotnet publish -r win-x64 -p:PublishTrimmed=true
További információ: .NET-alkalmazások közzététele .NET CLI-vel.
Közzététel a Visual Studióval
A Megoldáskezelőbenkattintson a jobb gombbal a közzétenni kívánt projektre, és válassza a Tulajdonságoklehetőséget.
Válassza a Build>Publishlehetőséget.
Válassza az Levágott verzió közzététele lehetőséget, hogy az alkalmazást a levágott verzióban tegye közzé.
További információ: .NET Core-alkalmazások közzététele a Visual Studióval.