2013-03-23 3 views
5

Właśnie utworzyłem nową aplikację windows 8 w języku C#/XML i pobierz mongodb c# driver i dodałem jej odwołanie w moim projekcie i podążam za resztą tutorial, ale kiedy próbuję aby uruchomić moją aplikację teraz, mówiąc:Nie można rozwiązać pliku Metadanych zespołu lub systemu Windows "System.Data.dll"

Cannot resolve Assembly or Windows Metadata file 'System.Data.dll' 

Type universe cannot resolve assembly: System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. 

Proszę, pomóżcie mi z góry.

+0

Jakie wersje architektury .NET zostały zainstalowane? –

+0

@DavinTryon Zainstalowałem 4.5 – user2193861

Odpowiedz

4

Wygląda system.data jest niedostępny w aplikacjach metra. Ogólny konsensus wydaje się, że musisz stworzyć środkową warstwę pośrednią (przy użyciu technologii takiej jak WCF), aby umożliwić aplikacji metra komunikację z bazą danych.

Referencje:

Chociaż te linki mają SQL w tytule, tak naprawdę zająć łączący metro aplikacje bezpośrednio do dowolnej bazy danych.

Oto nieco z odpowiedzią na jeden z powyższych linków:

Jesteś poprawne, System.Data tam nie ma (szukałem tej samej rzeczy kiedy zacząłem bawić z WinRT). Nie będziesz w stanie tego również odnieść. Jeśli chcesz rozmawiać z bazą danych SQL, będziesz musiał użyć jakiegoś innego protokołu (WebService, SOAP, WCF itp.).

+0

Próbuję połączyć się z mongodb, a nie sql. Czy konieczne jest posiadanie system.data w tym celu? . – user2193861

+0

Nie jestem pewien. Spróbuję utworzyć szybką aplikację i odwołać się do sterownika. Sprawdź, czy pojawia się ten sam błąd. –

+0

Mogę odwoływać się do 'MongoDB.Bson.dll' przez siebie i kompilacje projektu, ale gdy powołuję się na' MongoDB.Driver.dll', otrzymuję tę samą wiadomość co Ty. Wygląda na to, że sterownik sql i sterownik mongodb wymagają zarówno 'System.Data.dll", do którego można odwoływać się bezpośrednio w standardowej aplikacji WinForm/Wpf (ale prawdopodobnie nie powinno), ale których nie można odwoływać się bezpośrednio w aplikacji Metro . –