Kode murni dan dapat diverifikasi (C++/CLI)
Untuk Pemrograman .NET, Visual C++ di Visual Studio 2017 mendukung pembuatan rakitan campuran dengan menggunakan opsi kompilator /clr (Common Language Runtime Compilation ). Opsi /clr:pure dan clr:safe tidak digunakan lagi di Visual Studio 2015 dan tidak didukung di Visual Studio 2017. Jika kode Anda harus aman atau dapat diverifikasi, kami sarankan Anda memindahkannya ke C#.
Campuran (/clr)
Rakitan campuran (dikompilasi dengan /clr), berisi bagian yang tidak dikelola dan dikelola, memungkinkan mereka untuk menggunakan fitur .NET, tetapi masih berisi kode asli. Ini memungkinkan aplikasi dan komponen diperbarui untuk menggunakan fitur .NET tanpa mengharuskan seluruh proyek ditulis ulang. Menggunakan Visual C++ untuk mencampur kode terkelola dan asli dengan cara ini disebut C++ Interop. Untuk informasi selengkapnya, lihat Rakitan Campuran (Asli dan Terkelola) dan Interoperabilitas Asli dan .NET.
Panggilan yang dilakukan dari rakitan terkelola ke DLL asli melalui P/Invoke akan dikompilasi, tetapi mungkin gagal pada runtime tergantung pada pengaturan keamanan.
Ada satu skenario pengkodian yang akan melewati pengkompilasi tetapi itu akan menghasilkan rakitan yang tidak dapat diverifikasi: memanggil fungsi virtual melalui instans objek menggunakan operator resolusi cakupan. Misalnya: MyObj -> A::VirtualFunction();
.