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.
Zalecana akcja
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żliwymilow
wartościami , ,moderate
high
icritical
.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 nafalse
wartość .