Bagikan melalui


/CLRUNMANAGEDCODECHECK (Hapus SuppressUnmanagedCodeSecurityAttribute)

/CLRUNMANAGEDCODECHECK menentukan bahwa linker tidak berlaku SuppressUnmanagedCodeSecurityAttribute untuk panggilan yang dihasilkan PInvoke linker dari kode terkelola ke DLL asli.

Sintaks

/CLRUNMANAGEDCODECHECK
/CLRUNMANAGEDCODECHECK:NO

Keterangan

Secara default, linker menerapkan SuppressUnmanagedCodeSecurityAttribute atribut ke panggilan yang dihasilkan PInvoke linker. Ketika /CLRUNMANAGEDCODECHECK berlaku, SuppressUnmanagedCodeSecurityAttribute dihapus. Untuk menerapkan atribut secara eksplisit ke SuppressUnmanagedCodeSecurityAttribute panggilan yang dihasilkan PInvoke linker, Anda dapat menggunakan /CLRUNMANAGEDCODECHECK:NO.

Linker hanya menambahkan atribut ke objek yang dikompilasi menggunakan /clr atau /clr:pure. Namun, /clr:pure opsi kompilator tidak digunakan lagi di Visual Studio 2015 dan tidak didukung di Visual Studio 2017 dan yang lebih baru.

PInvoke Panggilan dihasilkan oleh linker ketika linker tidak dapat menemukan simbol terkelola untuk memenuhi referensi dari pemanggil terkelola tetapi dapat menemukan simbol asli untuk memenuhi referensi tersebut. Untuk informasi selengkapnya tentang PInvoke, lihat Memanggil Fungsi Asli dari Kode Terkelola.

Jika Anda menggunakan AllowPartiallyTrustedCallersAttribute dalam kode, Anda harus secara eksplisit mengatur /CLRUNMANAGEDCODECHECK untuk menghapus SuppressUnmanagedCodeSecurity atribut. Ini adalah potensi kerentanan keamanan jika gambar berisi SuppressUnmanagedCodeSecurity atribut dan AllowPartiallyTrustedCallers .

Untuk informasi selengkapnya tentang implikasi penggunaan SuppressUnmanagedCodeSecurityAttribute, lihat Panduan Pengodean Aman untuk Kode Tidak Terkelola.

Untuk mengatur opsi linker ini di lingkungan pengembangan Visual Studio

  1. Buka kotak dialog Halaman Properti untuk proyek. Untuk informasi selengkapnya, lihat Mengatur properti kompilator dan build.

  2. Pilih halaman properti Tingkat Lanjut Linker>Properti>Konfigurasi.

  3. Ubah properti Pemeriksaan Kode Tidak Terkelola CLR.

Untuk menyetel opsi linker ini secara terprogram

  1. Lihat CLRUnmanagedCodeCheck.

Baca juga

Referensi linker MSVC
Opsi linker MSVC