sql >> Base de Datos >  >> NoSQL >> MongoDB

No se puede resolver el archivo de ensamblaje o metadatos de Windows 'System.Data.dll'

Se parece a system.data no está disponible para las aplicaciones de metro. El consenso general parece ser que tendrá que crear un nivel intermedio de "intermediario" (usando una tecnología como WCF) para permitir que su aplicación metropolitana se comunique con la base de datos.

Referencias:

Aunque estos enlaces tienen SQL en el título, en realidad abordan la conexión de aplicaciones metropolitanas directamente a cualquier base de datos.

Aquí hay un poco de una respuesta en uno de los enlaces anteriores:

Pregunta de seguimiento en el comentario:

Cuando probé esto, pude hacer referencia a MongoDB.Bson.dll por sí mismo y las compilaciones del proyecto, pero una vez que hice referencia a MongoDB.Driver.dll Recibí el mismo mensaje que tú.

Parecería que el controlador sql y el controlador mongodb requieren System.Data.dll , a la que podría hacer referencia directamente en una aplicación winforms/wpf estándar (pero probablemente no debería hacerlo), pero a la que no puede hacer referencia directamente en una aplicación metropolitana.

Diría que es necesario tener acceso a System.Data si desea utilizar MongoDB. Por lo tanto, deberá crear un proyecto separado que haga referencia al controlador MongoDB y realmente realice las conexiones a la base de datos, y haga que ese proyecto sea accesible para su aplicación metropolitana a través de llamadas WCF o un servicio web. Solo necesita algo que se encuentre entre su aplicación de metro y la base de datos, porque no puede conectarse directamente a ella.

Sé que parece complicar más las cosas, especialmente si solo estás tratando de jugar, pero aparentemente es una decisión de diseño que tomó Microsoft con respecto a sus aplicaciones metropolitanas.