Почему NuGet жалуется на System.ValueTuple (4.3.1)? - PullRequest
0 голосов
/ 07 июня 2018

Я только что создал консольное F # приложение для dotnet core 2. VS показывает восклицательный знак на пакете System.ValueType (4.3.1).

Complaining NuGet

Я знаю, что ссылка неявна :

<PackageReference Include="System.ValueTuple" Version="4.*" Condition=" '$(DisableImplicitSystemValueTupleReference)' != 'true' and '$(_FrameworkNeedsValueTupleReference)' == 'true' ">
</PackageReference>

Но NuGet, похоже, не в порядкес ситуацией.Это может быть как-то связано с этой ошибкой , однако менеджер пакетов даже не показывает System.ValueTuple среди упомянутых пакетов.Хотя я вижу библиотеку при публикации приложения как отдельную.

Должен ли я просто игнорировать это или это действительно признак какой-то проблемы?

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Должен ли я просто игнорировать это или это действительно признак какой-то проблемы?

Если вы добавили явно пакет nuget, то измените его на плавающую версию Version="4.*", выможно попытаться удалить файл project.assets.json в папке obj, а затем восстановить пакет nuget.

Это потому, что зависимости этой информации о пакете хранятся в файле project.assets.json в папке obj,Когда вы изменяете версию с 4.xx на 4. , nuget не может знать, совместимы ли эти зависимости с версией 4. .Таким образом, Visual Studio может выдавать желтый треугольник, но без каких-либо ошибок.

Подобную проблему можно проверить здесь .

0 голосов
/ 07 июня 2018

Возможно, существует конфликт между версиями целевой платформы и версией пакета.

Согласно nuget.org , System.ValueTuple 4.3.1 недоступно ядро ​​dotnet 2.0.Таким образом, чтобы использовать System.ValueType, вам необходимо обновить его версию 4.4.0 или выше.

...