sql >> Databasteknik >  >> NoSQL >> MongoDB

Kan inte lösa Assembly- eller Windows-metadatafilen 'System.Data.dll'

Ser ut som system.data är inte tillgängligt för metroappar. Den allmänna konsensus verkar vara att du måste skapa en mellannivå (med hjälp av en teknik som WCF) för att tillåta din metro-app att kommunicera med databasen.

Referenser:

Även om dessa länkar har SQL i titeln, adresserar de verkligen att ansluta metroappar direkt till vilken databas som helst.

Här är lite från ett svar på en av länkarna ovan:

Följdfråga i kommentaren:

När jag försökte detta kunde jag referera till MongoDB.Bson.dll av sig själv och projektbyggen, men en gång refererade jag till MongoDB.Driver.dll Jag fick samma meddelande som du.

Det verkar som att sql-drivrutinen och mongodb-drivrutinen båda kräver System.Data.dll , som du kan referera direkt i en vanlig winforms/wpf-app (men förmodligen inte borde), men som du inte kan referera direkt i en metro-app.

Jag skulle säga att det är nödvändigt att ha tillgång till System.Data om du vill använda MongoDB. Så du måste skapa ett separat projekt som refererar till MongoDB-drivrutinen och som faktiskt utför anslutningarna till databasen, och göra det projektet tillgängligt för din metro-app via WCF-samtal eller en webbtjänst. Du behöver bara något som sitter mellan din metro-app och databasen, eftersom du inte kan ansluta direkt till den.

Jag vet att det verkar göra saker mer komplicerade, särskilt om du bara försöker leka, men det är tydligen ett designbeslut som Microsoft tagit angående deras metroappar.



  1. MongoDB Backup Management Tips för delade kluster

  2. Skapar C++ Redis Module - exporterar inte RedisModule_OnLoad() symbol

  3. åtkomst till underdokument på Rails 3 med Mongoid

  4. MongoDB findAndModify från flera klienter