Предупреждение о зависимости проекта NuGet без каких-либо ошибок в любом конкретном пакете NuGet в списке - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть проект с желтым предупреждающим знаком на значке раздела NuGet под его зависимостями, но когда я раскрываю список NuGet, чтобы увидеть все NuGets, я не вижу никаких предупреждающих знаков ни в одном из NuGets в списке .

enter image description here

Кто-нибудь может посоветовать, что может вызвать появление этого предупреждения?

1 Ответ

1 голос
/ 11 апреля 2019

Когда NuGet восстанавливает проекты PackageReference, он записывает файл project.assets.json в промежуточный выходной каталог (по умолчанию obj/), который содержит не только информацию о пакетах и ​​файлах в этих пакетах, но и сохраняет предупреждения о восстановлении, чтобы можно былопоказать пользователю то же самое предупреждение при восстановлении без операции.Я считаю, что .NET Project System читает это и отображает предупреждения, хранящиеся в файле, в виде символа, который вы видите в обозревателе решений, но я думаю, что он также должен помещать предупреждения в список ошибок.

Итак, вы можете проверить файл obj/project.assets.json и посмотреть, есть ли в нем какие-либо предупреждения.Я думаю, что они обычно находятся в конце файла.

Другой вариант - перейти в командную строку и запустить msbuild -t:restore или dotnet restore --verbosity normal (по умолчанию для dotnet cli установлено минимальное значение).Я был бы удивлен, если бы это не показывало вам предупреждения (при условии, что на самом деле есть предупреждения), но вы могли бы попробовать детальную детализацию, но я ожидаю, что это в основном покажет вам информацию обработки MSBuild.Если вы считаете, что NuGet неправильно отображает предупреждения из-за отсутствия операций, вы можете использовать dotnet restore --force, который после быстрого просмотра файла целей NuGet будет эквивалентен msbuild -t:restore -p:RestoreForce=true, или просто удалите project.assets.jsonфайл и восстановить нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...