web-dev-qa-db-fra.com

Que fait une base de données SQLite dans le dossier .vs de mon projet?

Je l'ai maintenant remarqué dans VS 2017 dans une application pour console Core et une application .NET Framework MVC standard. Il s'appelle <solution-name>.sqlite et contient les tables suivantes:

FileScannerCache
FileSystemData
FileSystemEntity
FileSystemReference
ProviderEntity
Setting
SymbolDefinition

Il semble contenir des données liées à MSBuild, mais lorsque j’interroge certaines tables, comme

select * from FileScannerCache

Je reçois l'erreur System.FormatException: String was not recognised as a valid DateTime. J'utilise Sqlite/SQL Server Compact Toolbox pour examiner et interroger cette base de données.

18
ProfK

Ce fichier semble être lié à la fonctionnalité "LSL (Lightweight Solution Load)" dans VS2017. Si vous désactivez LSL dans votre solution, supprimez le fichier du répertoire et ouvrez votre solution. Vous constaterez qu'il n'est pas recréé. Cependant, réactivez LSL pour la solution et ouvrez votre solution, le fichier sera créé à nouveau. Je présume qu'il est utilisé comme une forme d'information en cache pour activer la fonctionnalité LSL. 

En passant, toutes les informations du dossier .vs sont censées pouvoir être exclues du contrôle de source en toute sécurité.

14
Quintus Marais

Si vous avez fini ici parce que vous obtenez

 Git failed with a fatal error.
 error: open(".vs/Onion/v15/Server/sqlite3/db.lock"): Permission denied
 fatal: Unable to process path .vs/Onion/v15/Server/sqlite3/db.lock

Ensuite, Team Explorer> Paramètres> Paramètres du référentiel> Ajouter /.gitignore. Il devrait maintenant avoir .vs

# Visual Studio 2015 cache/options directory
.vs/

Corrige le problème.

1
Sigex