James Ko James Ko - 2 months ago 23
C# Question

How to switch between target frameworks for .NET Core projects in Visual Studio

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
#elif NET40

Now, in Visual Studio when you view the
file, one of the
sections will be grayed out- either
. Here's how it shows up on my laptop:

enter image description here

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!


At the top of your editor should be the navigation bar. Left in the navigation bar is a dropdown menu that lets you select the context.

If the navigation bar is hidden, you can enable it by going into Tools > Options > Text Editor > C# and check the navigation bar checkbox.