저번에 특정 cs파일을 찾을 수 없음과 SSL인증 오류관련 질문글 올린 사람입니다.

가. 문제점 설명
저번에 특정 cs파일을 찾을 수 없음과 SSL인증 오류 관련 질문 글 올린 사람입니다.
비쥬얼 스튜디오의 자체적 문제인가 싶어서 지웠다가 다시 설치하였더니 특정 cs파일을 찾을 수 없다는 오류는 해결이 되었습니다.
하지만 여전히 SSL 인증에 대한 오류는 고쳐지지 않고 있습니다.
다만, 특이한 것이 항상 오류가 발생하는 것이 아닌 간헐적으로 오류가 발생한다는 점입니다.
그리고 여기서 좀 더 발전 한 것이, 오류의 원인을 알 수 있었습니다.
아래는 오류의 원인입니다.

public async Task<MVersionCollection> GetVersionMetadatasAsync()
{
	var handler = new HttpClientHandler();
	handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; };
	using var wc = new HttpClient(handler);
	var res = await wc.GetStringAsync(MojangServer.Version);
	return parseList(res);
}

현재 제 솔루션에는 4개의 프로젝트가 존재합니다.
3개는 클래스 라이브러리로 사용 중인 프로젝트이며 나머지 1개는 메인으로 실행되는 프로젝트 입니다.
메인으로 실행되는 프로젝트의 대상 프레임워크는 .NET 6.0을 사용 중이며
위의 코드가 작성된 프로젝트의 대상 프레임워크는 net462와 netstandard2.1 이 두 개입니다.
혹시나 싶어서 해당 프로젝트의 프레임워크를 .NET 6.0으로 업데이트 해보았지만 여전히 현상은 똑같았습니다.

나. 문제를 해결하기 위한 시도
여기서 제가 시도해 본 행동들은 다음과 같습니다.

  1. WebClient였던 클래스를 HttpClient로 수정(위의 코드에는 현재 HttpClient로 되어 있습니다.)
  2. 프레임워크 버전 업그레이드
  3. 비쥬얼 스튜디오 언인스톨후 재인스톨
  4. 아래의 코드를 이용하여 SSL 보안 인증서를 무시하는 방법 사용
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

또는

handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; };

다. 문제에 대한 오류 설명
try-catch문으로 둘러싸 예외 내용을 확인한 결과 “SSL connection could not be established, see inner exception.” 라는 내부 예외가 발생하였습니다.
아래는 좀 더 자세한 오류(또는 예외) 정보입니다.

System.Net.Http.HttpRequestException
  HResult=0x80131620
  메시지=The SSL connection could not be established, see inner exception.
  소스=System.Net.Http
  StackTrace:
   / System.Net.Http.ConnectHelper.<EstablishSslConnectionAsync>d__2.MoveNext()
   / System.Threading.Tasks.ValueTask`1.get_Result()
   / System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   / System.Net.Http.HttpConnectionPool.<ConnectAsync>d__97.MoveNext()
   / System.Threading.Tasks.ValueTask`1.get_Result()
   / System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   / System.Net.Http.HttpConnectionPool.<CreateHttp11ConnectionAsync>d__99.MoveNext()
   / System.Threading.Tasks.ValueTask`1.get_Result()
   / System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   / System.Net.Http.HttpConnectionPool.<AddHttp11ConnectionAsync>d__74.MoveNext()
   / System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.<WaitWithCancellationAsync>d__1.MoveNext()
   / System.Threading.Tasks.ValueTask`1.get_Result()
   / System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   / System.Net.Http.HttpConnectionPool.<GetHttp11ConnectionAsync>d__76.MoveNext()
   / System.Threading.Tasks.ValueTask`1.get_Result()
   / System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   / System.Net.Http.HttpConnectionPool.<SendWithVersionDetectionAndRetryAsync>d__84.MoveNext()
   / System.Threading.Tasks.ValueTask`1.get_Result()
   / System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   / System.Net.Http.RedirectHandler.<SendAsync>d__4.MoveNext()
   / System.Net.Http.HttpClient.<GetStringAsyncCore>d__41.MoveNext()
   / CmlLib.Core.VersionLoader.MojangVersionLoader.<GetVersionMetadatasAsync>d__1.MoveNext() 파일 C:\Users\hancheol\Desktop\Modcraft\CmlLib\Core\VersionLoader\MojangVersionLoader.cs:줄 31
   / CmlLib.Core.VersionLoader.DefaultVersionLoader.<GetVersionMetadatasAsync>d__3.MoveNext() 파일 C:\Users\hancheol\Desktop\Modcraft\CmlLib\Core\VersionLoader\DefaultVersionLoader.cs:줄 40
   / CmlLib.Core.CMLauncher.<GetAllVersionsAsync>d__38.MoveNext() 파일 C:\Users\hancheol\Desktop\Modcraft\CmlLib\Core\CMLauncher.cs:줄 62
   / Modcrafts.MD_Setting.<refreshVersions>d__5.MoveNext() 파일 C:\Users\hancheol\Desktop\Modcraft\Modcraft\MD_Setting.cs:줄 43
   / Modcrafts.MD_Setting.<initializeLauncher>d__4.MoveNext() 파일 C:\Users\hancheol\Desktop\Modcraft\Modcraft\MD_Setting.cs:줄 38
   / Modcrafts.MD_Setting.<MCLSetting_Shown>d__9.MoveNext() 파일 C:\Users\hancheol\Desktop\Modcraft\Modcraft\MD_Setting.cs:줄 97

내부 예외 1:
IOException: Unable to read data from the transport connection: 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다..

내부 예외 2:
SocketException: 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다.

라. 결론
제 추측으로는 SSL 보안 인증서를 무시하지 못해서 일어난 에러인 것 같습니다.
하지만 여러 자료를 구글링하고 ChatGPT에게 질문도 해보았지만 여전히 상황은 좋아지지 않고 있습니다.
거의 6일 동안 헤매고 있는데 너무 답답해서 다시 이렇게 질문 글을 올려봅니다.
긴 글 읽어주셔서 대단히 감사하며 고수 분들의 답변을 기다리겠습니다.
감사합니다. 꾸벅…