ValueTuple
.net Framework 프로젝트에 패키지 참조로 추가하는 것은 좋지 않습니다 . 아시다시피이 어셈블리는 4.7 .NET Framework에서 사용할 수 있습니다.
프로젝트가 ValueTuple
패키지 폴더 대신 .NET Framework 폴더의 모든 비용을 포함하려고 할 때 특정 어셈블리가 발견되지 않는 오류가 발생할 수 있습니다.
우리는 오늘 회사에서이 문제를 겪었습니다. 우리는 2 개의 프로젝트로 솔루션을 가지고있었습니다 (나는 그것을 단순화했습니다).
Lib
ValueTuple을 포함하고을 사용하고 Web
있었습니다 Lib
. 그것은 알 수없는 이유에 의해 밝혀졌다 Web
에 해결 경로로 시도 할 때 ValueTuple
가졌다 HintPath
.NET 프레임 워크 디렉토리에 잘못된 버전을 복용했다. 그로 인해 애플리케이션이 충돌했습니다. ValueTuple
에 정의되지 않은 .csproj
의Web
도 HintPath
그 조립. 문제는 매우 이상했다. 일반적으로 패키지 폴더에서 어셈블리를 복사합니다. 이번은 정상이 아니었다.
나를 위해 항상 System.*
패키지 참조 를 추가하는 것은 위험합니다 . 그들은 종종 시한 폭탄과 같습니다. 그들은 처음에는 괜찮으며 최악의 순간에 당신의 얼굴에서 폭발 할 수 있습니다. 내 규칙 : .NET Framework에System.*
Nuget 패키지를 사용하지 마십시오 실제로 필요하지 않은 경우 .
프로젝트 내의 파일에 수동 ValueTuple
으로 추가하여 문제를 해결 했습니다..csproj
Web