.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.