问题
Assuming we have a database project called MyDatabase
then a file called MyDatabase.jfm
appears in the root of the project directory.
- It is exclusively locked while the project is open in Visual Studio
- It is a binary file
- It has only started appearing recently (past couple of days)
I have done a Google search, which has not offered any insight. There are some references to some old software, but most of the results are spam/trojanware. I have also looked in SO, but that has not produced any results either.
Does anyone know what it is and why it\'s there?
The plan is to add it to the gitignore file for Visual Studio, but I need to know what it is first to submit the PR...
UPDATE
This is now breaking the Team Explorer Changes view. There are no changes being shown with the following from the Output window:
As such I will be adding the file to the .gitignore file and submitting the PR. It would be good to eventually learn what this file is and where it came from...
回答1:
This is an issue caused by the ESENT engine relied on by SQL Projects adding in a new file. This is a new feature in Windows 10 Anniversary Edition to avoid data loss, but the fact SQL Projects store the .dbmdl cache file under the project root means this locked file is added to the Git source control.
Notes:
- A pull request to fix this in GitIgnore has been accepted and the Visual Studio team is working to include this in future updates. This will ensure that for new projects the .gitignore file includes .jfm and the problem will not occur
- The core SSDT team is working to provide a solution to this in a future update, but for now the best solution is to manually add as discussed in the comments.
Disclosure: I work on the SSDT team for Microsoft.
回答2:
The takeaway from others is...
- Add
*.jfm
to your.gitignore
(In powershell, Add-Content .\.gitignore *.jfm
)
- You may need to run
git rm --cached *.jfm
来源:https://stackoverflow.com/questions/37704514/visual-studio-2015-database-project-directory-contains-a-file-with-extension-jfm