在Visual Studio 中使用 <AutoGenerateBindingRedirects> 来解决引用的程序集版本冲突问题
我是Visual Studio的新手,所以请耐心等待。
我正在开发一种依赖于第三方提供的DLL文件的产品。我们将其称为OtherCompany.dll。我们不发布这个。
我们的产品包含一个依赖于OtherCompany.dll的DLL文件。我们将其称为MyCompany.dll。当我们构建MyCompany.dll时,我们正在构建针对OtherCompany.dll的1.0.0版本。但是,我们最近发现OtherCompany.dll将其版本更改为2.0.0。现有功能没有变化,只有添加。
有些用户购买了OtherCompany.dll版本2.0.0,现在我们的产品已经破产,因为版本1.0.0不在GAC中。我知道这是一个常见问题,我一直在努力寻找一个好的解决方案。
我试图将我的.csproj文件添加到我的MyCompany.dll并针对OtherCompany.dll版本1.0.0进行构建,并将其安装在具有OtherCompany.dll版本2.0.0的计算机上。它仍然没有错误
无法加载文件或程序集'OtherCompany,Version = 1.0.0,Culture = neutral,PublicKeyToken = 1234'或其依赖项之一。该系统找不到指定的文件。
据我所知,这将允许MyCompany.dll独立于OtherCompany.dll。我做错了什么或误解了什么?
我能够通过手动添加到产品.config文件中来完成工作,但这很麻烦,我想要继续工作的东西,以防下周OtherCompany.dll发布3.0.0版本。
回答者:
您是否尝试在配置文件中使用bindingRedirect?只需指定需要将1.0.0到2.0.0(或其他)的任何版本重定向到使用2.0.0。我不知道自动生成的绑定重定向。 - MaKCbIMKo17年 3月16日14:08
是的,绑定重定向有效。由于许可限制,我们无法在安装中提供“其他产品”。 - J Mack17年3月16日14:22 那么,如果您有产品的安装程序,您可以询问用户他们拥有哪个版本并在安装期间更新配置。但如果他们将更新第三方库 - 它将再次失败。我认为你只需要解决许可证问题。 - MaKCbIMKo17年 3月16日14:29 我对许可问题并不反对,但这取决于合法,而不是我。 - J Mack17年3月16日15:12
解决方法:
在Visual Studio 中使用 <AutoGenerateBindingRedirects> 来解决引用的程序集版本冲突问题的更多相关文章
- 【转载】Visual Studio中WinForm窗体程序如何切换.NET Framework版本
在C#语言的WinForm窗体程序中,有时候我们需要切换WinForm窗体程序项目的.NET Framework版本号,例如从.NET Framework 4.5版本切换到.NET Framework ...
- 【已解决】在 Visual Studio 中设置 JavaScript/TypeScript 的断点 脚本出现自动中断错误
运行ASP.NET Core 程序出现错误如下: 已启用 Visual Studio 中的 Chrome 脚本调试 在 Visual Studio 中设置 JavaScript/TypeScript ...
- Visual studio 中或IIS中使用Less预处理语言
在用css预编译语言less时,在visual studio中编写静态页时报错,错误如下: 原因: 经过一番搜索后终于找到解决办法,原来是 visual studio中绑定的IIS Express没有 ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- Visual Studio 中 Tab 转换为空格的设置
Visual Studio 中 Tab 转换为空格的设置 在 Visual Studio 中写代码时,按 Tab 键,会自动进行缩进.有时希望实现按 Tab 键,出现多个空格的效果.Visual St ...
- Visual Studio中定义OVERFLOW不能用
在Visual Studio中对OK.ERROR.OVERFLOW进行宏定义,但只有OVERFLOW不能正常使用为什么呢? #define OK 1: #define ERROR 0: #define ...
- VS2017远程调试C#或 Visual Studio 中的 Visual Basic 项目
来源:远程调试C#或 Visual Studio 中的 Visual Basic 项目 若要调试已部署在另一台计算机的 Visual Studio 应用程序,安装和在其中部署您的应用程序的计算机上运行 ...
- 在visual studio中运行C++心得
1.在visual studio中建立C++项目 (1)新建->项目->空项目 C++ (2)右击项目->添加->新建项->C++文件(.app) (3编写C++文件 ...
- Visual Studio中用于ASP.NET Web项目的Web服务器
当您在 Visual Studio 中开发 Web 项目时,需要 Web 服务器才能测试或运行它们. 利用 Visual Studio,您可以使用不同的 Web 服务器进行测试,包括 IIS Expr ...
随机推荐
- git 清除远程仓库已经删除的本地分支 清除已经合并到master的本地分支
在gitlab中执行deleted merged.也是可以在本地看到这些分支的 查看本地分支和追踪情况: git remote show origin 可以发现远程分支已被删除的分支,根据提示可以使用 ...
- Jsp学习笔记(2)——页面导航、表单、EL表达式
页面导航 有两种跳转页面的方法.重定向和请求转发 两者区别: 请求转发(forward) 重定向(rerect) 请求服务次数 1 2 是否保留第一次请求request范围的属性 保留 不保留 地址栏 ...
- PHP+Ajax微信手机端九宫格抽奖实例
PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现.支持可以设置中奖概率等. 奖品列表 <div class="lottery ...
- elasticsearch window下配置安装
1.首先下载elasticsearch 下载链接:https://www.elastic.co/cn/downloads/elasticsearch 第一张图是下载的,第二章图是下载msi的程序,直接 ...
- SpringBoot(九)RabbitMQ安装及配置和使用,消息确认机制
Windows下RabbitMQ安装及配置地址: https://blog.csdn.net/zhm3023/article/details/82217222RabbitMQ(四)订阅模式:https ...
- Javase之内部类概述
内部类概述 把类定义在其他类的内部就称为内部类 class A{ class B{ } } B就称为内部类,A称为外部类. 内部类的访问特点 内部类直接访问外部类成员,包括私有. 外部类要访问内部类要 ...
- Android监视器概述
还望支持个人博客站:http://www.enjoytoday.cn Android监视器可帮助您分析应用程序的性能,以便您优化,调试和改进它们. 它可以让您从硬件设备或Android模拟器监控应用程 ...
- Centos系统配置bond0
版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明. 本文链接地址:https://www.cnblogs.com/wannengachao/p/11942254.html 1.查 ...
- viscode 使用 格式的配置
viscode 现在也越来越适用于 python 开发使用的 IDEA ,慢慢不逊色于 pycharm .下面是关于使用的 格式[字体颜色,背景之类的配置] 1. 2. 如果是设置的 中文显示,在界 ...
- B/S架构与C/S架构(略讲)
B/S架构基本概念 B/S是Browser/Server,即浏览器/服务器架构.Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现. B/S三层体系结构可以定义为 ...