我已经安装了一周前发布的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功能,那么我们需要为每个项目做到这一点非常奇怪吗?
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甚至没有这个选项.
谢谢