Visual Studio 2015 데이터베이스 프로젝트 디렉토리에는 확장명이 jfm 인 파일이 있습니다.


242

데이터베이스 프로젝트가 있다고 가정하면이라는 MyDatabase파일 MyDatabase.jfm이 프로젝트 디렉토리의 루트에 나타납니다.

  • Visual Studio에서 프로젝트가 열려있는 동안 독점적으로 잠김
  • 이진 파일입니다
  • 최근에 시작되었습니다 (지난 며칠)

통찰력을 제공하지 않은 Google 검색을 수행했습니다. 일부 이전 소프트웨어에 대한 참조가 있지만 대부분의 결과는 스팸 / 트로이잔웨어입니다. 나도 그렇게 보았지만 결과가 나오지 않았습니다.

누구나 그것이 무엇인지, 왜 거기에 있는지 알고 있습니까?

계획은 Visual Studio 용 gitignore 파일에 추가하는 것이지만 PR을 제출하는 것이 무엇인지 알아야합니다 ...

최신 정보

이제 팀 탐색기 변경 사항보기가 깨졌습니다. 출력 창에서 다음과 같이 변경 사항이 표시되지 않습니다.

출력 탭의 오류 스크린 샷

따라서 파일을 .gitignore 파일에 추가 하고 PR을 제출할 것 입니다. 결국이 파일이 무엇이며 어디에서 왔는지 알게되면 좋을 것입니다 ...


61
기념일 업데이트로 Windows 10을 업데이트했으며 이제이 파일이 생성되었습니다.
Fabian Vilers

16
.gitignore 파일에 * .jfm을 추가하면 문제가 해결되는 것 같습니다.
Fabian Vilers

4
농담해야합니다. 제거 및 재설치를 시도 했습니까?
pookie

3
+1 전혀 변화가 없었던 문제가있었습니다. gitbash를 통해 소스 제어에서 jfm 파일을 삭제하고 gitignore 파일에 추가하면 많은 어려움을 겪은 후에 문제가 해결되었습니다. 자식 "git rm -rf"가 작동하도록 Visual Studio를 닫아야했습니다.
Noobie3001

2
@ Noobie3001도 저에게 효과적이었습니다. .gitignore에 * .jfm을 추가하고, 원격 git repo에서 .jfm을 삭제하고, 로컬 변경 사항을 버리고 remote와 동기화하십시오. 문제가 해결되었습니다.
Ivan G.

답변:


187

이는 새 파일을 추가하는 SQL 프로젝트 가 사용하는 ESENT 엔진으로 인해 발생하는 문제 입니다. 이것은 데이터 손실을 피하기 위해 Windows 10 Anniversary Edition의 새로운 기능이지만 SQL 프로젝트가 프로젝트 루트 아래에 .dbmdl 캐시 파일을 저장한다는 사실은이 잠긴 파일이 Git 소스 제어에 추가됨을 의미합니다.

노트:

  • GitIgnore에서이 문제를 해결하기 위한 풀 요청 이 승인되었으며 Visual Studio 팀은 향후 업데이트에이를 포함시키기 위해 노력하고 있습니다. 이렇게하면 새 프로젝트의 경우 .gitignore 파일에 .jfm이 포함되고 문제가 발생하지 않습니다.
  • 핵심 SSDT 팀은 향후 업데이트에서이를위한 솔루션을 제공하기 위해 노력하고 있지만 현재로서는 최상의 해결책은 의견에서 논의 된대로 수동으로 추가하는 것입니다.

공개 : 저는 SSDT 팀에서 일하고 있습니다.


또한 파일이 무엇인지에 대한 실제 답변을 제공해 주셔서 감사합니다!
수염 난 라마

1
PR에 대해 죄송합니다. 내부적으로이 문제를 추적하고 권장 단계 (PR 수행 포함)를 따랐습니다. 이 게시물이 별도의 PR을 참조한 후에 제출 한 후에야 기본적으로 수락했습니다. 수업은 StackOverflow 게시물을 더 신중하게 읽는 법을 배웠습니다.-) 그런데 Technocore는이 질문에 대한 이전 답변을 받았지만 어떤 이유로 삭제되었습니다. 이 문제를 제기 해 주셔서 감사 드리며 불편을 끼쳐 드려 죄송합니다. ESENT 기능 변경에 놀랐고 여전히 올바르게 수정하려고했습니다.
Kevin Cunnane

친구 걱정할 필요가 없습니다. 홍보 자료는 그다지 중요하지 않았습니다. 왜 제거되었는지 확실하지 않습니다. 아마도 대답에 필요한만큼 상세하지 않고 정확하지 않았을 수도 있습니다.
수염 난 라마

8
방금이 버그를 쳤으며 무슨 일이 일어나고 있는지 알아내는 데 30 분이 걸렸습니다. 진심으로 누가 누가 프로젝트 루트에 dbmdl을 넣기로 결정 했습니까? / obj 또는 다른 것이 아니어야합니까? 때로는 SSDT가 계속 작동하기 위해 .dbmdl을 삭제해야합니다. "CLEAN"은이 파일이 obj가 아니기 때문에 실제로이 파일을 삭제하지 않는다고 설명했을 때이 팀을 혼란스럽게 만들었습니다.
Pxtl

1
참고로 이것은 최신 VS .gitgnore에 있습니다. 방금 이전 버전을 삭제하고 VS에서 다시 생성하여 팀의 문제를 해결했습니다. 기존 파일에 사용자 정의 항목이있는 경우주의하십시오.
Gabe

67

다른 사람들로부터의 탈취는 ...

  • 추가 *.jfm.gitignore

(powershell에서 Add-Content .\.gitignore *.jfm)

  • 당신은 실행해야 할 수도 있습니다 git rm --cached *.jfm

1
이 답변에 백 번 예. 명확하고 간단하며 효과가있었습니다. 옆으로, 나는 SSDT와 sqlproj를 포기했습니다. 그리고 이런 유형의 문제는 정확히 그 이유였습니다. 이제는 평범한 오래된 SQL 스크립트와 사용자 지정 마이그레이션에 의존합니다. 더 관리하기 쉽고 두통이 적습니다 (반대라고 생각합니다).
pimbrouwers

1
.gitignore줄 바꿈으로 끝나지 않을 경우 Add-Content .\.gitignore `r`n*.jfm자체 줄로 끝나도록하십시오.
코드 간격

git rm --cached * .jfm이 정말로 도움이되었습니다. 대단히 감사합니다!
Valeriy Lyuchyn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.