Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Samostatná nasazení aplikací .NET Core zahrnují knihovny .NET Core i modul runtime .NET Core. Počínaje sadou .NET Core 2.1 SDK (verze 2.1.300) nasazení samostatné aplikace publikuje runtime s nejvyšší úrovní opravy, který je dostupný na vašem počítači. Ve výchozím nastavení dotnet publish pro samostatné nasazení vybere nejnovější verzi nainstalovanou jako součást sady SDK na počítači publikování. To umožňuje, aby vaše nasazená aplikace běžela s opravami zabezpečení (a dalšími opravami), které jsou k dispozici během publish. Aby bylo možné získat novou opravu, musí být aplikace znovu publikována. Samostatné aplikace se vytvářejí zadáním -r <RID> příkazu dotnet publish nebo zadáním identifikátoru runtime (RID) v souboru projektu (csproj / vbproj) nebo na příkazovém řádku.
Přehled průběžného zavádění aktualizace verze.
restore
build a publish jsou dotnet příkazy, které se dají spustit samostatně. Volba modulu runtime je součástí restore operace, nikoli publish nebo build. Pokud zavoláte publish, zvolí se nejnovější verze opravy. Pokud zavoláte publish s argumentem --no-restore , pravděpodobně nebudete mít požadovanou verzi opravy, protože předchozí restore verze nebyla provedena s novou samostatnou zásadou publikování aplikací. V tomto případě se vygeneruje chyba sestavení s textem podobným následujícímu:
Projekt byl obnoven pomocí Microsoft.NETCore.App verze 2.0.0, ale s aktuálním nastavením by se místo toho použila verze 2.0.6. Pokud chcete tento problém vyřešit, ujistěte se, že se pro obnovení a následné operace, jako je sestavení nebo publikování, používají stejná nastavení. K tomuto problému obvykle může dojít, pokud je vlastnost RuntimeIdentifier nastavena během sestavení nebo publikování, ale ne během obnovení."
Poznámka:
restore a build lze je spustit implicitně jako součást jiného příkazu, například publish. Když se spustí implicitně jako součást jiného příkazu, zobrazí se jim další kontext, aby se vytvořily správné artefakty. Při použití publish s runtime (například dotnet publish -r linux-x64) se automaticky obnoví balíčky pro runtime linux-x64. Pokud voláte restore explicitně, ve výchozím nastavení neobnoví balíčky modulu runtime, protože nemá potřebný kontext.
Jak se vyhnout obnovení během publikování
Spuštění restore v rámci publish operace může být pro váš scénář nežádoucí. Pokud se chcete vyhnout restore během publish vytváření samostatných aplikací, postupujte takto:
-
RuntimeIdentifiersNastavte vlastnost na seznam oddělený středníkem všech identifikátorů RID, které se mají publikovat. - Nastavte vlastnost
TargetLatestRuntimePatchnatrue.
Argument „no-restore“ s možnostmi příkazu dotnet publish
Pokud chcete vytvořit samostatné aplikace i aplikace závislé na rozhraní se stejným souborem projektu a chcete použít --no-restore argument s dotnet publish, zvolte jednu z následujících možností:
Preferujte chování závislé na rozhraní. Pokud je aplikace závislá na rozhraní, jedná se o výchozí chování. Pokud je aplikace samostatná a může použít nepatchovaný místní modul runtime 2.1.0, nastavte
TargetLatestRuntimePatchnafalsev souboru projektu.Upřednostňujte nezávislé chování. Pokud je aplikace samostatná, jedná se o výchozí chování. Pokud je aplikace závislá na prostředí a vyžaduje nainstalovanou nejnovější opravu, nastavte
TargetLatestRuntimePatchnatruev souboru projektu.Převezměte explicitní kontrolu nad verzí modulu runtime tak, že v souboru projektu nastavíte
RuntimeFrameworkVersionkonkrétní verzi opravy.