Ö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

  1. 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>
    
  2. 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

  1. A Megoldáskezelő kattintson a jobb gombbal a közzétenni kívánt projektre, és válassza a Közzététel lehetőséget.

    Solution Explorer with a right-click menu highlighting the Publish option.

    Ha még nem rendelkezik közzétételi profillal, az utasításokat követve hozzon létre egyet, és válassza ki a mappa céltípusát.

  2. Válassza a További műveletek>szerkesztése lehetőséget.

    Visual studio publish profile with edit button.

  3. A Profilbeállítások párbeszédpanelen adja meg a következő beállításokat:

    • Állítsa be az üzembe helyezési módot önállóra.
    • Állítsa be a cél futtatókörnyezetet arra a platformra, amelyen közzé szeretné tenni.
    • Válassza a Nem használt kód vágása lehetőséget.

    A Beállítások mentéséhez és a Közzététel párbeszédpanelre való visszatéréshez válassza a Mentés lehetőséget.

    Profile settings dialog with deployment mode, target runtime, and trim unused assemblies options highlighted.

  4. Válassza a Közzététel lehetőséget az alkalmazás levágott közzétételéhez.

További információ: .NET Core-alkalmazások közzététele a Visual Studióval.

Közzététel a Mac Visual Studióval

A Mac Visual Studio nem kínál lehetőséget az alkalmazás közzétételére. A közzétételt manuálisan kell közzétennie a közzététel és a CLI szakasz utasításait követve. További információ: .NET-alkalmazások közzététele .NET CLI-vel.

Lásd még