默认情况下,将为面向 .NET Framework 4.5.1 及更高版本的传统桌面应用启用自动绑定重定向。
编译应用并重写可能发生的程序集统一时,绑定重定向将添加到输出配置 (app.config) 文件中。
不修改源 app.config 文件。
你可以通过修改应用的项目文件来禁用此功能。
禁用自动绑定重定向
在 Visual Studio 中,在
“解决方案资源管理器”
中选择项目,然后从快捷菜单中选择
“在文件资源管理器中打开文件夹”
。
在文件资源管理器中,找到项目(.csproj 或 .vbproj)文件,并用记事本将其打开。
在项目文件中,查找以下属性项:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
将
true
更改为
false
:
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
你可以在面向旧版本 .NET Framework 的现有应用中,或在不会自动提示你添加重定向的情况下,启用自动绑定重定向。
如果你面向较新版本的框架,但没有获得自动提示以添加重定向,你可能会获得建议你重新映射程序集的生成输出。
手动添加自动绑定重定向属性
在 Visual Studio 中,在
“解决方案资源管理器”
中选择项目,然后从快捷菜单中选择
“在文件资源管理器中打开文件夹”
。
在文件资源管理器中,找到项目(.csproj 或 .vbproj)文件,并用记事本将其打开。
将以下元素添加到第一个配置属性组(在 <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 应用的自动绑定重定向实现方式有所不同。 由于必须修改 Web 应用的源配置 (web.config) 文件,因此绑定重定向不会自动添加到配置文件。但是,Visual Studio 会通知你绑定冲突,你可以添加绑定重定向来解决此冲突。 由于始终会提示你添加绑定重定向,因此你不需要为 Web 应用显式禁用此功能。
向 web.config 文件添加绑定重定向
在 Visual Studio 中,编译应用,然后检查生成警告。
当你的项目中多个不同的项目以及不同的依赖存在不同的依赖程序集时,可能会因为依赖于不同版本的程序集而产生冲突。而绑定重定向可以帮助解决不同程序集的依赖版本不同的问题,使整个程序使用统一个版本的 dll 来运行整个应用程序。
然而,如果我们就是需要使用一个分离的不同版本,那么我们就需要禁用掉自动生成绑定重定向。本文介绍如何禁用自动生成绑定重定向。
本文的结论只有一句,就是在项目中设置属性 <A...
1、C# 如何使用 HttpWebRequest
重定向
https://jingyan.baidu.com/article/90895e0f09e9c164ec6b0b31.html
2、解决错误:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
https://www.cnblogs.com/cpcpc/p/5098580.html
进行插件式编程的时候,经常性地弹出这么个东西找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040),往往这种问题特别难以解决,搞定了一个还要出另外一个。得研究一下怎么处理。
引用不匹配#
这里提示需要加载一个4.2.0.0版本的dll,我先看看文件夹下面有没有对应的dll,查看文件dll的详细信息。
这个版本号4.6.27818.1和4.2.0.0也差的有点太远了吧,是这个问题?其实不是的,这个地方显示的版本和程序集的版本不是一回事。
程序集版本#
.NET程序有很多版
当我们编写控制台程序并进行输入输出时,可能需要频繁地在小黑窗写内容作为输入,然后小黑窗输出内容,这对于读和写都非常麻烦。像这样:
如果使用文件
重定向,我们可以选择某一个文件的内容作为程序的输入,选择某一个文件作为保存程序的输出结果。在VS2019中,项目→属性→配置属性→调试→命令参数,输出以下参数。
<in.txt表示项目工程根目录下,有一个in.txt的文本文件,就是程序的输入。
C2CS:C到C#绑定代码生成器指南
c2csGenerate C# bindings from a C header.项目地址:https://gitcode.com/gh_mirrors/c2/c2cs 项目介绍
C2CS是一个强大的开源工具,专为解决跨语言编程挑战而设计。它基于GitHub上的仓库https://github.com/bottlenoselabs/c2cs.git,提供从C...