I have a .NET Framework 4.7.2 website running with a .NET Standard 2.0 Class Library DLL. I thought I understood ValueTuple and .NET Standard 2.0. Apparently I don't. Here's a ValueTuple defined in a .NET Standard 2.0 DLL.
public static IEnumerable<(string state, int program)> StateManufacturers
{
get
{
//blah blah, read a database and return some StateManufacturers
return _StateManufacturers;
}
}
Here's what happens when it gets called from another file located in a 4.7.2 DLL...
var validStateManufacturers = ABC.Globals.StateManufacturers;
Compiler Error Message: BC30643: Property 'StateManufacturers' is of an unsupported type.
If I take that EXACT same code and move it to a .NET Framework 4.7.2 Class Library DLL, it works fine. According to this link it should work fine in .NET Standard 2.0. What am I missing? MSFT is encouraging us to move to .NET Standard 2.0+, and yet stuff like this keeps happening...