프로그래밍 방식으로 .resx 파일 작업한 프로젝트에서 

제목과 같은 오류가 발생하는 경우...


지금 다니는 회사의 경우 해외 개발팀과 협업을 하는데 해외 개발팀에서 작업한 프로젝트에서 

"사용자 지정 도구 ResXFileCodeGenerator가 입력 파일 ***.resx에 대한 출력을 생성하지 못했지만 특정 오류가 기록되지는 않았습니다. " 


라는 오류가 발생. 


오류메세지로 검색해 봤지만 결과가 없었고...

오류메세지를 영어로 검색하기 위해 비주얼 스튜디오를 영문으로 변경해서 빌드한 결과... 빌드가 됨-_-;


정리.

해외 샘플을 받거나 해외 개발팀이랑 협업을 하는 경우, 위의 에러메세지를 만나게 된다면

비주얼 스튜디오 도구->옵션, 환경->국가별 설정 으로 가서 English를 선택 후 빌드하면 해결.



한번 빌드하고 나면 다시 비주얼 스튜디오를 한글로 변경해도 문제 없이 빌드 가능.




Posted by zinzza
내가 아는거/.Net Core2018. 2. 22. 17:39

이거때문에 오랫동안 개고생.


.net core 2.0 개발을 하다보면 튜터리얼부터 로컬디비를 사용하는 경우가 많은데,

이상하게 dotnet ef , 웹앱에서 DB접속은 문제가 없는데...

VisualStudio 에서 "SQL Server 개체 탐색기"  또는 "SQL Management Studio"으로 

SQLLocalDB에 접속하면 문제가 발생.


오류메세지...
파이프의 다른 끝에 프로세스가 없습니다. Microsoft SQL Server, 오류: 233


개발하는데 문제는 없었기 때문에 짜증은 나지만 해결하려고 하지 않다가 

원인을 찾아서 고치는데 한참 걸려서... 아까워서 기록합니다.


개고생한 원인

보통은 VisualStudio 만 설치하면 SQLLocalDB가 설치되기 때문에 그데로 사용하면 문제가 없는데,

나는 미쳤는지 MSSQL-Express 를 설치했는데..

문제는 이게 localDB를 설치하고, 결국 SQLLocalDB의 버전이 2개가 되면서 문제가 발생.


확인

명령어 프롬프트를 관리자모드로 실행하고 SQLLocalDB 명령어를 이용해서 localDB를 점검해줘야 한다.

참고:

https://docs.microsoft.com/ko-kr/sql/relational-databases/express-localdb-instance-apis/command-line-management-tool-sqllocaldb-exe


C:\sqllocaldb i   

MSSQLLocalDB

ProjectsV13


sqllocaldb i  명령어를 입력하면 localDB 목록이 나옴.


C:\sqllocaldb v

Microsoft SQL Server 2016 (13.1.4001.0)

Microsoft SQL Server 2017 (14.0.1000.169)


sqllocaldb v 명령어를 입력하면 설치된 localDB의 버전이 나옴.

나는 Microsoft SQL Server 2017 (14.0.1000.169) < 이놈이 문제였음.


C:\sqllocaldb i mssqllocaldb

이름:               mssqllocaldb

버전:            14.0.1000.169

공유 이름:

소유자:            ...................

자동 생성:        예

상태:              실행 중

마지막 시작 시간:    2018-02-22 오후 3:17:11

인스턴스 파이프 이름: np:\\.\pipe\LOCALDB#AC37BB33\tsql\query


sqllocaldb i mssqllocaldb 명령어를 이용해서 mssqllocaldb(데이터베이스 이름)의 정보를 보면.

버전이 14.... Visual Studio 2017 기준으로 13이 맞음... 젠장.



해결

VisualStudio 2017 Professional 기준으로 Microsoft SQL Server 2016 LocalDB 을 남겨놓고 모두 삭제하면 됨.

이미 삭제해서 없지만 Microsoft SQL Server 2017 LocalDB 가 있었음.



추가

LocalDB를 삭제했지만, 이미 만들어져있는 MSSqlLocalDB 의 버전이 14.... 이기 때문에 삭제하고 다시 만들어줘야 함.


C:\sqllocaldb p mssqllocaldb

LocalDB 인스턴스 "mssqllocaldb"이(가) 중지되었습니다.


sqllocaldb p mssqllocaldb  "p" 명령어를 이용해서 DB를 멈추고(안멈추면 삭제가 안됨)


C:\sqllocaldb d mssqllocaldb

LocalDB 인스턴스 "mssqllocaldb"이(가) 삭제되었습니다.


sqllocaldb d mssqllocaldb  "d" 명령어를 이용해서 DB를 삭제.

그러면 자동으로 다시 MSSQLLocalDB를 만들어짐.

자동으로 만들어질때 설치된 localDB의 최신버전으로 만들어지기 때문에 위 내용대로 필요없는 버전은 삭제하고 진행해야 함.




Posted by zinzza