.Net Framework 버전 (4.6.2-4.7.2)을 업데이트 한 후 GetPathsOfAllDirectoriesAbove ()를 평가할 수 없습니다


12

내가 작업 한 프로젝트가 .NET Framework 4.6.2에서 4.7.2로 업그레이드되었습니다. 빌드 할 때 내 코드가 아닌 파일에서 다음 오류가 발생합니다.

여기에 이미지 설명을 입력하십시오

또한 프로젝트 속성의 빌드 탭에 동일한 오류가 표시됩니다.

[2]

나는 길을 잃었다-나는 오류를 찾고 빈 상태로오고있다. 전에이 문제가 발생했거나 해결 된 적이 있습니까?

답변:


22

빌드 도구를 업그레이드 한 후 MSBUILD에서 Roslyn으로 변경된 것 같습니다. Microsoft.Managed.Core.targets 는 Roslyn 대상 파일입니다.

다음 Nuget 패키지가 설치되어있는 경우 :

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net. 컴파일러

그런 다음 문제가 발생했을 수 있습니다. Microsoft.CodeDom.Providers.DotNetCompilerPlatform를 2.x로 업그레이드하고 두 번째 것을 제거하십시오. 문제가 해결 될 것입니다.


그것은 미묘했지만 당신이 말한 것을 알아내는 데 도움이되었습니다. 4.7.2에 대한 업데이트가 나가는 동안 완료되었으므로 실제로는 4.6.2 만 있었고 Visual Studio에서 SDK를 다운로드하도록했습니다. 우리가 MSBuild를 사용하는 동안 프로젝트 빌더를 Roslyn으로 변환해야합니다. 모든 것을 되돌리고 4.7.2 SDK가 이미 설치된 상태로로드하면 문제가 해결되었습니다 ...
— Matt

감사!! 필자의 경우 Microsoft.Net.Compilers 2.0을 사용했지만 버전이 충돌하지 않는 것 같지만 패키지 업그레이드 후 Microsoft.Net.Compilers 3.4가 설치되어 악몽이 시작되었습니다. 방금 Microsoft.Net.Compilers를 제거하고 프로젝트가 정상적으로 컴파일됩니다 :)
— Jcis

실수로 다운 보트했습니다. 수정하려면 1 시간 정도 기다려야합니다. 이 문제는 VS 2017 v2019도 btw와 관련이 있습니다.
— smoore4

Microsoft.Net.Compilers를 제거하면 해결되었습니다! +1
— Benj Sanders

0

Microsoft.Net.Compilersv3에서 v2로 다운 그레이드 할 때 2.x (vs2017)와 3.x (vs2019) 간의 호환성 문제와 같은 오류가 발생하여 VS2017 만있는 빌드 에이전트에서 문제가 해결되었습니다. v3에는 roslyn-analyzer 릴리스 사양 당 VS 2019 이상이 필요합니다 .

관련 오류에 Method 'System.String.GetPathsOfAllDirectoriesAbove' not found따라-VS2017은 호환성에 대한 단서 인 CSPROJ를 열지 않습니다.

VS 2017- Microsoft.Net.Compilersv3에 누락 된 기능을 설치하는 CSPROJ 옵션

여기에 이미지 설명을 입력하십시오

VS 2017-누락 된 기능 설치

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.