یک نکتهی تکمیلی: تعدیل خطاهای بررسی امنیتی بستههای نیوگت در حالت کار offline در داتنت 8
اگر در پروژهی خود، تنظیم گزارش اخطارها را به صورت خطا، فعال کرده باشید:
<PropertyGroup> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> </PropertyGroup>
و ... از داتنت 8 هم استفاده میکنید، هربار با صدور فرمان dotnet build و یا dotnet restore، با خطای زیر مواجه خواهید شد:
warning NU1900: Error occurred while getting package vulnerability data: (more information)
البته یکبار که اطلاعات امنیتی بستهها ذخیره شدند، ممکن است در طول یک روز دیگر شاهد این خطا نباشید، اما ... دوباره فردا تکرار خواهد شد و اگر بخواهید offline کار کنید، این خطا واقعا مشکل ساز میشود!
برای کنترل آن یا میتوان به صورت زیر عمل کرد:
<PropertyGroup> <NuGetAudit>false</NuGetAudit> </PropertyGroup>
که بررسی امنیتی بستههای نیوگت را کاملا غیرفعال میکند و یا میتوان به صورت زیر، این بررسی را فقط به حالت Release خلاصه کرد:
<PropertyGroup> <NuGetAudit>true</NuGetAudit> <NuGetAuditMode>all</NuGetAuditMode> <NuGetAuditLevel>low</NuGetAuditLevel> <WarningsNotAsErrors Condition="'$(Configuration)' != 'Release'"> $(WarningsNotAsErrors);NU1900;NU1901;NU1902;NU1903;NU1904 </WarningsNotAsErrors> </PropertyGroup>
در این حالت هرچند اخطارهای NU1900 و دردسترس نبودن اینترنت ظاهر میشوند، اما دیگر بهعنوان خطا پردازش نخواهند شد (چون در قسمت WarningsNotAsErrors ذکر شدهاند) و پروسهی build را متوقف نمیکنند.