我以为ValueTuple是内置在.NET标准2.0中的?

我以为ValueTuple是内置在.NET标准2.0中的?,.net,.net-framework-version,.net-standard-2.0,valuetuple,.net,.net Framework Version,.net Standard 2.0,Valuetuple,我有一个.NET Framework 4.7.2网站,运行的是.NET标准2.0类库DLL。我以为我理解ValueTuple和.NET标准2.0。显然我没有。下面是在.NET标准2.0 DLL中定义的ValueTuple public static IEnumerable<(string state, int program)> StateManufacturers { get { //blah blah, re

我有一个.NET Framework 4.7.2网站,运行的是.NET标准2.0类库DLL。我以为我理解ValueTuple和.NET标准2.0。显然我没有。下面是在.NET标准2.0 DLL中定义的ValueTuple

    public static IEnumerable<(string state, int program)> StateManufacturers
    {
        get
        {
            //blah blah, read a database and return some StateManufacturers
            return _StateManufacturers;
        }
    }
编译器错误消息:BC30643:属性“StateMacturers”的类型不受支持

如果我使用完全相同的代码并将其移动到.NETFramework4.7.2类库DLL中,它就可以正常工作。 它在.NET标准2.0中应该可以正常工作。
我错过了什么?MSFT鼓励我们转向.NET标准2.0+,但类似的事情不断发生…

我有点困惑。你在展示C代码和a。你能提供一个吗?原来的代码是用VB编写的。我将一行代码转换为C#,以保持与以前的代码一致。无论如何,这是原始的…Dim validStateManufacturers=ABC.Globals.stateMufacturers。谜团仍然存在……为了添加更多的上下文,我已经用Microsoft.Net.Compilers(rosyln)2.8.0构建了它。我假设它理解ValueTuple,因为在.NET标准2.0之外还有其他代码使用ValueTuple。仍然需要重新编写。我有点困惑。你在展示C代码和a。你能提供一个吗?原来的代码是用VB编写的。我将一行代码转换为C#,以保持与以前的代码一致。无论如何,这是原始的…Dim validStateManufacturers=ABC.Globals.stateMufacturers。谜团仍然存在……为了添加更多的上下文,我已经用Microsoft.Net.Compilers(rosyln)2.8.0构建了它。我假设它理解ValueTuple,因为在.NET标准2.0之外还有其他使用ValueTuple的代码。仍然需要重新编写。
var validStateManufacturers = ABC.Globals.StateManufacturers;