Say you have a .NET Core project that looks like this:
"frameworks": {
"net40": {},
"dotnet5.1": {}
}
And this is your C# code:
public class Foo
{
public static void Blah()
{
#if DOTNET5_1
DoSomething();
#elif NET40
DoSomethingElse();
#endif
}
}
Now, in Visual Studio when you view the .cs file, one of the #if sections will be grayed out- either DoSomething or DoSomethingElse. Here's how it shows up on my laptop:
Is it possible to get VS to 'switch context' between target platforms, so you can view what would be compiled for a particular platform? For example, I might want to check for any red squiggly lines for each framework before actually building the solution.
Any help would be appreciated, thanks!






net40? Your class library won't be compatible with .NET Core running against the full .NET Framework as the minimum supported Version is .NET 4.5.1. github.com/dotnet/corefx/blob/master/Documentation/architecture/… You'll need at least multitargetingnet451andnet40to support both, 4.0 and (ASP).NET Core against Full .NET Framework/Monodotnet5.1will take care of .NET 4.5, Windows 8, and most other platforms.net40will take care of .NET 4.0.