我刚刚将.Net Standard 1.4 PCL dll升级到.Net Standard 2.0。我正在尝试编写一个返回ValueTuple的方法,我得到错误:
Cannot define a class or member that utilizes tuples because the compiler required type 'System.Runtime.CompilerServices.TupleElementNamesAttribute' cannot be found. Are you missing a reference?
但是......有点儿。以下是我的project.json所说的内容:
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "2.0.0",
"Newtonsoft.Json": "10.0.3",
"System.Collections.Specialized": "4.3.0",
"System.ComponentModel.Annotations": "4.4.0",
"System.Net.Http": "4.3.2",
"System.Reflection": "4.3.0",
"System.Runtime.Serialization.Primitives": "4.3.0",
"System.ServiceModel.Primitives": "4.4.0",
"System.ValueTuple": "4.4.0"
},
"frameworks": {
"netstandard2.0": {}
}
}
但是当我扩展我对项目的引用时,我注意到没有列出几个包。
我试过这个answer没有成功。
编辑:我正在使用VS 2017
答案 0 :(得分:2)
我无法绕过这个SNAFU所以我最终只是创建了一个基于.net标准2.0的全新项目。将我的所有文件复制到新项目,并将其添加为我所有项目的参考。它摧毁了我的resharper,但其他一切都有效。
答案 1 :(得分:1)
我也遇到了这个问题。原来我的.csproj文件有下面的行,即使引用的版本是.NET Core 2.0。我删除了这些行并成功构建了项目。
<RuntimeFrameworkVersion>1.1.2</RuntimeFrameworkVersion>
<PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>