Y a-t-il une bibliothèque pour lire les files DACPAC?

Je voudrais lire le contenu d'un DACPAC afin d'get la list des schémas, des tables, etc.

Oui. Vous pouvez utiliser DacFx pour cela.

Didacticiel de model public DacFx :

// Load from a dacpac using (TSqlModel modelFromDacpac = new TSqlModel("mydb.dacpac")) { ReadTheModel(modelFromDacpac); } private static void ReadTheModel(TSqlModel model) { // This will get all tables. Note the use of Table.TypeClass! var tables = model.GetObjects(DacQueryScopes.Default, Table.TypeClass).ToList(); // Look up a specific table by ID. Note that if no schema is defined when creating // an element the default "dbo" schema is used var t1 = model.GetObjects(Table.TypeClass, new ObjectIdentifier("dbo", "t1"), DacQueryScopes.Default).FirstOrDefault(); // Get a the column referenced by this table, and query its length TSqlObject column = t1.GetReferenced(Table.Columns) .First(col => col.Name.Parts[2].Equals("c1")); int columnLength = column.GetProperty<int>(Column.Length); Console.WriteLine("Column c1 has length {0}", columnLength); // Verify the ColumnType of this column. This can help indicate which // properties will return meaningful values. // For instance since Column.Collation is only available on a simple column, // and Column.Persisted is only on computed columns ColumnType columnType = column.GetMetadata<ColumnType>(Column.ColumnType); Console.WriteLine("Column c1 is of type '{0}'", columnType); }