Megosztás:


Önálló telepítési futtatási környezet előre lépteté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 publish alatt 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 -r <RID> parancson vagy a dotnet publish a projektfájlban (csproj/ vbproj) vagy a parancssorban történő megadásával hozható létre.

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

restore, build és publish parancsok dotnet, amelyek külön futtathatók. A futtatókörnyezet kiválasztása a restore művelet része, nem a publish vagy build. Amikor publish hívást kezdeményez, a rendszer a legújabb javítás verzióját választja ki. Ha a publish-t a --no-restore argumentummal hívja meg, előfordulhat, hogy nem kapja meg a kívánt javításverziót, mert 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."

Megjegyzé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 használata esetén (például dotnet publish -r linux-x64) az implicit restore visszaállítja a linux-x64 futtatókörnyezet csomagjait. Ha Ön explicit módon hívja meg restore, az alapértelmezés szerint nem állítja vissza a futtatási csomagokat, mivel nincs meg ez a kontextus.

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

Előfordulhat, hogy az Ön forgatókönyve esetében nem kívánatos a restore futtatása a publish művelet részeként. Ha az önálló alkalmazások létrehozása közben el szeretné kerülni restore, 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 a TargetLatestRuntimePatch tulajdonságot trueértékre.

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 --no-restoreszeretné használnidotnet publish, 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 nem javított 2.1.0-s helyi futtatókörnyezetet, állítsa be az TargetLatestRuntimePatch értékét false a projektfájlban.

  2. Előnyben részesítse az önálló 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 a TargetLatestRuntimePatch értékét true-re a projektfájlban.

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