MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Impossibile risolvere il file di metadati di Windows o Assembly 'System.Data.dll'

Sembra system.data non è disponibile per le app metro. Il consenso generale sembra essere che dovrai creare un livello intermedio di "intermediazione" (utilizzando una tecnologia come WCF) per consentire alla tua app metropolitana di comunicare con il database.

Riferimenti:

Sebbene questi collegamenti abbiano SQL nel titolo, si rivolgono davvero alla connessione delle app metro direttamente a qualsiasi database.

Ecco un po' di una risposta a uno dei link sopra:

Domanda di follow-up nel commento:

Quando ho provato questo, ho potuto fare riferimento a MongoDB.Bson.dll da solo e il progetto viene compilato, ma una volta ho fatto riferimento a MongoDB.Driver.dll Ho ricevuto il tuo stesso messaggio.

Sembrerebbe che il driver sql e il driver mongodb richiedano entrambi System.Data.dll , a cui potresti fare riferimento direttamente in un'app winforms/wpf standard (ma probabilmente non dovresti), ma a cui non puoi fare riferimento direttamente in un'app metro.

Direi che è necessario avere accesso a System.Data se vuoi usare MongoDB. Quindi dovrai creare un progetto separato che faccia riferimento al driver MongoDB ed effettivamente esegua le connessioni al database e rendere quel progetto accessibile alla tua app metropolitana tramite chiamate WCF o un servizio web. Hai solo bisogno di qualcosa che si trovi tra la tua app metro e il database, perché non puoi connetterti direttamente ad essa.

So che sembra rendere le cose più complicate, soprattutto se stai solo cercando di giocare, ma a quanto pare è una decisione di progettazione presa da Microsoft riguardo alle loro app metro.