我刚刚为dotnet core 2创建了控制台F#应用程序。
VS在System.ValueType (4.3.1)
包裹上显示感叹号。
<PackageReference Include="System.ValueTuple" Version="4.*" Condition=" '$(DisableImplicitSystemValueTupleReference)' != 'true' and '$(_FrameworkNeedsValueTupleReference)' == 'true' ">
</PackageReference>
但是NuGet似乎对这种情况并不好。这可能与此bug有某种关系,但是包管理器甚至不会在引用的包中显示System.ValueTuple
。虽然我在发布应用程序时看到库是自包含的。
我应该忽略这一点,还是确实表明某些问题?
答案 0 :(得分:2)
目标框架版本与软件包版本之间可能存在冲突。
根据nuget.org,System.ValueTuple 4.3.1
无法使用dotnet core 2.0。因此,为了使用System.ValueType
,您需要更新其4.4.0或更高版本。
答案 1 :(得分:2)
我应该忽略这一点,还是确实表明某些问题?
如果要添加显式nuget包,然后使用浮动版本sudo apt install aptitude && sudo aptitude install golang gcc-7 g++-7
更改它,您可以尝试删除Version="4.*"
文件夹中的文件project.assets.json
,然后恢复nuget包
这是因为此包信息的依赖关系存储在obj
文件夹中的文件project.assets.json
中。当您将版本从4.x.x更改为4. 时,nuget无法知道这些依赖项是否仍然与版本4兼容。。因此,Visual Studio可能会给出黄色三角形,但没有任何错误。
您可以查看类似问题here。