Pojawia się po naciśnięciu klawisza F1 w oknie dialogowym Struktura i odwołania:
Domyślnie dla nowych projektów docelowa struktura jest ustawiona na .NET Framework 4. Środowisko IDE nie obsługuje modyfikowania docelowej platformy, ale można ją zmienić ręcznie. W pliku projektu (.vcxproj) domyślna platforma docelowa jest reprezentowana przez element właściwości w wersji 4.0. Aby zmienić platformę docelową, zwolnij projekt, otwórz plik projektu za pomocą edytora tekstu, a następnie zmień wartość elementu właściwości z wersji 4.0 na inną wersję zainstalowaną na serwerze. Na przykład, jeśli określono wersję 3.5, która reprezentuje .NET Framework w wersji 3.5, musi być zainstalowany dodatek Visual Studio 2008 SP1 . Zapisz i zamknij plik, ponownie załaduj projekt i sprawdź, czy docelowa platforma jest wyświetlana na stronie właściwości. *
To nie jest zbyt dokładne w przekonwertowanych projektach, musisz sam dodać ten <TargetFrameworkVersion>
element. Umieść go w PropertyGroup oznaczonym jako „Globals”:
<PropertyGroup Label="Globals">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<others...>
</PropertyGroup>
Sytuacja wygląda inaczej, gdy używasz VS2012 i nowszych wersji, pierwszej wersji VS, która uzyskała ustawienie zestawu narzędzi platformy na stronie właściwości Ogólne. Następnie musisz wybrać wersję „v90”, aby uzyskać poprawną kompilację przeznaczoną dla wersji 3.5. Jest to jednak niezgrabne, musisz mieć wszystkie pośrednie wersje VS zainstalowane na komputerze, aby mieć dostęp do tego wyboru.
Dlaczego potrzebujesz zainstalowanego VS2008, wymaga samego wyjaśnienia. Podstawowym problemem jest to, że biblioteka wykonawcza języka C (msvcrt100.dll i nowsze) zawiera kod .NET do obsługi wykonywania kodu zarządzanego. Kluczowym szczegółem jest inicjator modułu, który zapewnia, że CRT jest poprawnie zainicjowany w programie, który używa kodu C ++ / CLI. Ten kod zawsze jest przeznaczony dla platformy .NET 4, a ponieważ jest wbudowany w plik msvcrt100.dll (i nowszych), zawsze istnieje duża zależność od środowiska wykonawczego v4.0.30319. Czysta zależność v2.0.50727 może istnieć tylko wtedy, gdy używasz starego środowiska wykonawczego C, msvcrt90.dll. Możesz mieć pewność, że istnieje zależność msvcrt90.dll tylko wtedy, gdy używasz plików #include kompilatora VS2008.
Fakt, że przejście na platformę .NET 4 jest bardzo konieczne, będzie wkrótce konieczne, więc jeśli tego nie zrobisz, będziesz mieć problemy z kompilacją. Jest na to bardzo mało praktycznych przeszkód, .NET 4 jest powszechnie dostępny za darmo dla wszystkich celów, jakie można sobie wyobrazić. Przezwyciężenie FUD, które jest związane z przejściem na wyższą wersję runtime, jest generalnie tylko prawdziwym problemem. Bez powodów do strachu i wątpliwości, jest stabilny.