Udostępnij za pośrednictwem


Polecenie "dotnet restore" powoduje wygenerowanie ostrzeżeń o lukach w zabezpieczeniach

Poleceniedotnet restore, które przywraca zależności i narzędzia projektu, domyślnie generuje ostrzeżenia dotyczące luk w zabezpieczeniach.

Poprzednie zachowanie

dotnet restore Wcześniej nie emitował żadnych ostrzeżeń dotyczących luk w zabezpieczeniach domyślnie.

Nowe zachowanie

Jeśli programujesz przy użyciu zestawu .NET 8 SDK lub nowszej wersji, dotnet restore domyślnie generuje ostrzeżenia dotyczące luk w zabezpieczeniach dla wszystkich przywróconych projektów. Jeśli załadujesz rozwiązanie lub projekt albo uruchomisz skrypt ciągłej integracji/ciągłego wdrażania, ta zmiana może spowodować przerwanie przepływu pracy, jeśli został <TreatWarningsAsErrors> włączony.

Wprowadzona wersja

.NET 8 (wersja zapoznawcza 4)

Typ zmiany powodującej niezgodność

Ta zmiana jest zmianą behawioralną.

Przyczyna wprowadzenia zmiany

Wielu użytkowników chce wiedzieć, czy przywracane pakiety zawierają znane luki w zabezpieczeniach. Ta funkcja była bardzo żądaną funkcją. Obawy dotyczące zabezpieczeń nadal rosną każdego roku, a niektóre znane problemy z zabezpieczeniami nie są wystarczająco widoczne, aby podjąć natychmiastowe działania.

  • Aby jawnie zmniejszyć prawdopodobieństwo wystąpienia awarii kompilacji z powodu ostrzeżeń, możesz rozważyć użycie <TreatWarningsAsErrors> i użyć <WarningsNotAsErrors>NU1901;NU1902;NU1903;NU1904</WarningsNotAsErrors> go, aby zapewnić, że znane luki w zabezpieczeniach są nadal dozwolone w danym środowisku.

  • Jeśli chcesz ustawić inny poziom inspekcji zabezpieczeń, dodaj <NuGetAuditLevel> właściwość do pliku projektu z możliwymi lowwartościami , , moderatehighi critical.

  • Jeśli chcesz zignorować te ostrzeżenia, możesz pominąć <NoWarn> NU1901-NU1904 ostrzeżenia.

  • Aby całkowicie wyłączyć nowe zachowanie, możesz ustawić <NuGetAudit> właściwość projektu na falsewartość .

Zobacz też