Visual Studio 2019를 사용 중이다.

 

ASP.NET Core 3.1 프로젝트를 만들어 쓰고 있는데

기본 프레임워크에 있는 System.Security.Cryptography.Cng.dll을 참조해서 사용하다 보니

가끔씩 Visual Studio 2019 업데이트를 하고 나면 프로젝트 빌드가 안되는 황당한 문제가 생겼다.

원인을 살펴보니... 기본 프레임워크인 AspNetCore.App.Ref의 참조 경로가 업데이트 시 바뀌는데

이전 버전 경로를 삭제하고 새 경로만 만들어 놓는 바람에

기존 프로젝트에서 사용하고 있던 참조 경로를 인식하지 못하는 것.

 

예를 들면 이렇다.

 

Visual Studio 2019 16.8.0 버전에서는

C:\Program Files\dotnet\packs\Microsoft.AspNetCore.App.Ref\3.1.3에 관련 프레임워크를 설치하고,

Visual Studio 2019 16.8.1 버전에서는

C:\Program Files\dotnet\packs\Microsoft.AspNetCore.App.Ref\3.1.8에 관련 프레임워크를 설치하는데

Visual Studio 2019 16.8.3 버전에서는

C:\Program Files\dotnet\packs\Microsoft.AspNetCore.App.Ref\3.1.10에 관련 프레임워크를 설치한다.

 

문제는 업그레이드를 하면서 기존에 사용하던 경로를 삭제해 버린다는 것.

그러니 기존 프로젝트가 빌드가 될 리가... ㄷㄷ

하다 못해 기존 경로에 디렉터리 교차점(mklink /j 3.1.8 3.1.10)이라도 만들어놓고 삭제하든가... ㄷㄷ

 

드디어 ASP.NET Core도 하위 버전 호환성을 무시하는 환경 오류가 생기기 시작했다. 짜증나게.

node, React, React Native 등 수많은 오픈소스 모바일 프레임워크들이 하위 버전 호환을 무시해서

어마어마한 문제가 생기고 있는 것에 비해 대단히 안정적인 모바일 프레임워크라 생각했는데... ㄷㄷ

 

최신 버전 기준 아래와 같은 명령을 실행하면 기존 프로젝트에서 발생하던 문제들이 대충 다 해결된다.

 

cd /d c:\Program Files\dotnet\packs\Microsoft.AspNetCore.App.Ref\
mklink /j 3.1.8 3.1.10 2> NUL
mklink /j 3.1.3 3.1.8 2> NUL

 

단, 이후 Visual Studio를 업데이트할 때는 위 경로에 생성한 디렉터리 교차점들을 다 삭제해야 한다.

 

 

 



Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]