相关疑难解决方法(0)

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

我已经安装了一周前发布的Visual Studio 2017社区,我开始探索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);
}
Run Code Online (Sandbox Code Playgroud)

编译器生成错误:

错误CS8137无法定义使用元组的类或成员,因为无法找到编译器所需类型"System.Runtime.CompilerServices.TupleElementNamesAttribute".你错过了参考吗?

我试着用这个名字在框架中找到一个引用,但没有运气!

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

.net c# visual-studio c#-7.0 visual-studio-2017

87
推荐指数
4
解决办法
2万
查看次数

'ValueTuple <T1,T2>'存在于'System.ValueTuple ...'和'mscorlib ......'中

B"H

我正在尝试使用C#7的新Tuple功能,并遇到一些问题.实际上,他们工作正常,我不确定是什么改变让他们休息.

我有工作ASP.Net 4,MVC 5靶向.net framework 4.6.1

因此,为了使用元组,我必须使用Nuget包'System.ValueTuple'.没有它,项目将无法编译.它运作良好一段时间.然后今天当我加载任何使用元组的页面时,我得到了

编译器错误消息:CS0433:类型'ValueTuple'存在于'System.ValueTuple,Version = 4.0.2.0,Culture = neutral,PublicKeyToken = cc7b13ffcd2ddd51'和'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089 "

项目编译很好,如果我删除System.ValueTuple然后它不编译.但是当我在网页中运行它时,我得到了这个错误.

我在谷歌上的搜索建议ValueTuple添加到.net 4.7但我在项目的任何地方都没有参考4.7我没有编译4.7.我的VS 2017甚至没有这个选项.

谢谢

c# asp.net asp.net-mvc c#-7.0

5
推荐指数
1
解决办法
1414
查看次数