Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wdrożenia samodzielnych aplikacji .NET Core obejmują zarówno biblioteki .NET Core, jak i środowisko uruchomieniowe .NET Core. Począwszy od zestawu .NET Core 2.1 SDK (wersja 2.1.300), samodzielne wdrożenie aplikacji publikuje na maszynie najwyższe środowisko uruchomieniowe poprawek. Domyślnie dotnet publish w przypadku wdrożenia samodzielnego wybiera najnowszą wersję zainstalowaną jako część zestawu SDK na maszynie publikowania. Dzięki temu wdrożona aplikacja może działać z poprawkami zabezpieczeń (i innymi poprawkami) dostępnymi podczas wykonywania polecenia publish. Aby uzyskać nową poprawkę, należy ponownie opublikować aplikację. Aplikacje samodzielne są tworzone przez podanie -r <RID> na polecenie dotnet publish lub podanie identyfikatora środowiska uruchomieniowego (RID) w pliku projektu (csproj / vbproj) lub w wierszu polecenia.
Omówienie wprowadzania wersji poprawek
restore, build i publish to dotnet polecenia, które mogą być uruchamiane oddzielnie. Wybór środowiska uruchomieniowego jest częścią operacji restore, a nie publish lub build. Jeśli wywołasz publish, zostanie wybrana najnowsza wersja poprawki. Jeśli wywołasz publish z argumentem --no-restore, być może nie otrzymasz żądanej wersji poprawki, ponieważ wcześniejsze restore mogło nie zostać przeprowadzone zgodnie z nową polityką publikowania aplikacji z samodzielnym pakietem. W takim przypadku zostanie wygenerowany błąd kompilacji z tekstem podobnym do następującego:
"Projekt został przywrócony przy użyciu Microsoft.NETCore.App w wersji 2.0.0, ale w przypadku bieżących ustawień zamiast tego będzie używana wersja 2.0.6. Aby rozwiązać ten problem, upewnij się, że te same ustawienia są używane do przywracania i kolejnych operacji, takich jak kompilacja lub publikowanie. Zazwyczaj ten problem może wystąpić, jeśli właściwość RuntimeIdentifier jest ustawiona podczas kompilacji lub publikowania, ale nie podczas przywracania.
Uwaga / Notatka
restore i build można uruchomić niejawnie w ramach innego polecenia, takiego jak publish. W przypadku niejawnego uruchamiania w ramach innego polecenia są one dostarczane z dodatkowym kontekstem, dzięki czemu tworzone są odpowiednie artefakty. W przypadku publish środowiska uruchomieniowego (na przykład dotnet publish -r linux-x64) niejawnie przywracane są pakiety dla środowiska uruchomieniowego linux-x64. Jeśli wywołasz restore jawnie, nie przywraca domyślnie pakietów środowiska uruchomieniowego, ponieważ nie ma tego kontekstu.
Jak uniknąć przywracania podczas publikowania
Uruchomienie restore w ramach operacji publish może być niepożądane dla twojego scenariusza. Aby uniknąć restore podczas publish tworzenia aplikacji autonomicznych, postępuj następująco:
- Ustaw właściwość
RuntimeIdentifiersna listę wszystkich RID rozdzieloną średnikami do opublikowania. - Ustaw właściwość
TargetLatestRuntimePatchna wartośćtrue.
Argument no-restore z opcjami publikacji dla dotnet
Jeśli chcesz utworzyć zarówno aplikacje samodzielne, jak i aplikacje zależne od platformy z tym samym plikiem projektu i chcesz użyć argumentu --no-restore z elementem dotnet publish, wybierz jedną z następujących opcji:
Preferuj zachowanie zależne od platformy. Jeśli aplikacja jest zależna od struktury, jest to zachowanie domyślne. Jeśli aplikacja jest samodzielna i może używać niezałatanego lokalnego środowiska uruchomieniowego w wersji 2.1.0, ustaw
TargetLatestRuntimePatchnafalsew pliku projektu.Preferuj zachowanie samodzielne. Jeśli aplikacja jest samodzielna, jest to zachowanie domyślne. Jeśli aplikacja jest zależna od struktury i wymaga zainstalowanej najnowszej poprawki, ustaw ją
TargetLatestRuntimePatchnatruew pliku projektu.Przejmij pełną kontrolę nad wersją środowiska uruchomieniowego, ustawiając
RuntimeFrameworkVersionna konkretną wersję poprawki w pliku projektu.