Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Замечание
Эта статья связана с .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.
При компиляции настольных приложений в Visual Studio, ориентированных на .NET Framework версии 4.5.1 и выше, перенаправления привязок могут быть автоматически добавлены в файл конфигурации приложения для переопределения объединения сборок. Перенаправления привязки добавляются, если приложение или его компоненты ссылаются на несколько версий одной сборки, даже если вы вручную указываете перенаправления привязок в файле конфигурации для приложения. Функция автоматического перенаправления привязок влияет на настольные приложения, предназначенные для .NET Framework 4.5.1 или более поздней версии. Если вы явно не включили или отключили перенаправление автоматически созданной привязки и обновляете существующий проект, функция автоматически включена.
Для веб-приложений, когда Visual Studio сталкивается с конфликтом привязки, он предложит добавить перенаправление привязки для разрешения конфликта.
Вы можете включить автоматическое перенаправление привязки для существующих приложений, предназначенных для предыдущих версий .NET Framework (4.5 и более ранних версий). Эту функцию можно отключить , если вы хотите вручную создавать перенаправления привязок.
Это важно
Начиная с Visual Studio 2022 Visual Studio больше не включает компоненты .NET Framework для .NET Framework 4.0 – 4.5.1, так как эти версии больше не поддерживаются. Visual Studio 2022 и более поздних версий не может создавать приложения, предназначенные для .NET Framework 4.0 до .NET Framework 4.5.1. Для продолжения создания этих приложений можно использовать Visual Studio 2019 или более раннюю версию.
Отключение автоматических перенаправлений привязок в настольных приложениях
Автоматические перенаправления привязки включены по умолчанию для настольных приложений Windows, нацеленных на .NET Framework 4.5.1 и более поздние версии. Перенаправления привязки добавляются в выходной файл конфигурации (app.config) при компиляции приложения. Перенаправления переопределяют объединение сборки, которое могло бы произойти в противном случае. Исходный app.config файл не изменяется. Эту функцию можно отключить, изменив файл проекта для приложения или отменив флажок в свойствах проекта в Visual Studio.
Отключение с помощью свойств проекта
Если у вас есть Visual Studio 2017 версии 15.7 или более поздней, вы можете отключить перенаправления автоматически созданных привязок на страницах свойств проекта.
В обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Свойства.
На странице приложения снята опция автоматического создания перенаправлений привязок.
Если этот параметр не отображается, необходимо вручную отключить функцию в файле проекта.
Нажмите клавиши CTRL+S , чтобы сохранить изменение.
Отключите вручную в файле проекта
Откройте файл проекта для редактирования с помощью одного из следующих методов:
- В Visual Studio выберите проект в обозревателе решений и выберите команду "Открыть папку в проводнике" в контекстном меню. В проводнике найдите файл проекта (CSPROJ или VBPROJ) и откройте его в Блокноте.
- В Обозревателе решений в Visual Studio щелкните проект правой кнопкой мыши и выберите "Выгрузить проект". Снова щелкните выгруженный проект правой кнопкой мыши и выберите команду "Изменить [имя_проекта.csproj].
В файле проекта найдите следующую запись свойства:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>Задайте для параметра
trueзначениеfalse:<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
Включение автоматических перенаправлений привязок вручную
Вы можете включить автоматические перенаправления привязок в существующих приложениях, предназначенных для более старых версий .NET Framework, или в случаях, когда вам не будет автоматически предложено добавить перенаправление. Если вы нацелены на более новую версию .NET Framework, но не получаете автоматического запроса на добавление перенаправления, вы, скорее всего, получите выходные данные сборки, предполагающие повторное сопоставление сборок.
Откройте файл проекта для редактирования с помощью одного из следующих методов:
- В Visual Studio выберите проект в обозревателе решений и выберите команду "Открыть папку в проводнике" в контекстном меню. В проводнике найдите файл проекта (CSPROJ или VBPROJ) и откройте его в Блокноте.
- В Обозревателе решений в Visual Studio щелкните проект правой кнопкой мыши и выберите "Выгрузить проект". Снова щелкните выгруженный проект правой кнопкой мыши и выберите команду "Изменить [имя_проекта.csproj].
Добавьте следующий элемент в первую группу свойств конфигурации (под тегом
<PropertyGroup>):<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>Ниже показан пример файла проекта с вставленным элементом:
<?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>Скомпилируйте приложение.
Включение автоматических перенаправлений привязок в веб-приложениях
Автоматические перенаправления привязок реализуются по-разному для веб-приложений. Так как исходный файл конфигурации (web.config) должен быть изменен для веб-приложений, перенаправления привязок не добавляются в файл конфигурации автоматически. Однако Visual Studio уведомляет вас о конфликтах привязки, и вы можете добавить перенаправления привязки для устранения конфликтов. Поскольку вам всегда предлагается добавить перенаправления привязки, вам не нужно явно отключать эту функцию для веб-приложения.
Чтобы добавить перенаправления привязки в файл web.config :
В Visual Studio скомпилируйте приложение и проверьте наличие предупреждений сборки.
Если возникают конфликты привязки сборок, появится предупреждение. Дважды щелкните предупреждение или выберите предупреждение и нажмите клавишу ВВОД.
Откроется диалоговое окно, позволяющее автоматически добавлять необходимые перенаправления привязки в исходный web.config файл.