Ini muncul ketika Anda menekan F1 di dialog Kerangka dan Referensi:
Secara default untuk proyek baru, kerangka kerja yang ditargetkan diatur ke .NET Framework 4. IDE tidak mendukung memodifikasi kerangka kerja yang ditargetkan, tetapi Anda dapat mengubahnya secara manual. Dalam file proyek (.vcxproj), kerangka kerja target default diwakili oleh elemen properti v4.0. Untuk mengubah kerangka kerja yang ditargetkan, bongkar proyek, gunakan editor teks untuk membuka file proyek, dan kemudian ubah nilai elemen properti dari v4.0 ke versi lain yang diinstal di server Anda. Misalnya, jika Anda menentukan v3.5, yang mewakili .NET Framework v3.5, Visual Studio 2008 SP1 harus diinstal . Simpan dan tutup file, muat ulang proyek, dan verifikasi bahwa kerangka kerja yang ditargetkan ditampilkan di halaman properti. *
Itu tidak terlalu akurat pada proyek yang dikonversi, Anda harus menambahkan <TargetFrameworkVersion>
elemen sendiri. Taruh di PropertyGroup berlabel "Global":
<PropertyGroup Label="Globals">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<others...>
</PropertyGroup>
Ceritanya berbeda ketika Anda menggunakan VS2012 dan yang lebih tinggi, versi pertama VS yang memperoleh pengaturan Platform Toolset di halaman properti Umum. Anda kemudian harus memilih "v90" untuk mendapatkan bangunan yang tepat yang menargetkan 3.5. Namun itu kikuk, Anda harus memiliki semua versi VS menengah diinstal pada mesin untuk memiliki pilihan yang tersedia.
Mengapa Anda perlu menginstal VS2008 membutuhkan penjelasan dengan sendirinya. Masalah inti adalah bahwa perpustakaan runtime C (msvcrt100.dll dan lebih tinggi) berisi kode .NET untuk mendukung eksekusi kode terkelola. Detail penting adalah penginisialisasi modul yang memastikan CRT diinisialisasi dengan benar dalam program yang menggunakan kode C ++ / CLI. Kode itu selalu menargetkan .NET 4 dan karena terprogram dalam msvcrt100.dll (dan lebih tinggi), Anda selalu memiliki ketergantungan yang sangat keras pada runtime v4.0.30319. Anda hanya dapat memiliki ketergantungan v2.0.50727 murni ketika Anda menggunakan runtime C lama, msvcrt90.dll. Anda hanya dapat memastikan bahwa Anda memiliki ketergantungan msvcrt90.dll ketika Anda menggunakan #include file kompilator dari VS2008.
Fakta sulit yang dingin bahwa sangat penting untuk segera pindah ke .NET 4, Anda akan kesulitan membangun masalah seperti ini jika tidak. Ada beberapa kendala praktis untuk itu, .NET 4 tersedia secara luas secara gratis di semua target yang Anda bayangkan. Mengatasi FUD yang dikaitkan dengan pindah ke versi runtime yang lebih tinggi umumnya hanya masalah sebenarnya. Tidak ada alasan untuk takut dan ragu, itu stabil.