I have now noticed this in VS 2017 in a Core console app, and a standard .NET Framework MVC app. It is named <solution-name>.sqlite
, and has the following tables:
FileScannerCache
FileSystemData
FileSystemEntity
FileSystemReference
ProviderEntity
Setting
SymbolDefinition
It seems to contain MSBuild related data, but when I query some tables, like
select * from FileScannerCache
I get the error System.FormatException: String was not recognised as a valid DateTime
. I'm using the Sqlite/SQL Server Compact Toolbox to examine and query this db.
This file seems to be related to the "Lightweight Solution Load" (LSL) functionality in VS2017. If you disable LSL in your solution, delete the file from the directory and open your solution you will see that it is not recreated. However, enable LSL for the solution again and open your solution, you will see the file created again. I presume it is being used as a form of cacheing information to enable the LSL functionality.
As an aside, all info in the .vs folder is supposed to be safe to exclude from source control.