1

System.ValueType (4.3.1)我刚刚为 dotnet core 2 创建了控制台 F# 应用程序。VS 在包上显示感叹号。

抱怨 NuGet

我知道这个参考是隐含的

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

但 NuGet 似乎无法适应这种情况。这可能与此错误有关,但是包管理器甚至不会显示System.ValueTuple在引用的包中。尽管我在将应用程序发布为自包含时看到了该库。

我应该忽略这一点还是确实表明存在某些问题?

4

2 回答 2

1

我应该忽略这一点还是确实表明存在某些问题?

如果你是添加显式nuget包,然后用浮动版本更改它Version="4.*",你可以尝试删除文件夹project.assets.json中的obj文件,然后恢复nuget包。

那是因为此包信息的依赖项存储在文件夹project.assets.json中的文件中obj。当您将版本从 4.xx 更改为 4.时,nuget 无法知道这些依赖项是否仍与版本 4. 兼容。所以 Visual Studio 可能会给出黄色三角形但没有任何错误。

您可以在此处查看类似问题。

于 2018-06-08T05:39:02.173 回答
1

目标框架版本和包版本之间可能存在冲突。

根据nuget.orgSystem.ValueTuple 4.3.1dotnet core 2.0 不可用。所以为了使用System.ValueType你需要更新它的4.4.0或更高版本。

于 2018-06-07T09:46:22.600 回答