Ö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 publish
elé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
restore
publish
parancsokbuild
, amelyek dotnet
külön futtathatók. A futtatókörnyezet kiválasztása a restore
művelet része, nem publish
vagy build
nem. Hívás esetén publish
a 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őretrue
: .
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 publish
szeretné használni--no-restore
, válasszon az alábbiak közül:
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éketfalse
a projektfájlban.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
TargetLatestRuntimePatch
true
a projektfájlba.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.