https://msdn.microsoft.com/zh-cn/library/2fc472t2.aspx

如何:启用和禁用自动绑定重定向

.NET Framework (current version)
 

从 Visual Studio 2013 开始,当你编译面向 .NET Framework 4.5.1 的应用程序时,绑定重定向可能会自动添加到应用配置文件,以便重写程序集统一。 如果你的应用或其组件引用同一程序集的多个版本,就会添加绑定重定向,即使你在应用的配置文件中手动指定绑定重定向。 自动绑定重定向功能会影响面向 .NET Framework 4.5.1 的传统桌面应用和 Web 应用,但对于 Web 应用来说,行为略有不同。 如果你有面向较早版本 .NET Framework 的现有应用,则可以启用自动绑定重定向,如果要保留手动编写的绑定重定向,你可以将此功能禁用。

默认情况下,将为面向 .NET Framework 4.5.1 及更高版本的传统桌面应用启用自动绑定重定向。 编译应用并重写可能发生的程序集统一时,绑定重定向将添加到输出配置 (app.config) 文件中。 不修改源 app.config 文件。 你可以通过修改应用的项目文件来禁用此功能。

禁用自动绑定重定向

  1. 在 Visual Studio 中,在“解决方案资源管理器”中选择项目,然后从快捷菜单中选择“在文件资源管理器中打开文件夹”

  2. 在文件资源管理器中,找到项目(.csproj 或 .vbproj)文件,并用记事本将其打开。

  3. 在项目文件中,查找以下属性项:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

  4. 将 true 更改为 false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>

你可以在面向旧版本 .NET Framework 的现有应用中,或在不会自动提示你添加重定向的情况下,启用自动绑定重定向。 如果你面向较新版本的框架,但没有获得自动提示以添加重定向,你可能会获得建议你重新映射程序集的生成输出。

手动添加自动绑定重定向属性

  1. 在 Visual Studio 中,在“解决方案资源管理器”中选择项目,然后从快捷菜单中选择“在文件资源管理器中打开文件夹”

  2. 在文件资源管理器中,找到项目(.csproj 或 .vbproj)文件,并用记事本将其打开。

  3. 将以下元素添加到第一个配置属性组(在 <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>
  4. 编译你的应用。

Web 应用的自动绑定重定向实现方式有所不同。 由于必须修改 Web 应用的源配置 (web.config) 文件,因此绑定重定向不会自动添加到配置文件。但是,Visual Studio 会通知你绑定冲突,你可以添加绑定重定向来解决此冲突。 由于始终会提示你添加绑定重定向,因此你不需要为 Web 应用显式禁用此功能。

向 web.config 文件添加绑定重定向

  1. 在 Visual Studio 中,编译应用,然后检查生成警告。

  2. 如果存在程序集绑定冲突,则将显示警告。 双击警告。 (键盘:选择警告,然后按“Enter”。)

    此时将显示一个对话框,使你可以将必要的绑定重定向添加到源 web.config 文件。

C#如何:启用和禁用自动绑定重定向 (微软)的更多相关文章

  1. 禁用自动映射的 Exchange 邮箱

    客户最近询问他们无法从用户的Outlook配置文件中删除邮箱.在这种情况下,它们是共享邮箱,并出现在Outlook的左窗格中.但原因和解决方法同样适用于用户邮箱.并且 无论用户邮箱在本地 Exchan ...

  2. ifconfig命令--查看、配置、启用或禁用网络接口的工具

    ifconfig 是一个用来查看.配置.启用或禁用网络接口的工具,这个工具极为常用的.可以用这个工具来临时性的配置网卡的IP地址.掩码.广播地址.网关等.也可以把它写入一个文件中(比如/etc/rc. ...

  3. [js]jQuery EasyUI的linkbutton组件disable方法无法禁用jQuery绑定事件的问题分析

    问题由来 linkbutton 是 jQuery EasyUI 中常用的一个控件,可以使用它创建按钮.用法很简单,使用 a 标签给一个easyui-linkbutton 的class就可以了. < ...

  4. WPF 自定义命令 以及 命令的启用与禁用

    自定义命令:     在WPF中有5个命令类(ApplicationCommands.NavigationCommands.EditingCommands.ComponentCommands 以及 M ...

  5. ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题

    试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...

  6. FlexiGrid 使用 全选、自动绑定

    1.介绍 Flexigrid是一个类似于Ext Gird,但基于jQuery开发的Grid.它具有的功能包括:可以调整列宽,合并列标题,分页,排序,显示/隐藏表格等.Flexigrid显示的数据能够通 ...

  7. WinForm开发-界面控件到实体,实体到界面控件自动绑定

    在WinForm开发中,我们是不是为绑定界面控件的数据而每个控件每个控件的赋值?在保存修改时是不是也是每个控件每个控件的赋值到实体中?字段一多,那简直就是噩梦.有没有像Web中那样方便的方法直接就自动 ...

  8. php 自动绑定di容器实现

    <?php class Bim { public function doSth() { echo __METHOD__.PHP_EOL; } } class Bar { protected $b ...

  9. paip.提升效率---request自动绑定domain object

    paip.提升效率---request自动绑定domain object #.keyword,subtitle关键字,子标题 ------------------------- 复制request属性 ...

随机推荐

  1. ansible入门七(实战)

    Ansible实战:部署分布式日志系统   本节内容: 背景 分布式日志系统架构图 创建和使用roles JDK 7 role JDK 8 role Zookeeper role Kafka role ...

  2. js字符串操作方法

    1.字符方法: str.charAt(): 可以访问字符串中特定的字符,可以接受0至字符串长度-1的数字作为参数,返回该位置下的字符,如果参数超出该范围,返回空字符串,如果没有参数,返回位置为0的字符 ...

  3. 探究JS中的连等赋值问题

    一.引子 最近在看别人的博客时无意中看到一个这样的问题 var a = {n: 1}; var b = a; a.x = a = {n:2}; console.log(a.x); //undefine ...

  4. Spring源码解析-IOC容器的实现-ApplicationContext

    上面我们已经知道了IOC的建立的基本步骤了,我们就可以用编码的方式和IOC容器进行建立过程了.其实Spring已经为我们提供了很多实现,想必上面的简单扩展,如XMLBeanFacroty等.我们一般是 ...

  5. [JS]JavaScript判断操作系统版本

    function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == " ...

  6. HDU 5793 A Boring Question (找规律 : 快速幂+乘法逆元)

    A Boring Question Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  7. GNU C 、ANSI C、标准C、标准c++区别和联系

    转载自点击打开链接 GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的.它的目标是创建一套完全自由的操作系统.它在编写linux的时候自己制作了一个标准成为 ...

  8. Python中的单例设计模式

    1)设计模式: 是前人工作的总结和提炼.通常,被人们广泛流传的设计模式.     某一问题的特定解决方案,使用设计模式是为了可重用代码,是代码更容易被人理解, 增加代码的可用性. 2)单例设计模式: ...

  9. 关于微信中JS-SDK的接口验证过程详细说明

    最近在做微信的企业服务号,刚开始通过个人的测试平台进行开发,使用了自定义菜单,自定义菜单包含两个功能:1.扫一扫,通过扫描我们账单的二维码,绑定账户和账单的关系:2.打开我们系统的账单查询页面,查询账 ...

  10. JQ上传预览+存数据库

    因为之前老师讲的方法有不少BUG 现在经过完善已经修复 之前老是讲的方法是每一张都会被传到后台文件夹里面去 导致在预览过程中如果刷新页面 那么预览的图片不能从后台文件夹中删除  这个方法实现在本地预览 ...