Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

C# 컴파일 오류 - Your project is not referencing the ".NETFramework,Version=v3.5" framework.

재현 상황은 이렇습니다.

(제가 테스트한 버전 기준) .NET Framework 4.7.1 프로젝트 생성 후 NuGet으로부터 아무 라이브러리나 참조 추가합니다. 그럼, /obj 폴더에 이와 관련한 파일들이 생성됩니다.

project.assets.json
ConsoleApp1.csproj.nuget.g.props
ConsoleApp1.csproj.nuget.g.targets
ConsoleApp1.csproj.nuget.cache

그다음, 참조 추가했던 그 NuGet 라이브러리를 다시 제거합니다. 이후, 프로젝트의 대상 프레임워크 버전을 3.5로 낮춥니다. 이제부터는 빌드 시 다음과 같은 컴파일 오류가 발생합니다.

Project "F:\ConsoleApp1\ConsoleApp1.csproj" on node 1 (default targets).
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets(186,5): error : Your project is not referencing the ".NETFramework,Version=v3.5" framework. Add a reference to ".NETFramework,Version=v3.5" in the "frameworks" section of your project.json, and then re-run NuGet restore. [F:\ConsoleApp1\ConsoleApp1.csproj] Done Building Project "F:\ConsoleApp1\ConsoleApp1.csproj" (default targets) -- FAILED.


원인은 project.assets.json 파일에 있던 NuGet 설정이 프레임워크 버전의 변경에 따라 함께 바뀌지 않았기 때문입니다. 참조된 NuGet 라이브러리가 없으므로 관련 파일들도 업데이트하지 않았던 것입니다. 그리고 project.assets.json 파일에 보면 다음과 같이 4.7.1 설정으로 있어,

{
  "version": 3,
  "targets": {
    ".NETFramework,Version=v4.7.1": {},
    ".NETFramework,Version=v4.7.1/win": {},
    ".NETFramework,Version=v4.7.1/win-x64": {},
    ".NETFramework,Version=v4.7.1/win-x86": {}
  },
  "libraries": {},
  "projectFileDependencyGroups": {
    ".NETFramework,Version=v4.7.1": []
  },
  "packageFolders": {
    "C:\\Users\\SeongTae Jeong\\.nuget\\packages\\": {}
  },
  "project": {
    "version": "1.0.0",
    "restore": {
      ...[생략]...
      ],
      "originalTargetFrameworks": [
        "net471"
      ],
      "sources": {
        "https://api.nuget.org/v3/index.json": {},
      },
      "frameworks": {
        "net471": {
          "projectReferences": {}
        }
      }
    },
    ...[생략]...
  }
}

"Your project is not referencing the ".NETFramework,Version=v3.5" framework."라는 컴파일 오류가 발생하게 된 것입니다.

원인을 알았으니 ^^ 해결 방법은 간단합니다. 그냥 다음의 2개 파일을 지우거나,

\obj\
    project.assets.json
    [프로젝트 이름].csproj.nuget.g.props

또는 obj 폴더 자체를 삭제해 주면 됩니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 9/15/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11116정성태12/21/201629027디버깅 기술: 84. NopCommerce의 Autofac 부하(CPU, Memory) [2]
11115정성태12/21/201631937Windows: 133. 윈도우 서버 2016에서 플래시가 동작하지 않는 경우 [2]
11114정성태12/19/201644437Windows: 132. 역슬래시(backslash) 문자가 왜 통화 표기 문자(한글인 경우 "\")로 보일까요? [2]
11113정성태12/6/201623482오류 유형: 373. ICOMAdminCatalog::GetCollection에서 CO_E_ISOLEVELMISMATCH(0x8004E02F) 오류 발생파일 다운로드1
11112정성태11/23/201629026오류 유형: 372. MySQL 서비스가 올라오지 않는 경우 - Error 1067
11111정성태11/23/201637995.NET Framework: 627. C++로 만든 DLL을 C#에서 사용하기 [2]
11110정성태11/17/201626221.NET Framework: 626. Commit 메모리가 낮은 상황에서도 메모리 부족(Out-of-memory) 예외 발생 [2]
11109정성태11/17/201625732.NET Framework: 625. ASP.NET에서 System.Web.HttpApplication 인스턴스는 다중으로 생성됩니다.
11108정성태11/13/201624520.NET Framework: 624. WPF - Line 요소를 Canvas에 위치시켰을 때 흐림(blur) 현상파일 다운로드1
11107정성태11/9/201630934오류 유형: 371. Post cache substitution is not compatible with modules in the IIS integrated pipeline that modify the response buffers.파일 다운로드1
11106정성태11/8/201629374.NET Framework: 623. C# - PeerFinder를 이용한 Wi-Fi Direct 데이터 통신 예제 [2]파일 다운로드1
11105정성태11/8/201624389.NET Framework: 622. PeerFinder Wi-Fi Direct 통신 시 Read/Write/Dispose 문제
11104정성태11/8/201622412개발 환경 구성: 305. PeerFinder로 Wi-Fi Direct 연결 시 방화벽 문제
11103정성태11/8/201623522오류 유형: 370. PeerFinder.ConnectAsync의 결과 값인 Task.Result를 호출할 때 System.AggregateException 예외 발생
11102정성태11/8/201623818오류 유형: 369. PeerFinder.FindAllPeersAsync 호출 시 System.UnauthorizedAccessException 예외 발생
11101정성태11/8/201625084.NET Framework: 621. 닷넷 프로파일러의 오류 코드 - 0x80131363
11100정성태11/7/201633831개발 환경 구성: 304. Wi-Fi Direct 지원 여부 확인 방법 [1]
11099정성태11/7/201635626.NET Framework: 620. C#에서 C/C++ 함수로 콜백 함수를 전달하는 예제 코드파일 다운로드1
11098정성태11/7/201624735오류 유형: 368. 빌드 이벤트에서 robocopy 사용 시 $(TargetDir) 매크로를 지정하는 경우 오류 발생
11097정성태11/7/201627272오류 유형: 367. go install: no install location for directory [...경로...] outside GOPATH
11096정성태11/6/201630373디버깅 기술: 83. PDB 파일을 수동으로 다운로드하는 방법
11095정성태11/6/201627902.NET Framework: 619. C# - Cognitive Services 중의 하나인 Face API를 사용해 얼굴 인식 및 흐림(blur) 효과 적용 [1]파일 다운로드1
11094정성태11/5/201628981VC++: 105. Visual Studio 2013/2015 - Ceemple OpenCV 확장을 이용한 웹캠 영상 출력
11093정성태11/4/201629103웹: 34. Edge 브라우저도 지원하는 클립보드 복사를 위한 자바스크립트 코드
11092정성태11/3/201636424.NET Framework: 618. C# - NAudio를 이용한 MP3 파일 재생 [5]파일 다운로드1
11091정성태11/3/201629074VC++: 104. std::call_once를 이용해 thread-safe한 Singleton 객체 생성파일 다운로드1
... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...