当前位置: 首页 > 知识库问答 >
问题:

无法从使用 Visual Studio 2017 和 C# 7.0 的方法返回元组

左丘昊天
2023-03-14

我已经安装了一周前发布的Visual Studio 2017 Community,并开始探索C#7的新功能。

所以我创建了一个返回两个值的简单方法

public class Program
{
    public static void Main(string[] args)
    {
        (int sum, int count) a = ReturnTwoValues();
    }

    static (int sum, int count) ReturnTwoValues() => (1, 1);
}

编译器正在生成错误:

错误CS8137无法定义使用元组的类或成员,因为找不到编译器所需的类型“System. Runtime. CompilerServices. TupleElementNames属性”。您是否缺少引用?

我尝试在框架中查找具有此名称的引用,但没有运气!

如果我们需要额外的东西来使用C#7.0功能,那么我们需要为每个项目都这样做是非常奇怪的?!

共有3个答案

徐涵亮
2023-03-14

更新到后,我也收到了这个错误。NET 4.7.2,并能够通过使用以下代码重新安装nuget包来修复它:

Update-Package -Reinstall
孙嘉
2023-03-14

我在安装后开始收到此错误。Net 4.7 Framework,并将我的项目更改为目标。Net 4.7

ValueTuple现在包含在中。Net 4.7,所以不用手动引用ValueTuple。

要纠正编译错误,我所要做的就是从我的项目引用中删除对System. ValueTuple的引用。

吕峰
2023-03-14

我刚刚浏览了Roslyn上的这一页,其中描述了实现此功能的以下步骤:

  1. 启动一个C#项目
  2. 添加对Nuget(预发布)
  3. 中的 System. ValueTuple包的引用

按照这些步骤,它现在正在工作。但我们开始的每个项目都需要这样做,这真的很奇怪!希望在我们正式发布时,这一问题得到解决!

 类似资料:
  • 问题内容: 我正在在线关注CS106A的讲座。我正在阅读第12讲中的代码,但这给了我Eclipse错误。 这是我的代码。似乎错误是由于我的方法中的单词void 。我尝试删除main方法,但是没有它,Java当然无法运行。 我是一名新手,没有人解释这东西的真正含义,但有人告诉我,请不要理会它并使用它。如果有人也可以向我解释,我将不胜感激。 这个错误也出现在“ toLower”方法上。不知道这意味着什

  • 问题内容: 我目前有一种方法可以检查3x3网格中中心项周围的内容,如果8个相邻位置中的内容包含我要检查的内容,我想在长度为7的数组上将该正方形标记为1。 为此,我需要在我的方法中创建并返回一个数组,这可能吗? 问题答案: 不知道是什么问题。你是这个意思?

  • 问题内容: 我想从C中调用一个在python模块中定义的自定义函数。我有一些初步的代码可以做到这一点,但是它只是将输出打印到stdout。 mytest.py 测试文件 如何将返回值提取到C double中并在C中使用它? 问题答案: 如前所述,使用PyRun_SimpleString似乎是个坏主意。 您绝对应该使用C- API(http://docs.python.org/c-api/)提供的方

  • 显然,是从函数返回可选值的最佳选择,如果使用C 17或增强(另见GOTW#90) 但是,如果一个人坚持使用旧版本(并且不能使用boost),那么什么是最好的选择呢? 我看到一些选择: > STL智能指针(仅限C 11) ()几乎与可选的用法相同 (−) 使用指向非多态类型或内置类型的智能指针令人困惑 把它和一个布尔配对 旧式 (−) 与新的C 11不兼容style DIY模板:具有相同功能的基本模

  • 我正在实现我自己的泛型链表类,它有一个名为的实例方法,该方法生成链表的数组副本并返回它。然而,每当我试图在实例上调用该方法时,我总是得到错误消息“sllist.this cannot be referenced from a static context”。我搜索了一下,有些人说这是因为我没有在实例上调用那个方法,但我确实调用了。 下面是类: 它有一些方法,如,它们都没有问题。 是我不断收到错误消

  • 我已经阅读并测试了所有这些答案(这个,这个和这个),但没有帮助(这也不是我第一次在这种情况下使用嘲笑,但这种情况对我来说很少见)。 我使用和进行单元测试。在测试时,我模拟了和并将它们传递给了它,一切正常,但没有返回空值,这是我的代码: 页反恐精英: PageViewModel: ViewModelTest.cs: