.net 引用类型';(,)&x27;声明其定义见';mscorlib';,但是找不到

.net 引用类型';(,)&x27;声明其定义见';mscorlib';,但是找不到,.net,visual-studio-2019,.net,Visual Studio 2019,我在我的wpf项目中突然在VS2019中遇到了这个编译时错误,到目前为止,它一直运行良好 错误:严重性代码描述项目文件行抑制状态 错误CS7069对类型“(,)”的引用声称它是在“mscorlib”中定义的,但找不到它 同样的项目,如果我在VS2017中运行,它工作得很好,我尝试了很多事情,比如清除临时文件,重新克隆代码库,但没有任何帮助。我无法从错误中获取它所声明的类型为“(,)” 有人能帮我解决这个问题吗?为什么我只在VS2019中得到,而不是在VS2017中得到,以及解决这个问题的任何方法

我在我的wpf项目中突然在VS2019中遇到了这个编译时错误,到目前为止,它一直运行良好

错误:严重性代码描述项目文件行抑制状态 错误CS7069对类型“(,)”的引用声称它是在“mscorlib”中定义的,但找不到它

同样的项目,如果我在VS2017中运行,它工作得很好,我尝试了很多事情,比如清除临时文件,重新克隆代码库,但没有任何帮助。我无法从错误中获取它所声明的类型为“(,)”


有人能帮我解决这个问题吗?为什么我只在VS2019中得到,而不是在VS2017中得到,以及解决这个问题的任何方法。我已经花了很多时间,如有任何帮助,将不胜感激。

System.ValueTuple
软件包安装到您的项目中。这就是可能导致您出错的原因。

除了AngryHacker的建议之外,还要确保如果您有多个项目,它们的.NET版本都匹配


在我的例子中,我有一个使用.NET Framework 4.7.2构建的项目,我在其中定义了一个返回ValueTuple的方法,然后从另一个使用.NET Framework 4.6.1构建的项目中调用了该方法。在将项目的.NET版本从4.6.1升级到4.7.2并重新启动VisualStudio后,我能够构建代码。

当您不在VS2017时,您在VS2019中获得此代码的原因是,在构建过程中,您的项目中包含了较新版本的
System.ValueTuple

您可以通过使用诊断日志进行构建并在日志中查找System.ValueTuple来找到问题所在。我有这个问题,并发现:

从“C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ValueTuple.dll”复制文件

通过构建日志,您应该能够找到在项目中修复它的位置,但正如@angryhacker在其回答中提到的,一种方法是将项目期望的
System.ValueTuple
包含在项目的引用中,或者在项目中安装Nuget包


@肖恩·基利安(sean killian)描述了不同版本可能存在分歧的另一种方式。编译错误很隐晦,但您应该在引用
系统的代码行中发现。ValueTuple
类型正在您的代码中使用,或者正在调用的函数的签名中使用。

该错误是否指向某些特定代码?这是否回答了您的问题@DCCoder否,我已经访问过此页面,无法解决我的问题。你知道错误中“引用类型“(,)”是什么意思吗。