2015-04-02 24 views
6

Jestem nowy w Dapper. Próbuję stworzyć nowy projekt i mapować lokalną bazę danych przez Dapper. Niestety zawsze otrzymuję ten błąd:Błąd usterki: Nie można załadować typu "Dapper.SqlMapper"

Could not load type 'Dapper.SqlMapper' from assembly 'Dapper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

Dodałem Dapper by NuGet (Dapper v. 1.39.0.0). To jest przykład mojego kodu:

public static IEnumerable<TBMobileDetails> Allmobilelisting() 
{ 
    SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=""c:\users\database.mdf"";Integrated Security=True"); 

    string query = "select * from Mobiledata"; 
    var result = con.Query<TBMobileDetails>(query); 
    return result; 
} 

Gdzie jest problem?

+0

Wersja 1.0.0.0 jest bardzo odkrywcza, ponieważ 1.39.0.0 jest oznaczona jako (nieoczekiwanie) 1.39.0.0; brzmi to tak, jakbyś miał jakiś * inny * kod w swoim projekcie (być może pośrednie odniesienie), który oczekuje dappera 1.0; czy są tutaj inne biblioteki DLL? –

+0

Tak samo: w twojej kompilacji "bin/{whatever}" - jaka jest wersja pliku dappera? –

+0

Dzięki, tworzę projekt od zera i ten sam kod działa teraz idealnie. Nie wiem co się stało. – Emil

Odpowiedz

0

Mój problem polegał na kolizji przestrzeni nazw. Może trochę oczywiste, ale nie nazwij niczego "dapper" w swoim projekcie.

0

Ten problem występuje zazwyczaj, gdy istnieje obiekt/klasa/typ nazwany

  • Dapper
  • elegancki

Wykonaj następujące kroki, aby usunąć tej kwestii

  1. Create a Świeży projekt i NIE wymieniaj niczego w tym miejscu h Dapper (wielkość liter nie ma znaczenia). Nawet jeśli zmienisz nazwę obiektu 'dapper' w istniejącym projekcie, to może to spowodować problemy, dlatego lepiej jest stworzyć nowy projekt! Myślę, że ma coś wspólnego z montażem lub hardcoding gdzieś w eleganckim lub wizualnym studio (nie jestem pewien!).
  2. Użyj Nuget Manager ponownie, aby zainstalować Dappera.
  3. To powinno teraz działać dobrze.
Powiązane problemy