2008-10-21 15 views
6

Dodając odwołanie do projektu Czasem widzę komunikat ...docelowa ramowa Niezgodność

„Wersja Framework docelowa projektu jest wyższa niż aktualna wersja projektu ramowego docelowa. Chcesz dodać to odwołanie do twojego projektu? "

Rozumiem, co oznacza wiadomość, ale czy ktoś może wyjaśnić, jakie problemy mogą wyniknąć z wypowiedzenia "Tak"?

Odpowiedz

10

Załóżmy, że tworzysz aplikację, w której exe celuje 2.0, ale niektóre cele biblioteki 3.5. Ktoś z maszyną .NET 2.0 patrzy na główny projekt i myśli, że może go uruchomić - w końcu aplikacja celuje w 2.0, prawda? Gdy biblioteka zostanie załadowana po raz pierwszy, otrzyma nieprzyjemną niespodziankę ...

+3

Ale jakoś to było OK, aby skompilować w VS2008, VS2010 nagle odmawia budowy takich projektów. Jest bardzo częstym scenariuszem, gdy masz dodatkowe odniesienia w kompilacjach debugowania. –

1

Właściwie to jest w porządku. VS właśnie cię uświadamia. Wystarczy, że skopiujesz niezbędne odniesienia do projektu i odniesiesz się do nich. Jeśli projekt, do którego się odwołujesz, to ten, nad którym masz kontrolę, możesz umieścić tam odniesienia.

Na przykład mamy starszy serwer Windows 2000, który nie może uruchomić .Net 3.5. Tak więc, gdy chcemy skorzystać z rzeczy takich jak LINQ, tworzymy to w oddzielnym projekcie, który jest ukierunkowany na 3.5. Następnie odwołujemy się do tego projektu z naszej aplikacji internetowej, która jest skierowana do wersji 2.0. Otrzymujemy komunikat, o którym mówisz, ale po prostu upewniamy się, że DLLe System.core i Link.Data są kopiowane do folderu bin i są do nich przywoływane. Wtedy nie ma problemu. Działa jak marzenie.