Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alábbi tulajdonságok bármelyikét meghatározó projektek mostantól automatikusan megkapják a futtatókörnyezet azonosítóját (RID). A RID lehetővé teszi egy önálló üzembe helyezés közzétételét.
SelfContainedPublishAotPublishReadyToRunPublishSingleFile-
PublishSelfContained(.NET SDK 7.0.200 és újabb verziók csak)
A változás a következő projekteket érintheti:
- Régi projektek, amelyek megkerülték a hiányzó futtatókörnyezet-azonosító hibáját.
- Olyan projektek, amelyek tartalmaznak
RuntimeIdentifiers, de nem tartalmaznakRuntimeIdentifier. - Olyan projektek, amelyek riD-k nélkül használnak szigorúan kódolt elérési utakat.
- Azok a projektek, amelyek rendelkeztek ezekkel a tulajdonságokkal, és buildelést használtak a közzététel helyett, elfogadták, hogy a közzététel hibás állapotban van.
Vannak más lehetséges árnyalatok is, amelyek megszakíthatják azokat az egyedi helyzeteket, amelyekről még nem tudunk.
Megjegyzés:
Ez a módosítás a dotnet publish .NET 7.0.200 SDK-ban lévő parancsra korlátozódott. További információ: Automatic RuntimeIdentifier for publish only.
Bevezetett verzió
.NET 7
Előző viselkedés
Korábban ezek a projektek nem sikerült olyan hibákkal publikálni, mint például:
Az alkalmazás nem tehető közzé egy fájlban runtimeIdentifier megadása nélkül. Adjon meg egy RuntimeIdentifiert, vagy állítsa a PublishSingleFile értéket hamisra.
vagy
hiba NETSDK1031: Nem támogatott önálló alkalmazás létrehozása vagy közzététele runtimeIdentifier megadása nélkül. Meg kell adnia egy RuntimeIdentifiert, vagy hamisra kell állítania a SelfContained értéket.
Bizonyos esetekben, például PublishSingleFile vagy speciális RuntimeIdentifiers logikával, a projektek sikeresen felépülhetnek RuntimeIdentifier nélkül.
Új viselkedés
A cikk elején felsorolt tulajdonságokat meghatározó projektekhez automatikusan tartozik egy RuntimeIdentifier. Ez az új viselkedés buildhibákat okozhat az olyan projekteken, amelyek támaszkodnak RuntimeIdentifiers, de nem RuntimeIdentifier, mert RuntimeIdentifier eltérően befolyásolhatja a kimeneti útvonalat RuntimeIdentifiers-hoz képest. Olyan projekteknél is okozhat hibákat AnyCPU , amelyek támaszkodnak PublishSingleFile rá, de más műveletek végrehajtásakor nem mindig adnak RuntimeIdentifier . Ezek a hibák a következőképpen jelenhetnek meg:
A célfolyamat kilépett anélkül, hogy létrehozott volna egy CoreCLR indítási eseményt. Győződjön meg arról, hogy a célfolyamat a .NET Core használatára van konfigurálva.
A kompatibilitástörő változás típusa
Ez a módosítás hatással lehet a forráskompatibilitásra.
A változás oka
A .NET-projektek többsége nem teszi közzé az említett tulajdonságokat RuntimeIdentifier anélkül, hogy be van állítva. Ez a módosítás csökkenti a relatív azonosító manuális hozzáadásának szükségességét minden alkalommal, amikor az említett tulajdonságokat használja.
Javasolt művelet
Ha a projekt érintett, letilthatja az automatikus RuntimeIdentifier funkciót úgy, hogy hozzáadja <UseCurrentRuntimeIdentifier>false</UseCurrentRuntimeIdentifier> a projektfájlhoz.
Ha a kimeneti útvonal módosítása miatt szünetet tapasztal, adja hozzá <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> a projektfájlhoz.