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

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

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

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

[2]

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



답변

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

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

  • Microsoft.CodeDom.Providers.DotNetCompilerPlatform

  • Microsoft.Net. 컴파일러

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


답변

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-누락 된 기능 설치

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


답변