我有一个.NET解决方案文件,包含大约20个C#项目。它们的目标都是.NET框架4.6.2。在几个项目中,我可以轻松地编写var t = ("hello", "world");
,编译器也很高兴。但是,在相同解决方案的一些项目中,对于完全相同的代码,用Predefined type System.ValueTuple`2 is not defined or imported
编译失败。
我已经检查了以下内容:
在解决方案或项目中的任何地方都没有directories.
bin
和obj
被删除,几个times.
System.ValueTuple
.
*.csproj
文件中搜索ValueTuple
而没有匹配。我知道有几十篇文章与这个错误有关。但大多数人只是说:安装NuGet包或更新您的.NET框架版本。不幸的是,它们似乎都没有解决我遇到的问题。我不想安装或升级任何东西,而是想了解这种行为。
发布于 2020-02-14 13:14:00
我终于找到了罪魁祸首:有一个针对.NET标准2.0的项目。每个引用.NET标准项目的.NET框架项目都会自动从GAC获得对System.ValueTuple.dll
的引用(在我的例子中,这是.NET Framework4.7.2)。
没有引用.NET标准项目的每个项目都没有引用。因此,不能使用代码片段var t = ("hello", "world");
。
https://stackoverflow.com/questions/60226456
复制相似问题