2021/02/20

'GetPathsOfAllDirectoriesAbove() 식을 계산할 수 없습니다' 오류

기존 Webapp 에 컴파일 버전이 2.x 인데, Nuget 에서 3.8 로 업그레이드 실행. 그런데 오류나 가서 완료되지 않았고,..  다른 MS 기본 라이브러리 업데이트도 안됨..  다시 VS 실행하니 참조 라이브러리 모두 오류..


xxxx.csproj : error  : ""xxxx.cs".GetPathsOfAllDirectoriesAbove()" 식을 계산할 수 없습니다. 'System.String.GetPathsOfAllDirectoriesAbove' 메서드를 찾을 수 없습니다. xxxxx\packages\Microsoft.Net.Compilers.3.8.0\tools\Microsoft.Managed.Core.targets


일단, VS xxxxx.csproj 프로젝트 설정 파일에서, Microsoft.Net.Compilers.3.8.0 항목을 수동 제거하고, 프로젝트 다시 로딩... 일단 경고 에러는 안뜸...

  <Import Project="..\packages\Microsoft.Net.Compilers.2.10.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.10.0\build\Microsoft.Net.Compilers.props')" />

  <Import Project="..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props')" />


   <ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>

    </PropertyGroup>

    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.3.2\build\Microsoft.Net.Compilers.props'))" />

    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.10.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.10.0\build\Microsoft.Net.Compilers.props'))" />

  </Target>


닷넷 4.6.1 프로젝트에서는 컴파일 3.8 버전이 지원안되나..? (종속성에는 버전 제한이 없음)  오류 대상 .cs 파일에 위 에러 구문 연관 클래스를 사용한게 없는데.... 어떤글에선 VS.NET 2019 버전에서만 3.x 지원된다고.. (현재 VS2015, 닷넷 4.6.1 기반)

https://www.nuget.org/packages/Microsoft.Net.Compilers/2.10.0  내용을 보면, 닷넷 4.6.1 에서는 최대 2.1 버전 까지 이고, 3.x 버전은 4.7.2+ 필요하다고 되어 있음.. > Nuget 패키지 관리자에서는 왜 업데이트 하라고 띄운것이며, 종속성 검사는 왜 안한건지...?


■ OS 에 설치된 닷넷 파일 버전은 4.8 까지 표시가되고 있으나, VS.NET 에는 4.6.1 까지만 나옴.. 별도 지원 파일을 설치하면 가능 : https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral  에서 4.8 개발자팩 다운로드 설치.


어쨌든... 닷넷 4.x 에서는 컴파일러 3.8 버전은 설치 안되는듯.. 닷넷 5 부터 되는듯.. 정말.?  아무튼 컴파일러 버전 업데이트 포기.. 



댓글 없음:

댓글 쓰기

가장 많이 본 글