Проверяя свой файл CSPROJ, я заметил предупреждение (синее волнистое) в этом пакете.
<PackageReference Include = "Microsoft.EntityFrameworkCore.SqlServer" Version = "7.0.4" />
Ошибка указывает на Microsoft.EntityFrameworkCore.SqlServer как на виновника и упоминает поток.
Переходная зависимость microsoft.netcore.platforms 5.0.0 содержит уязвимости в соответствии с checkmarx(c).
Я никогда не замечал этого раньше, и гугление выдало довольно мало (это , на самом деле не касаясь этого, и это, на самом деле не отвечая на вопрос, насколько я понимаю).
Как я могу убить предупреждение?
Когда я выбрал предложенное изменение, в файле CSPROJ появилась новая строка, вот так.
<PackageReference Include = "Microsoft.EntityFrameworkCore.SqlServer" Version = "7.0.4" />
<PackageReference Include = "Microsoft.NETCore.Platforms" Version = "7.0.1" />
Тем не менее, предупреждение о размытии продолжает отображаться. Я в замешательстве.
@jdweng Да, я почистил его и снова построил. Как со ссылкой на второй пакет, так и без нее. То же поведение остается. Это сводит меня с ума, потому что, похоже, это не влияет на мое программное обеспечение и не ухудшает его, поэтому мне трудно мотивировать огромные усилия по его исследованию ...
Я предполагаю, что вы используете ReSharper? Потому что подчеркивание уязвимых пакетов в .csproj
-файле — это фича ReSharper.
Вы можете отключить это предупреждение один раз с помощью комментария:
<!-- ReSharper disable once VulnerablePackage -->
<PackageReference Include = "Microsoft.EntityFrameworkCore.SqlServer" Version = "7.0.4" />
Если вы вообще не хотите использовать функцию обнаружения уязвимостей, перейдите к Extensions > ReSharper > Options > Environment > Products & Features > Uncheck: Package Checker
.
Я использую Resharper, да. Однако то, что я ищу, это не избавление от синих сквирли. Я ищу способ устранить (предполагаемую?) уязвимость наиболее правильным способом. Кроме того, пытаясь понять, почему предложенное решение не помогло.
Последний комментарий в связанной проблеме говорит: ...Проверка транзитивных зависимостей не сравнивается с текущими ссылками на пакеты. Это означает, что в ReSharper есть ошибка, которая по-прежнему сообщает об уязвимостях, даже если упоминается более новый пакет, устраняющий уязвимость. Однако похоже, что эта ошибка исправлена в 2023.1 EAP 7. Пробовали обновиться до 2023.1?
Это был бы антикульминационный момент месяца... Я просто отказываюсь принимать вашу реальность и заменяю ее чем-то розовым и пушистым. :)
Активности по этой теме крайне мало. Думаю, это все, что мы можем сделать. Вы будете щедры. Спасибо за попытку.
Спасибо! Просто из любопытства: решило ли обновление до 2023.1 проблему?
Привет! Я не заметил новейшей версии R#. Угадайте, предупреждение исчезло. Я могу спокойно спать сегодня ночью, зная, что все работает так же, как и раньше, с небольшим улучшением отображения предупреждений в файле, который никто не посещает. Эй! :)
Вы делали чистую сборку? Чистая сборка перекомпилирует все исходные файлы в файлы obj.