2013-02-07 7 views
5
System.BadImageFormatException: Could not load file or assembly 'x_Accessor, 
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
This assembly is built by a runtime newer than the currently loaded runtime and 
cannot be loaded. 

Mam trudności ze znalezieniem lekarstwa na tę dolegliwość ...System.BadImageFormatException: Nie można załadować pliku lub zestawu „x_Accessor ...” Ten zespół jest zbudowany przez starcie nowsze

Stworzyłem testy jednostkowe dla projektów testowych dot net. Z domyślną strukturą testów jednostkowych.

Zautomatyzowane narzędzie utworzyło akcesor - które będzie używane do testowania prywatnych metod .

[Znam teorię, metody prywatne powinny być badane przez swoich rozmówców - ale wtedy, to zależy od ich przeznaczenia, zawartości, kontekstu i tak dalej ... więc jeśli mogę, będę je przetestować.]

Zrobiłem to w przeszłości przy kilku projektach i wszystko działało dobrze.

Ale na tych dwóch projektów Próbuję przetestować teraz, używam do tego problemu ...

Uwaga: Używam Framework 3.5 - to może być problem? - ale osoba przystępująca powinna o tym wiedzieć!

Widzę absolutnie nigdzie, gdzie mogę zmodyfikować środowisko wykonawcze dla zespołu ... który, jak sobie wyobrażam, jest akcesoriem.

I tak, wyczyściłem i odbudowałem, całkowicie usunąłem folder wyjściowy i przebudowałem, usunąłem metodę dostępową i prywatną i ponownie je utworzyłem.

Proszę mi pomóc, jak to naprawić! Dziękuję Ci.

+1

Twój zautomatyzowane narzędzie jest kierowanie .NET 4. Użyj coś ILMerge ponownie kierować. – leppie

Odpowiedz

6

Nie można odwoływać się do zestawu skompilowanego w wyższej wersji .NET (lub wersji CLR, aby była dokładniejsza). Tak więc w twoim przykładzie, jeśli masz zestaw testów jednostkowych, który jest .NET 3.5, to nie możesz odwoływać się do zespołu, który jest .NET 4.0.

Ta odpowiedź jest to, czego szukasz myślę:

VS2010 SP1 unit tests targeting 3.5 framework fail if using private accessor

+0

Pytanie brzmi - "oba?" Ponieważ nie mówimy o dwóch projektach! jest tylko jeden projekt, to jest kropka netto 3.5, i ... To wszystko. Jeśli pytasz o projekt testowy i testowany projekt, oba są w wersji 3.5 i znajdują się na tej samej platformie - a wszystkie testy z wyjątkiem testów prywatnych są wykonywane poprawnie. Naprawdę nie mówię o osobnym projekcie !! – Thalia

+0

Jaką wersję programu Visual Studio używasz? –

+0

Visual Studio 2010 (SP1) – Thalia

Powiązane problemy