80

I'm having some issues creating a project that targets .NET Framework 4.8. I am using Visual Studio 2019, upgraded to version 16.2.5. I have also installed the .NET Framework 4.8 Developer Pack. From the Visual Studio Installer, I don't see any option for enabling 4.8 development tools similar to 4.7.

0

13 Answers 13

89

Just had a similar issue with Visual Studio 2019 Community Edition: only .Net Core versions were shown.

I edited the .csproj file manually. I changed the line with the TargetFramework property to

<TargetFramework>net48</TargetFramework>

Oddly, now all other versions show up also.

Sign up to request clarification or add additional context in comments.

16 Comments

This looks like a bug. I followed all the other suggestions (VS 16.7.2 Community Edition, 4.8 Development Pack and Targeting Pack, and rebooting), but this fixed it.
Not all projects' .csproj files seem to hold <TargetFramework>. One of my projects just has <TargetFrameworkVersion>.
Also? I have now only .Net Framework and no .Net Core versions.. All these issues are dirty tricks of Microsoft to compel developer to use .Net Core. :(
VS Professional 2019 16.9.1 and this solution works
Still works in VS 2022
|
51

None of the solutions above fixed my issues but the one by Oak_3260548 Pointed me in the right direction.

In Visual Studio Installer, that can be accessed by clicking on "Tools / Get Tools and features" in the top menu, I selected the "Individual Component" tab and checked ".Net Framework 4.8 Targeting pack". That fixed it for me.enter image description here

6 Comments

tried this. still doesn't work for me.
With my Visual Studio 2022, I was able to select .NET Framework 4.8 as a target for a project, but not 4.8.1; but once I read this, and selected Tools/Get Tools and Features, and then scrolled the right pane down to the bottom and selected ".NET Framework 4.8.1 development tools" and updated the installation, 4.8.1 appeared in the project properties "Target framework" pulldown.
It was already checked for me.
I have .Net 4.8 installed, but still cannot select it in project properties
I already have that checked, but still cant add .Net4.8 projects
|
50

enter image description here

Just thought I'll post my issues as I stumbled across this too with VS2019 Winforms project, and couldn't target anything apart from .Net 5 and Core 3.1. Turns out there're 2 types of Winforms, Winforms App and Winforms App (.Net Framework). The former won't be able to target the other .net framework. The latter is able to. Duh! Simple stuffs that aren't obvious.

2 Comments

Thank you @Kenneth for this hint. This distiction holds for many template types. The text description often mentions ".NET Standard or .NET Core" (eg. Core 3.1 ... .NET 5.0) which obviously excludes ".NET Framework" (4 ... 4.8).
Yes! This is also the solution for my VS2022 problem with a library project (dll). I chose the on top item library (.net or .net standard) and now I recreated and gone down the list finding library (.net framework) and its all there.
35

This Visual Studio thread had all the answers I was looking for. The .NET Framework 4.8 Developer Pack includes both the SDK and Targeting Pack. After installing this and restarting Visual Studio, I can now see .NET Framework 4.8 as a targeting option for Visual Studio projects. You should not need to do any Visual Studio Installer steps.

Also mentioned in the above thread, .NET Framework 4.8 will be included in the Visual Studio installation process as of 16.3 (currently listed under 16.3 Preview 2).

7 Comments

I exited/re-opened VS and didn't see it. The link in this answer for Visual Studio thread isn't working
Sorry, but After installing this and restarting Visual Studio, I can NOT see .NET Framework 4.8
I installed it with VS2019 (v16.11.8) and I also can't see it. Doesn't work. I can only access Core and 5.
Just make sure that you installed the DEVELOPER PACK dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/…
this doesn't work for me
|
19

For anybody having this issue in VS 2019 Community edition. The problem in my case was confusion over which template to select. Templates for .NET Framework are in parenthesis and lower in the list (not showing at all in my case until I clicked the "clear" link next to the search box).

Examples:

Console App (.NET Framework) ASP.NET Web Application (.NET Framework) Class Library (.NET Framework) etc

3 Comments

I suspect this is the problem some people above are having, I was expecting to choose the Class Library project and select .NET Framework 4.8 as the Target Framework. I wasn't expecting there to be a whole new set of project types
This solved it for me. I now have a lot more options for projects. Microsoft does such stupid things!
This is the only answer that helped me. I have no idea why there is not a much clearer differentiation than this. Even filtering to 'Windows' in the platform dropdown in the project creation splash screen doesn't put .NET Framework projects at the top. This is really misleading as even the non-Framework WPF project has the tags 'C#', 'Windows' and 'Desktop' and sits HIGHER in the search results - as if the other ones will all have cross-platform capabilities even though this isn't the case. Thanks for this answer!
6

I installed framework 4.8 through VS under target frameworks. It wasn't selectable there, under project properties as I would expect.

I wound up having to re-create my VS project. For template, I found framework 4.8 through searching templates in project creation using framework c# console search params. I then copied my files over to the new project folder, and added them as existing items through the solution tool.

Comments

4

The solution for was was to add "Class Library (.Net Framework)" project to the solution, not "Class Library" which uses .Net Core.

Comments

1

Even with lower Visual studio (mine is 15.2 under Win 2008 R2), you can do it!

  1. Install both Net Framework 4.8 Runtime AND Developper Pack
  2. Reboot the server
  3. Open your existing project and in the project properties, switch the framework to 4.8

That's it!

Comments

0

I have found a solution: If I want Visual Studio Community 2019 to target .NET 4.8, I can create some simple projects by using Visual Studio Express 2013. In the Project settings I change the required .NET (up to 4.8) and save. After that, you can open that project with Visual Studio Community 2019 and you will see in the Project settings all .NET target options up to 4.8.

However, if you want to play with .NET Core 3.1 and .NET 5.0, you have to create a new project from within Visual Studio Community 2019.

Comments

0

No solution above solved my problem. The note in https://learn.microsoft.com/en-us/visualstudio/ide/step-1-create-a-windows-forms-application-project?view=vs-2019 point 2 note helped:

Note

If you don't see the Windows Forms App (.NET Framework) template, you can install it from the Create a new project window. In the Not finding what you're looking for? message, choose the Install more tools and features link.

The 'Install more tools and features' link from the 'Not finding what you're looking for' message in the 'Create new project' window

enter image description here

Next, in the Visual Studio Installer, choose the .NET desktop development workload.

enter image description here

After that, choose the Modify button in the Visual Studio Installer. You might be prompted to save your work; if so, do so. Next, choose Continue to install the workload.

Although I always check this when installing VS it was missing. And the tepmlates were missing even though I had the correct trageting packs installed.

1 Comment

Chimps abound ..
0

C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets

<!--
<GetReferenceAssemblyPaths
    Condition="'$(TargetFrameworkMoniker)' != '' and ('$(_TargetFrameworkDirectories)' == '' or '$(_FullFrameworkReferenceAssemblyPaths)' == '')"
    TargetFrameworkMoniker="$(TargetFrameworkMoniker)"
    RootPath="$(TargetFrameworkRootPath)"
    TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)"
    BypassFrameworkInstallChecks="$(BypassFrameworkInstallChecks)"
    >
  <Output TaskParameter="ReferenceAssemblyPaths" PropertyName="_TargetFrameworkDirectories"/>
  <Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths"/>
  <Output TaskParameter="TargetFrameworkMonikerDisplayName" PropertyName="TargetFrameworkMonikerDisplayName" Condition="'$(TargetFrameworkMonikerDisplayName)' == ''"/>
</GetReferenceAssemblyPaths>
-->

2 Comments

On newer 16.9, this is the only thing that worked. It did disable new .net5/.net core but I need to generally target 4.8 anyways
I have this error related to the a Azure Cloud Service Extended Project (ccproj). There mist be a better solution right? This is on Visual Studio 2022 Version 17.10.5.
0

1. Choose WPF APP (.NET Framework) with XAML

2. Select .NET 4.8

On Visual Studio 2022, I choose the WPF APP (.NET Framework) with XAML can support .NET Framework

1 Comment

By "Fromework" you mean "Framework" and by "XMAL" you mean "XAML" Someone that doesn't know might be slightly confused since there's no XMAL.
0

A bit late, but nothing worked for me except for the last answer in this thread.

After I checked .NET Framework project and item templates in Individual components I was able to create an asp.net 4.8 web project.

enter image description here

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.