Cara: Mengaktifkan dan menonaktifkan pengalihan pengikatan otomatis

Saat Anda mengompilasi aplikasi desktop di Visual Studio target tersebut .NET Framework 4.5.1 dan versi yang lebih baru, pengalihan pengikatan mungkin secara otomatis ditambahkan ke file konfigurasi aplikasi untuk mengambil alih penyatuan rakitan. Pengalihan pengikatan ditambahkan jika aplikasi atau komponennya mereferensikan lebih dari satu versi rakitan yang sama, bahkan jika Anda menentukan pengalihan pengikatan secara manual dalam file konfigurasi untuk aplikasi Anda. Fitur pengalihan pengikatan otomatis memengaruhi aplikasi desktop yang menargetkan .NET Framework 4.5.1 atau versi yang lebih baru. Jika Anda belum mengaktifkan atau menonaktifkan pengalihan pengikatan yang dibuat secara otomatis secara eksplisit dan Anda meningkatkan proyek yang ada, fitur tersebut akan diaktifkan secara otomatis.

Untuk aplikasi web, saat Visual Studio mengalami konflik pengikatan, aplikasi ini meminta Anda untuk menambahkan pengalihan pengikatan untuk mengatasi konflik.

Anda dapat mengaktifkan pengalihan pengikatan otomatis untuk aplikasi yang ada yang menargetkan versi .NET Framework sebelumnya (4.5 dan yang lebih lama). Anda dapat menonaktifkan fitur ini jika Anda ingin menulis pengalihan pengikatan secara manual.

Penting

Dimulai dengan Visual Studio 2022, Visual Studio tidak lagi menyertakan komponen .NET Framework untuk .NET Framework 4.0 - 4.5.1 karena versi ini tidak didukung lagi. Visual Studio 2022 dan versi yang lebih baru tidak dapat membuat aplikasi yang menargetkan .NET Framework 4.0 hingga .NET Framework 4.5.1. Untuk terus membangun aplikasi ini, Anda dapat menggunakan Visual Studio 2019 atau versi sebelumnya.

Menonaktifkan pengalihan pengikatan otomatis di aplikasi desktop

Pengalihan pengikatan otomatis diaktifkan secara default untuk aplikasi desktop Windows yang menargetkan .NET Framework 4.5.1 dan versi yang lebih baru. Pengalihan pengikatan ditambahkan ke file konfigurasi keluaran (app.config) saat aplikasi dikompilasi. Pengalihan mengambil alih penyatuan rakitan yang mungkin terjadi. File app.config sumber tidak dimodifikasi. Anda dapat menonaktifkan fitur ini dengan memodifikasi file proyek untuk aplikasi atau dengan membatalkan pilihan kotak centang di properti proyek di Visual Studio.

Menonaktifkan melalui properti proyek

Jika Anda memiliki Visual Studio 2017 versi 15.7 atau yang lebih baru, Anda dapat menonaktifkan pengalihan pengikatan yang dibuat secara otomatis di halaman properti proyek.

  1. Klik kanan proyek di Penjelajah Solusi lalu klik Properti.

  2. Pada halaman Aplikasi, hapus centang pada opsi Pengalihan pengikatan yang dihasilkan secara otomatis.

    Jika Anda tidak melihat opsi, Anda harus menonaktifkan fitur secara manual dalam file proyek.

  3. Tekan Ctrl+S untuk menyimpan perubahan.

Nonaktifkan secara manual dalam file proyek

  1. Buka file proyek untuk pengeditan menggunakan salah satu metode berikut:

    • Di Visual Studio, pilih proyek di Penjelajah Solusi, lalu pilih Buka Folder di File Explorer dari menu pintasan. Di File Explorer, temukan file proyek (.csproj atau .vbproj) dan buka di Notepad.
    • Di Visual Studio, di Penjelajah Solusi, klik kanan proyek dan pilih Bongkar Proyek. Klik kanan proyek yang dibongkar lagi, lalu pilih Edit [projectname.csproj].
  2. Dalam file proyek, temukan entri properti berikut:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Ubah true ke false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Mengaktifkan pengalihan pengikatan otomatis secara manual

Anda dapat mengaktifkan pengalihan pengikatan otomatis di aplikasi yang sudah ada yang menargetkan versi .NET Framework yang lebih lama, atau jika Anda tidak secara otomatis diminta untuk menambahkan pengalihan. Jika Anda menargetkan versi .NET Framework yang lebih baru tetapi tidak diminta secara otomatis untuk menambahkan pengalihan, Anda mungkin akan mendapatkan keluaran build yang menyarankan Anda memetakan rakitan.

  1. Buka file proyek untuk pengeditan menggunakan salah satu metode berikut:

    • Di Visual Studio, pilih proyek di Penjelajah Solusi, lalu pilih Buka Folder di File Explorer dari menu pintasan. Di File Explorer, temukan file proyek (.csproj atau .vbproj) dan buka di Notepad.
    • Di Visual Studio, di Penjelajah Solusi, klik kanan proyek dan pilih Bongkar Proyek. Klik kanan proyek yang dibongkar lagi, lalu pilih Edit [projectname.csproj].
  2. Tambahkan elemen berikut ke grup properti konfigurasi pertama (di bawah tag <PropertyGroup> ):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    Berikut ini memperlihatkan contoh file proyek dengan elemen yang disisipkan:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
      <PropertyGroup>
        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
        <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
        <ProjectGuid>{123334}</ProjectGuid>
        ...
        <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
      </PropertyGroup>
      ...
    </Project>
    
  3. Kompilasi aplikasi Anda.

Mengaktifkan pengalihan pengikatan otomatis di aplikasi web

Pengalihan pengikatan otomatis diterapkan secara berbeda untuk aplikasi web. Karena file konfigurasi sumber (web.config) harus dimodifikasi untuk aplikasi web, pengalihan pengikatan tidak secara otomatis ditambahkan ke file konfigurasi. Namun, Visual Studio memberi tahu Anda tentang konflik pengikatan, dan Anda dapat menambahkan pengalihan pengikatan untuk mengatasi konflik. Karena Anda selalu diminta untuk menambahkan pengalihan pengikatan, Anda tidak perlu menonaktifkan fitur ini secara eksplisit untuk aplikasi web.

Untuk menambahkan pengalihan pengikatan ke file web.config :

  1. Di Visual Studio, kompilasi aplikasi, dan periksa peringatan build.

    Build warning for assembly reference conflicts.

  2. Jika ada konflik pengikatan perakitan, peringatan akan muncul. Klik dua kali peringatan, atau pilih peringatan dan tekan Masuk.

    Kotak dialog yang memungkinkan Anda menambahkan pengalihan pengikatan yang diperlukan secara otomatis ke file web.config sumber muncul.

    Binding redirect permission dialog.

Lihat juga