gpt4 book ai didi

c# - 预定义类型 'System.ValueTuple` 2' 未定义或未导入

转载 作者:行者123 更新时间:2023-12-01 03:02:24 24 4
gpt4 key购买 nike

我有一个包含大约 20 个 C# 项目的 .NET 解决方案文件。所有这些都针对 .NET Framework 4.6.2。在几个项目中,我可以轻松编写 var t = ("hello", "world"); 并且编译器很高兴。但是在相同解决方案的某些项目中,对于完全相同的代码段,编译失败并使用 Predefined type System.ValueTuple`2 is not defined or imported

我已经检查了以下几点:

  • 解决方案或项目目录中的任何位置都没有 mscorlib.dll
  • binobj 已被多次删除。
  • 问题可以在同事的电脑上重现。
  • 没有一个项目在使用 NuGet 包 System.ValueTuple
  • 我在所有 *.csproj 文件中对 ValueTuple 进行了文本搜索,没有任何匹配。

  • 我知道有几十篇文章与这个错误有关。但他们中的大多数只是说:安装 NuGet 包或更新您的 .NET Framework 版本。不幸的是,它们似乎都没有涵盖我遇到的问题。我不想安装或升级任何东西,而是想了解这种行为。

    最佳答案

    我终于找到了罪魁祸首:有一个针对 .NET Standard 2.0 的项目。每个引用 .NET Standard 项目的 .NET Framework 项目都会自动从 GAC 获取对 System.ValueTuple.dll 的引用(在我的例子中,这是 .NET Framework 4.7.2)。
    没有引用 .NET Standard 项目的每个项目都没有引用。因此,不能使用代码段 var t = ("hello", "world");

    关于c# - 预定义类型 'System.ValueTuple` 2' 未定义或未导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60226456/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com