Megosztás a következőn keresztül:


Önálló üzembehelyezési futtatókörnyezet előregörgetése

A .NET Core önálló alkalmazástelepítései közé tartoznak a .NET Core-kódtárak és a .NET Core-futtatókörnyezetek is. A .NET Core 2.1 SDK-tól kezdve (2.1.300-es verzió) egy önálló alkalmazástelepítés teszi közzé a legmagasabb patch-futtatókörnyezetet a számítógépen. Alapértelmezés szerint dotnet publish egy önálló üzembe helyezés esetén a közzétételi gépen az SDK részeként telepített legújabb verziót választja ki. Ez lehetővé teszi, hogy az üzembe helyezett alkalmazás a rendszer közben publishelérhető biztonsági javításokkal (és egyéb javításokkal) fusson. Az alkalmazást újra közzé kell tenni egy új javítás beszerzéséhez. Az önálló alkalmazások létrehozása a dotnet publish parancson vagy a futtatókörnyezet azonosítójának (RID) a projektfájlban (csproj/ vbproj) vagy a parancssorban történő megadásával hozható létre-r <RID>.

Javítás verziógördítésének áttekintése

restorepublish parancsokbuild, amelyek dotnet külön futtathatók. A futtatókörnyezet kiválasztása a restore művelet része, nem publish vagy buildnem. Hívás esetén publisha rendszer a legújabb javításverziót választja ki. Ha az --no-restore argumentummal hív, publish akkor előfordulhat, hogy nem kapja meg a kívánt javításverziót, mert előfordulhat, hogy egy korábbi restore nem lett végrehajtva az új önálló alkalmazás-közzétételi szabályzattal. Ebben az esetben a következőhöz hasonló szöveggel jön létre buildelési hiba:

"A projekt Microsoft.NETCore.App 2.0.0-s verzióval lett visszaállítva, de a jelenlegi beállításokkal ehelyett a 2.0.6-os verziót használná. A probléma megoldásához győződjön meg arról, hogy ugyanazokat a beállításokat használja a visszaállításhoz és az azt követő műveletekhez, például a buildeléshez vagy a közzétételhez. Ez a probléma általában akkor fordulhat elő, ha a RuntimeIdentifier tulajdonság be van állítva a buildelés vagy közzététel során, de a visszaállítás során nem."

Feljegyzés

restore és build implicit módon futtatható egy másik parancs részeként, például publish. Ha implicit módon fut egy másik parancs részeként, a rendszer további kontextust biztosít számukra, hogy a megfelelő összetevők létre legyenek hozva. publish Futtatókörnyezet esetén (példáuldotnet publish -r linux-x64) az implicit restore visszaállítja a linux-x64 futtatókörnyezet csomagjait. Ha explicit módon hív, restore alapértelmezés szerint nem állítja vissza a futtatókörnyezeti csomagokat, mert nincs ilyen környezete.

A visszaállítás elkerülése közzététel közben

Előfordulhat, hogy a publish művelet részeként történő futtatás restore nem kívánatos a forgatókönyvhöz. Ha el szeretné kerülni restore az önálló alkalmazások létrehozása közben publish , tegye a következőket:

  • Állítsa a RuntimeIdentifiers tulajdonságot az összes közzéteendő RID pontosvesszővel tagolt listájára.
  • Állítsa be a tulajdonságot a TargetLatestRuntimePatch következőre true: .

Visszaállítás nélküli argumentum a dotnet közzétételi beállításaival

Ha önálló és keretrendszerfüggő alkalmazásokat is szeretne létrehozni ugyanazzal a projektfájllal, és az argumentumot dotnet publishszeretné használni--no-restore, válasszon az alábbiak közül:

  1. Inkább a keretrendszerfüggő viselkedést részesítse előnyben. Ha az alkalmazás keretrendszerfüggő, ez az alapértelmezett viselkedés. Ha az alkalmazás önálló, és használhatja a 2.1.0-s helyi futtatókörnyezetet, állítsa be az TargetLatestRuntimePatch értéket false a projektfájlban.

  2. Előnyben részesítse a saját viselkedést. Ha az alkalmazás önálló, ez az alapértelmezett viselkedés. Ha az alkalmazás keretrendszerfüggő, és a legújabb javítást kell telepítenie, állítsa be TargetLatestRuntimePatchtrue a projektfájlba.

  3. A futtatókörnyezeti keretrendszer verziójának explicit vezérléséhez állítsa RuntimeFrameworkVersion be a projektfájl adott javításverzióját.