본문 바로가기
개발팁

Visual Studio 2022에서 .Net Framework 4.5 문제해결, The C# project xxx targets .NET Framework 4.5, which is no longer supported 해결법

by devscb 2023. 10. 11.
반응형


Visual Studio 2022에서 .Net Framework 4.5 문제해결, The C# project xxx targets .NET Framework 4.5, which is no longer supported 해결법
Visual Studio 2022에서 .Net Framework 4.5.1 문제해결
Visual Studio 2022에서 .Net Framework 4.5.2 문제해결
Visual Studio 2022에서 .Net Framework 4.6 문제해결
Visual Studio 2022에서 .Net Framework 4.6.1 문제해결
Visual Studio 2022에서 .Net Framework 4.0 문제해결

visual studio 2017을 사용하다가 로딩속도 등이 너무 느린거 같아서 찾아보던중,
최신버전을 설치하면 좀 나아진다는 구글링 결과가 있어서 최근에 visual studio 2022를 설치하였습니다.

그런데 기존 프로젝트를 여는데, 아래와 같은 팝업이 떴습니다.

 

한글로는 다음과 같은 문구의 에러문구입니다.

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(983,5): warning MSB3644: ".NETFramework,Version=v4.5" 프레임워크에 대한 참조 어셈블리를 찾을 수 없습니다. 이 문제를 해결하려면 이 프레임워크 버전에 대한 SDK 또는 타기팅 팩을 설치하거나 응용 프로그램의 대상을 SDK 또는 타기팅 팩을 설치한 프레임워크 버전으로 변경하십시오. 어셈블리는 GAC(전역 어셈블리 캐시)에서 확인되며 참조 어셈블리 대신 사용됩니다. 따라서 어셈블리의 대상이 사용자가 의도하는 프레임워크로 올바르게 지정되지 않을 수 있습니다. [xxx.csproj]

 

C# 프로젝트 XXX은(는) 더 이상 지원되지 않는 .NET Framework 4.5을(를) 대상으로 합니다. 언제든지 대상 프레임워크를 변경할 수 있으며,
안정성 및 보안을 위해 지원되는 최근 릴리스로 이동하는 것이 좋습니다.

 

 

 

이에 대한 해결방안을 알아보겠습니다.

해결방안1

  1. 먼저 visual studio 2022 를 종료합니다.
  2. 아래 사이트에 접속합니다.
    https://www.nuget.org/packages/microsoft.netframework.referenceassemblies.net45
  3. 아래 화면과 같이 우측에 있는 download package를 눌러 파일을 다운로드해줍니다.
  4. 다운로드 받은 파일의 확장자를 nupkg에서 zip로 바꿉니다.
  5. 4의 압축파일을 해제해줍니다. 그러면 아래와 같은 파일들이 나옵니다.
  6. 압축이 풀린 폴더중 build\.NETFramework\v4.5\ 의 파일을 복사하여,
    아래 폴더로 이동해줍니다.
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
  7. 이제 다시 visual studio 2022를 열어서 프로젝트를 로드하면 에러팝업없이 정상적으로 로딩됩니다.

해결방안2

에러 팝업에서 Update the target to .NET Framework 4.8 (Recommended) 선택버튼을 누르고,
continue를 누르면 해결이 가능하기도 합니다.
프로젝트의 배포 타겟을 .NET framework 4.8로 변경하는 옵션입니다.
하지만, 배포환경이 .NET framework 4.5를 여전히 사용해야한다면 이 옵션을 선택하면 정상동작하지 않게 됩니다.
배포환경이 4.8버전을 쓰더라도, .NET framework 4.5와 4.8간의 호환성에 대해 기능 검증이 철저하게 이루어져야 문제가 발생하지 않을것입니다.

시도했으나, 해결되지 않는 해결법 - Download .NET Framework 4.5 targeting pack

팝업 내용상 Download .NET Framework 4.5 targeting pack을 선택하는것도 해결방안인것처럼 보입니다.


이 옵션을 선택하고, continue를 누르면 아래 주소로 이동하게 됩니다.
https://dotnet.microsoft.com/en-us/download/visual-studio-sdks

Out of support Versions를 누르면, 아래와 같이 .NET Framework developer / runtime 다운로드 링크가 나옵니다.
그런데, .NET Framework 4.5는 developer pack 이 존재하지 않습니다.
그렇다고해서 .NET Framework 4.5.1이나 4.5.2를 다운받아 설치하여도 문제가 해결되지는 않았습니다.

이 글을 읽으신 분들은 고생안하셨으면 좋겠습니다.

그 외 버전에서 처리방법

아래와 같이 4.0, 4.5.1, 4.5.2, 4.6 버전에 대해서도 거의 같은 방식으로 처리를 할 수 있습니다.

The C# project ~ targets .NET Framework 4.0, which is no longer supported.

The C# project ~ targets .NET Framework 4.5.1, which is no longer supported.

The C# project ~ targets .NET Framework 4.5.2, which is no longer supported.

The C# project ~ targets .NET Framework 4.6, which is no longer supported.

아래 주소 맨 끝의 숫자를 바꿔서 수행해주기만 하면 문제해결이 가능합니다.

https://www.nuget.org/packages/microsoft.netframework.referenceassemblies.net45
예를 들어, 4.5.1버전은 아래 주소로 접속하여 패키지 압축을 풀고, program files ~ v4.5.1 폴더에 파일을 넣어주면 되는 방식입니다.

https://www.nuget.org/packages/microsoft.netframework.referenceassemblies.net451

총평

구글링하다가 어떤 글에서는 visual studio 2019를 설치해야 해결이 된다는 글도 있어서 시도해볼까하다가
제가 사용하는 개발환경의 디스크 용량이 크지 않아 시도할 수 없었습니다.
그렇다고 visual studio 2022를 지우고 visual studio 2019로 다시 설치 하기에는
visuasl studio 2022도 설치하는데 시간이 꽤 오래 걸리고 언젠가 2022를 쓰게 될 것이기에 꺼리는 방안이었습니다.
(회사에서 개발하기 힘들군요..)
다른 방법이 있을지 더 찾아보니, 해결방안이 다행히 나왔고, 정상적으로 잘 수행이 되었습니다.
4.5버전 프레임워크 설치를 하면 해결된다고 하면 바로 4.5버전 프레임워크를 다운로드 받을 수 있도록 연결하여 해결했으면 했는데, 아쉬운 부분이었습니다.
시간이 좀 소요되었지만, 그나마 해결방법이 구글링하여 나와서 다행이었습니다.
추가적으로, 최적화가 잘 된것인지 확실히 visual studio 2017보다는 visual studio 2022가 더 빠른 느낌이 듭니다.
visual studio 구 버전을 쓰시는 분들은 2022버전 사용하시는 것을 추천드립니다.

아래는 검색을 위한 에러 메시지를 기록합니다.

The C# project ~ targets .NET Framework 4.5, which is no longer supported.
While you can change your target framework at any time, for stability and
security we recommend that you move to the most recent supported release.

The C# project ~ targets .NET Framework 4.0, which is no longer supported.

The C# project ~ targets .NET Framework 4.5.1, which is no longer supported.

The C# project ~ targets .NET Framework 4.5.2, which is no longer supported.

The C# project ~ targets .NET Framework 4.6, which is no longer supported.

Update the target to .NET Framework 4.8 (Recommended)
Download .NET Framework 4.5 targeting pack (opens in browser).
Do not load this project

Download .NET Framework 4.0 targeting pack (opens in browser).

Download .NET Framework 4.5.1 targeting pack (opens in browser).

Download .NET Framework 4.5.2 targeting pack (opens in browser).

Download .NET Framework 4.6 targeting pack (opens in browser).

error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.5” were not found.
To resolve this, install the SDK or Targeting Pack for this framework version or
retarget your application to a version of the framework for which you have the SDK or Targeting Pack installer

error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.0” were not found.

error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.5” were not found.

error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.5.1” were not found.

error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.5.2” were not found.

error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.6” were not found.

#visual”,”studio”,”visualstudio”,”visualstudio2017”,”visualstudio2019”,”visualstudio2022”,”비주얼”,”비쥬얼”,”스튜디오”,”스투디오”,”비주얼스튜디오2022”,”비쥬얼스튜디오2022”,”비주얼스튜디오2019”,”비쥬얼스튜디오2022

https://devscb.com/post/179

 

Troubleshooting .Net Framework 4.5 issue in Visual Studio 2022, The C# project xxx targets .NET Framework 4.5, which is no longe

Troubleshooting .Net Framework 4.5 in Visual Studio 2022, The C# project xxx targets .NET Framework 4.5, which is no longer supportedTroubleshooting .Net Framework 4.5.1 issues in Visual Studio 2022Tr

devscb.com

 

728x90
반응형

댓글