Udostępnij za pośrednictwem


Instrukcje: włączanie i wyłączanie automatycznego przekierowywania powiązań

Uwaga

Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.

Podczas kompilowania aplikacji klasycznych w programie Visual Studio przeznaczonych dla platformy .NET Framework 4.5.1 i nowszych wersji przekierowania powiązań mogą zostać automatycznie dodane do pliku konfiguracji aplikacji w celu zastąpienia zjednoczenia zestawu. Przekierowania powiązań są dodawane, jeśli aplikacja lub jej składniki odwołują się do więcej niż jednej wersji tego samego zestawu, nawet jeśli przekierowania powiązań zostaną określone ręcznie w pliku konfiguracji aplikacji. Funkcja automatycznego przekierowywania powiązań ma wpływ na aplikacje klasyczne przeznaczone dla programu .NET Framework 4.5.1 lub nowszej wersji. Jeśli nie włączono jawnie ani nie wyłączono automatycznie wygenerowanego przekierowania powiązania i uaktualnisz istniejący projekt, ta funkcja zostanie automatycznie włączona.

W przypadku aplikacji internetowych, gdy program Visual Studio napotka konflikt powiązania, monituje o dodanie przekierowania powiązania w celu rozwiązania konfliktu.

Możesz włączyć automatyczne przekierowywanie powiązań dla istniejących aplikacji przeznaczonych dla poprzednich wersji programu .NET Framework (4.5 i starszych). Tę funkcję można wyłączyć, jeśli chcesz ręcznie tworzyć przekierowania powiązań.

Ważne

Począwszy od programu Visual Studio 2022, program Visual Studio nie zawiera już składników programu .NET Framework dla programu .NET Framework 4.0 — 4.5.1, ponieważ te wersje nie są już obsługiwane. Program Visual Studio 2022 i nowsze wersje nie mogą tworzyć aplikacji przeznaczonych dla programu .NET Framework 4.0 za pośrednictwem programu .NET Framework 4.5.1. Aby kontynuować tworzenie tych aplikacji, możesz użyć programu Visual Studio 2019 lub starszej wersji.

Wyłączanie automatycznych przekierowań powiązań w aplikacjach klasycznych

Automatyczne przekierowania powiązań są domyślnie włączone dla aplikacji klasycznych systemu Windows przeznaczonych dla programu .NET Framework 4.5.1 i nowszych wersji. Przekierowania powiązań są dodawane do pliku konfiguracji wyjściowej (app.config) podczas kompilowania aplikacji. Przekierowania przesłaniają zjednoczenie zestawu, które może mieć miejsce w przeciwnym razie. Źródłowy plik app.config nie jest modyfikowany. Tę funkcję można wyłączyć, modyfikując plik projektu dla aplikacji lub usuwając zaznaczenie pola wyboru we właściwościach projektu w programie Visual Studio.

Wyłączanie za pomocą właściwości projektu

Jeśli masz program Visual Studio 2017 w wersji 15.7 lub nowszej, możesz wyłączyć automatycznie wygenerowane przekierowania powiązań na stronach właściwości projektu.

  1. Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań i wybierz polecenie Właściwości.

  2. Na stronie Aplikacja usuń zaznaczenie opcji Automatycznie generuj przekierowania powiązania.

    Jeśli nie widzisz tej opcji, musisz ręcznie wyłączyć funkcję w pliku projektu.

  3. Naciśnij klawisze Ctrl+S, aby zapisać zmianę.

Wyłącz ręcznie w pliku projektu

  1. Otwórz plik projektu do edycji przy użyciu jednej z następujących metod:

    • W programie Visual Studio wybierz projekt w Eksplorator rozwiązań, a następnie wybierz pozycję Otwórz folder w Eksplorator plików z menu skrótów. W Eksplorator plików znajdź plik projektu (csproj lub vbproj) i otwórz go w Notatniku.
    • W programie Visual Studio w Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Zwolnij projekt. Ponownie kliknij ponownie zwolniony projekt prawym przyciskiem myszy, a następnie wybierz polecenie Edytuj [projectname.csproj].
  2. W pliku projektu znajdź następujący wpis właściwości:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Zmień true na false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Ręczne włączanie automatycznych przekierowań powiązań

Możesz włączyć automatyczne przekierowania powiązań w istniejących aplikacjach przeznaczonych dla starszych wersji programu .NET Framework lub w przypadkach, gdy nie zostanie automatycznie wyświetlony monit o dodanie przekierowania. Jeśli używasz nowszej wersji programu .NET Framework, ale nie zostanie automatycznie wyświetlony monit o dodanie przekierowania, prawdopodobnie uzyskasz dane wyjściowe kompilacji, które sugerują ponowne mapowanie zestawów.

  1. Otwórz plik projektu do edycji przy użyciu jednej z następujących metod:

    • W programie Visual Studio wybierz projekt w Eksplorator rozwiązań, a następnie wybierz pozycję Otwórz folder w Eksplorator plików z menu skrótów. W Eksplorator plików znajdź plik projektu (csproj lub vbproj) i otwórz go w Notatniku.
    • W programie Visual Studio w Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Zwolnij projekt. Ponownie kliknij ponownie zwolniony projekt prawym przyciskiem myszy, a następnie wybierz polecenie Edytuj [projectname.csproj].
  2. Dodaj następujący element do pierwszej grupy właściwości konfiguracji (pod tagiem <PropertyGroup> ):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    Poniżej przedstawiono przykładowy plik projektu z wstawionym elementem:

    <?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. Skompiluj aplikację.

Włączanie automatycznych przekierowań powiązań w aplikacjach internetowych

Automatyczne przekierowania powiązań są w przypadku aplikacji internetowych implementowane w inny sposób. Ponieważ plik konfiguracji źródłowej (web.config) musi zostać zmodyfikowany dla aplikacji internetowych, przekierowania powiązań nie są automatycznie dodawane do pliku konfiguracji. Jednak program Visual Studio powiadamia o konfliktach powiązań, więc można dodać przekierowania powiązań, aby rozwiązać konflikty. Ponieważ zawsze jest wyświetlany monit o dodanie przekierowań powiązań, nie trzeba jawnie wyłączać tej funkcji dla aplikacji internetowej.

Aby dodać przekierowania powiązań do pliku web.config :

  1. W programie Visual Studio skompiluj aplikację i sprawdź, czy występują ostrzeżenia kompilacji.

    Ostrzeżenie kompilacji dotyczące konfliktów odwołań do zestawu.

  2. Jeśli występują konflikty powiązań zestawów, zostanie wyświetlone ostrzeżenie. Kliknij dwukrotnie ostrzeżenie lub wybierz ostrzeżenie i naciśnij klawisz Enter.

    Zostanie wyświetlone okno dialogowe, które umożliwia automatyczne dodawanie niezbędnych przekierowań powiązań do źródłowego pliku web.config .

    Okno dialogowe uprawnień przekierowania powiązania.

Zobacz też