본문 바로가기

코딩정보/C#

[C#] CS1056 예기치 않은 ' ' 문자입니다 오류 해결방법

반응형

안녕하세요

 

코딩연습생입니다

 

비쥬얼스튜디오 2010에서 작성한 C#코드를 비쥬얼 스튜디오 2017이 설치되어 있는 PC로 복사 후 실행 하였더니..

 

난생 처음 보는 에러가 뜨네요

 

 

헉...핵 당황...

 

처음 보는 오류라서 구글 검색을 엄청 많이 해봤어요

 

 

모든 외국 싸이트의 헬퍼글까지 읽었지만...

 

해결 방법이 안나오더라구요

 

제가 해본 방법은

 

1. Nuget으로 "Microsoft.CodeDom.Providers.DotNetCompilerPlatform"의 최신버전을 설치 해봐라.

   - 결과 실패

   - 다시 복원하는게 짜증남

 

2. C:\Users\Administrator\AppData\Local\Temp 폴더안에 있는 어셈블리를 삭제후 리빌드해봐라

  - 해당 폴더에 가면 아래와 같은 파일이 있는데 이걸 삭제 해보라고 함

  - 결과 실패

 

3. 언어 버전을 변경해 봐라

  - C# 4.0이 비쥬얼 스튜디오 2010, 비쥬얼스튜디오 2017은 C# 6.0을 지원한다고 합니다

  - 결과 실패

 

4. 소스 코드 재 설정(?)

  - 구글 검색하다 해외 헬퍼 글에서 이상한 글을 보게 됨

  - 빨간줄을 친 부분 간략하게 해석을 하면 

    '문제가 생긴 오류 코드에서 보이지 않는 오류 부분을 포함한 3줄을 삭제 후에 Enter키를 한번 누루고 재작성하면

    해결 됩니다.."

    무슨 X소리야!!!!

 

하지만 쥐푸라기라도 잡고 싶은 심정으로 해봣습니다...

 

오류 화면 입니다 202 오류..

 

해외 글에서 있는것 처럼 3줄을 삭제 했습니다

 

오류 내용이 바뀌엇네요?? 왠지 뭐가 될거 같기도....

 

지웠던 3줄의 내용을 다시 타이핑해서 다시 재생성 헀습니다

 

 

어이 없게 오류가 싹 사라졌어요..

 

빌드를 해볼께요..

 

 

이런 어이 없는 결과가 나왓네요...해결 되었습니다

 

이유를 유추해보면 비쥬얼스튜디오 버전별 Bulider 버전이 상이한데 2010으로 작성된 소스코드를 강제로

 

복사하여 2017로 실행하엿을 경우 Bulider이가 소스 코드의 문자열 판독을 이상하게 한다(?)

 

그래서 복사된 2017에서 코드를 재생성해서 빌드를 해주면 올바른 버전에서 끝점을 인식하여 정상화 된다

 

이런 이유인거 같습니다

 

혹시 저와 같은 오류로 몇일째 시간을 허비 하시는 분들을 위해서 포스팅 올려 드리니 시간 허비 하지 마시고

 

해결 하세요~

 

반응형