2013-08-21 16 views
15

Próbuję utworzyć projekt odwołujący się do pliku SlingshotClient.dll należącego do strony trzeciej. Projekt działa dobrze na innych stacjach roboczych programistów. Jednak otrzymuję błąd poniżej. Jedną z różnic, które mogłem sobie wyobrazić, jest przyczynienie się do mojego problemu jest to, że mam również VS 2012 i .NET Frameworks 4.5 zainstalowane na moim komputerze. Sądzę, że inni programiści, którzy mogą to zbudować, nie mają zainstalowanych.Pierwotne odniesienie nie mogło zostać rozwiązane, ponieważ zostało zbudowane na podstawie wyższej wersji platformy .NET niż aktualnie docelowy framework.

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1578,5): ostrzeżenie MSB3274: Główny punkt odniesienia "SlingshotClient, wersja = 1.0.0.0, Culture = neutral, PublicKeyToken = bb5a8745472e181a, processorArchitecture = MSIL "nie można było rozwiązać, ponieważ zostało zbudowane w oparciu o framework" .NETFramework, Version = v4.5 ". Jest to wyższa wersja niż obecnie ukierunkowany framework ".NETFramework, Version = v4.0".

Błąd wydaje się oznaczać, że nasz projekt jest ukierunkowany na wersję 4.0 (która jest poprawna), ale referencyjna wersja SlingshotClient.dll została zbudowana w wersji 4.5. Kiedy patrzę na SlingshotClient.dll w obłudnik, to wygląda mi się, że zespół został zbudowany kierowania wersji Framework 4.0

h

+3

Musisz przewinąć w dół i spojrzeć na TargetFrameworkAttribute –

+0

@HansPassant, że masz rację. TargetFrameworkAttribute nieco dalej i mówi 4.5. W innym artykule przeczytałem, że muszę sprawdzić wersję mscorlib, do której się odwołałem. To wyjaśnia, chociaż wciąż jestem zaskoczony, że kompiluje się bez narzekania na komputer z tylko .NET Framework 4.0. Jeśli chcesz umieścić swoje komentarze jako odpowiedź na to pytanie, przyznam Ci odpowiednią odpowiedź. – Dude0001

Odpowiedz

16

Podobno jeśli masz tylko .NET Frameworks 4.0 zainstalowany, można dodać jako odwołaj się do zestawu .NET, który jest skierowany do wersji 4.5 projektu, który jest skierowany do platformy .NET 4.0. Spowoduje to kompilację i uruchomienie bez żadnych błędów.

Zaraz po zainstalowaniu programu .NET Frameworks 4.5 kompilacja zakończy się niepowodzeniem. Rozwiązaniem jest skierowanie projektu na platformę .NET Framework 4.5 lub pobranie wersji zestawu referencyjnego, która jest przeznaczona dla środowiska .NET 4.0.

.NET 4.5 to kropla zamiennika dla wersji 4.0. 4.0 nie wie nic o 4.5, i zakładam, że to tylko patrzenie na pierwszą cyfrę numeru wersji, która dla wersji 4.0 lub 4.5 jest taka sama, więc może się kompilować. Jak tylko zainstalujesz 4.5, twoje 4.0 projekty zostaną skompilowane przy użyciu 4.5 Frameworks i teraz wie o 4,5 i narzeka.

Powiązane problemy