216.73.216.180 TODAY : 765
자료실 서브 타이틀 아이콘

기술문서

 > 

C#, .NET, Visual Studio

충돌을 해결하고 경고 메시지가 표시되지 않게 하려면 app.config에서 "System.Runtime.CompilerServices.Unsafe, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 어셈블리의 버전을 "4.0.4.1" []에서 "4.0.6.0" [](으)로 다시 매핑하십시오.

자료 기본정보

충돌을 해결하고 경고 메시지가 표시되지 않게 하려면 app.config에서

주요 프로그램 스펙

  • 평점: 10.0
  • 라이선스: free

피드백 및 다운로드

  • 사용자 평점: 10.0
  • 조회: 68

제조사 및 등록 정보

  • 제작사: LUZENSOFT
  • 등록일: 2026-02-08 17:09:27
  •  

- 설명

충돌을 해결하고 경고 메시지가 표시되지 않게 하려면 app.config에서 "System.Runtime.CompilerServices.Unsafe, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 어셈블리의 버전을 "4.0.4.1" []에서 "4.0.6.0" [](으)로 다시 매핑하십시오.

충돌을 해결하고 경고 메시지가 표시되지 않게 하려면 app.config에서 "System.Runtime.CompilerService...

오류 해결 방법은


설치된 게 없는데도 그런 에러가 난다면 정말 당황스러우실 거예요. 😅 하지만 원인은 명확합니다!

지금 작성하신 코드에서 System.Runtime.CompilerServices.Unsafe 라이브러리는 직접 설치하지 않았더라도, .NET Framework 4.6.1에서 최신 보안 프로토콜(Tls12)을 사용하거나 특정 시스템 기능을 호출할 때 내부적으로(종속성으로) 자동 참조되는 경우가 많습니다.

비주얼 스튜디오가 똑똑하게 "이거 버전이 꼬였는데 내가 고치지는 못하겠고, 너한테 알려줄게!"라고 외치고 있는 상황입니다. app.config 파일이 비어있다면, 아래 단계를 그대로 따라 해서 파일을 강제로 업데이트해 보세요.


1. 가장 확실한 해결 방법 (NuGet 강제 설치)

설치된 게 없다고 나오더라도, 해당 라이브러리를 명시적으로 설치해버리면 비주얼 스튜디오가 강제로 버전을 고정하고 app.config를 자동으로 만들어줍니다.

  1. 비주얼 스튜디오 상단 메뉴: 도구(Tools) -> NuGet 패키지 관리자 -> 패키지 관리자 콘솔을 엽니다.

  2. 아래 명령어를 입력하고 엔터를 누릅니다.

    PowerShell

    Install-Package System.Runtime.CompilerServices.Unsafe -Version 4.0.6.0
    
  3. 설치가 완료되면 app.config 파일이 자동으로 생기거나, 내용이 업데이트될 것입니다.

2. app.config가 아예 없다면?

만약 프로젝트에 app.config 파일 자체가 안 보인다면:

  1. 솔루션 탐색기에서 프로젝트 우클릭 -> 추가(Add) -> 새 항목(New Item).

  2. **구성 파일(App Configuration File)**을 선택하고 이름을 App.config로 해서 추가합니다.

  3. 파일이 열리면 아래 내용을 그대로 복사해서 붙여넣고 저장하세요.

XML

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>


3. 왜 이런 일이 생길까요?

사용자님은 아무것도 안 하셨겠지만, WebClient로 HTTPS(pds.luzensoft.co.kr)에 접속하기 위해 설정한 **ServicePointManager.SecurityProtocol**이나 내부 통신 로직이 최신 .NET 구성 요소를 건드리면서 발생한 현상입니다.

특히 4.6.1 버전은 과도기적 버전이라 이런 "어셈블리 바인딩" 문제가 정말 자주 발생합니다. (보통 4.7.2 이상으로 올리면 많이 사라지긴 합니다.)


마지막 체크리스트

  • 다시 빌드: app.config 수정 후 꼭 **[솔루션 다시 빌드]**를 누르세요.

  • 참조 확인: 솔루션 탐색기의 References(참조) 항목에 System.Runtime.CompilerServices.Unsafe가 들어있는지 확인해 보세요. (없다면 1번 방법으로 설치하면 생깁니다.)


이 카테고리 Navigation
전체 카테고리 Navigation