NuGet imzalı paket doğrulama seçenekleri
Güvenilmeyen kök hataları yeniden deneyin
Not
Bu sorun yalnızca Microsoft Güvenilen Kök Programı'ndaki kök sertifikalar için Windows için geçerlidir.
Sertifika zinciri oluşturma sırasında, Windows ilk kullanımda ilgili 3. taraf kök sertifikalarını getirir ve bunları yerel olarak güvenilen kök sertifikalar olarak ekler. Windows bu ağ getirme işlemini dahili olarak bir RPC çağrısıyla başlatır ve sistem yeterince meşgulse bu RPC çağrısı başarısız olabilir. Bu hata kök sertifikanın yerel olarak güvenilir olmamasıyla sonuçlanıyor. Bu sorun, kök sertifika ilk kez gözlemlendiğinde oluşabilir, ancak kök sertifikaya yerel olarak güvenildikten sonra bu sertifika için sorun yinelenmez. Genellikle zincir oluşturma işlemi yeniden denemelerle başarılı olur.
NuGet kullanıcıları için bu sorunun belirtileri NuGet işleminin yeniden denemede ve aşağıdakilerden birinde genellikle başarılı olmasıdır:
- NU3028 , "Bir sertifika zinciri doğru şekilde işlendi, ancak güven sağlayıcısı tarafından güvenilmeyen bir kök sertifikada sonlandırıldı" gibi bir iletiyle.
- "Depo birincil imza geçerlilik süresi doldu" gibi bir iletiyle NU3037 .
Not
Bu seçenek NuGet 6.0.0'dan itibaren kullanılabilir ve yalnızca yukarıda açıklanan Windows'a özgü hata için geçerlidir. Bu seçenek başka bir senaryo için geçerli değildir ve Linux veya macOS üzerinde hiçbir etkisi yoktur.
NuGet 6.8.0 ve .NET 8 SDK'sı öncesinde bu seçenek varsayılan olarak devre dışı bırakılır.
NuGet 6.8.0 ve .NET 8 SDK'sı ile başlayarak bu seçenek Windows'ta varsayılan olarak etkinleştirilir. ortam değişkeninin varsayılan değerini 3,1000
geçersiz kılmak veya geri çevirmek istemediğiniz sürece açıkça ayarlanması gerekmez. Geri çevirmek için ortam değişkenini değeriyle 0
ayarlayın.
Yeniden deneme sayısını ve uyku aralığını milisaniye cinsinden temsil eden 2 virgülle ayrılmış pozitif tamsayıdan oluşan bir değerle adlı NUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY
bir ortam değişkeni ayarlayarak Windows'ta güvenilmeyen kök hatalar için deneysel ve otomatik yeniden denemeyi etkinleştirebilirsiniz. Sizin için mantıklı değerler seçmelisiniz.
Örneğin, ortam değişkenini şuna benzer bir değere 3,1000
ayarlayın:
set NUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY=3,1000
... her deneme arasında 1 saniye (1.000 ms) ile en fazla 4 kez (ilk deneme artı 3 yeniden deneme) dener.