如何使用程序集绑定重定向来忽略修订号和内部版本号

2024-04-26

我有几个 C# .NET 应用程序,以及供它们访问数据库的 API。我想将 API 的所有版本放入数据库中,并让它们选择最高版本和内部版本号,但坚持使用它们构建时使用的主要版本号和次要版本号。基本上当我参考API时1.2.3.4我想要参考阅读1.2.*.*这样应用程序就会启动1.2.3.5我发现我可以使用 XML 配置文件来做到这一点。我宁愿让它遵守。与发布策略类似,但没有额外的文件。我可以接受这一点。另一个问题是我看到的所有解决方案都将一个版本重定向到另一个特定版本,而不仅仅是任何较新的版本。

我该怎么做呢?

有人可以向我指出发布商政策的信息来源吗?


谢谢莱皮的建议 https://stackoverflow.com/questions/1460271/how-to-use-assembly-binding-redirection-to-ignore-revision-and-build-numbers/1476551#1476551使用的AppDomain.AssemblyResolve http://msdn.microsoft.com/en-us/library/system.appdomain.assemblyresolve.aspx事件,我能够解决类似的问题。我的代码如下所示:

    public void LoadStuff(string assemblyFile)
    {
        AppDomain.CurrentDomain.AssemblyResolve += 
            new ResolveEventHandler(CurrentDomain_AssemblyResolve);
        var assembly = Assembly.LoadFrom(assemblyFile);

        // Now load a bunch of types from the assembly...
    }

    Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    {
        var name = new AssemblyName(args.Name);
        if (name.Name == "FooLibrary")
        {
            return typeof(FooClass).Assembly;
        }
        return null;
    }

这完全忽略版本号,并用已加载的库替换任何名为“FooLibrary”的库引用。您可以使用该属性的其他属性AssemblyName如果您想受到更多限制,请选择班级。FooClass可以是 FooLibrary 程序集中的任何类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用程序集绑定重定向来忽略修订号和内部版本号 的相关文章

  • 通过网络共享的 SQL CE

    我之前见过这个问题 但找不到关于什么是可能 不可能以及什么解决方法可能可用的明确解释 我有一个现有的 C 应用程序 它使用 SQL CE 来存储本地信息 该数据库只能由单个应用程序访问 并存储在用户的 appdata 文件夹中 某些环境将
  • C#中为什么需要锁和对象?

    这是我一直不明白的事情 创建一个虚拟对象几乎看起来像是一个黑客locked 就像例子一样 class Account decimal balance private Object thisLock new Object public voi
  • 正则表达式获取“-”之前的所有字符

    如何获取字符之前的字符串 使用正则表达式 例如 我有 text 1 我想回来 text 所以我看到了实现这一目标的许多可能性 string text Foobar test 正则表达式 匹配所有内容 直到第一个 Match result R
  • 是否可以使用 LINQ 检查列表中的所有数字是否单调递增?

    我感兴趣的是 在 LINQ 中是否有一种方法可以检查列表中的所有数字是否单调递增 Example List
  • Kubernetes Pod 中现在几点了?

    假设我有一些 NET Core 代码在 k8s pod 中运行 我要求 DateTime Now 我假设我将从运行 pod 的主机获取日期时间 有没有办法获得在 k8s 集群中一致的日期时间值 容器中的时钟与主机相同 因为它由内核控制 时区
  • 如何使用 MsBuild v15 构建 C++ 项目?

    我在 Visual Studio 2017 中使用 NuGet 包管理器安装了以下程序集 Microsoft Build Microsoft Build Framework Microsoft Build Utilities Core 一切
  • 如何使用 SqlDataReader 返回和使用 IAsyncEnumerable

    请看下面两种方法 第一个返回一个IAsyncEnumerable 第二个试图消耗它 using System Collections Generic using System Data using System Data SqlClient
  • 我可以在 WinRT / Windows 8 Store 应用程序中绑定 DynamicObject

    我有以下代码 public class MyClass DynamicObject INotifyPropertyChanged Dictionary
  • C# 中的 DateTime.Parse 抛出异常

    我不知道为什么抛出异常 这是工作代码 DateTime Parse 1 12 2012 12 00 00 AM 这是抛出异常的一个 DateTime Parse 1 13 2012 12 00 00 AM 抛出的异常是 格式异常 包括此消息
  • 您在 C# 或 .NET 中见过的最奇怪的极端情况是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从原始 URL 获取重定向 URL

    我的数据库中有一个表 其中包含一些网站的 URL 我必须打开这些 URL 并验证这些页面上的一些链接 问题是某些 URL 被重定向到其他 URL 对于这样的 URL 我的逻辑是失败的 有什么方法可以传递原始 URL 字符串并获取重定向的 U
  • 如果 foreach 是一个结构数组,它会复制每个元素吗?

    我有一个结构数组 做foreach运算符在迭代数组时复制每个元素 据我所理解foreach只是底层的语法糖转换为for 所以看来答案是否定的 但我很想得到一些确认 PS 看来应该有人已经问过了 但我无法轻易找到任何东西 因此 请以提供的参考
  • C# 数据类型到 SQL Server 数据类型

    如何将 C 数据类型 转换 为 SQL Server 数据类型 SqlDbType是已知的 i e C gt String SQL Server gt N String 尝试这个 它是一个 Extension 类 因此您要在文件上添加以下方
  • .NET VM 是编译器还是解释器?

    NET 的虚拟机是编译 CIL 字节码 然后在最低级别 CPU 汇编程序 执行代码 还是解释器 读取以下指令并执行它们 NET 的虚拟机吗 编译 CIL 字节码 然后 在最低级别执行代码 CPU 汇编器 是的 它是 CLR 的一个组件 称为
  • 如何判断谁登录了 SQL Server

    我正在设计一个应用程序 我正在寻找最好的方法来告诉谁当前登录到 SQL Server 我将使用 SSMS 内置的活动监视器 它显示访问服务器的所有进程的列表 非常酷 但是 如果在我的 NET 代码中 每次访问数据库时它都使用单独的连接 那么
  • 如何从 C# 连接到 SQL 数据库?

    我正在尝试为我的家庭网络编写一个本地程序管理和安装系统 并且我认为我已经确定了技术 C NET WPF 客户端 Lua 用于安装脚本支持 通过 LuaInterface SQL Server Express 用于维护程序数据库 但是我不确定
  • 如何转换十进制?到小数

    可能这是一个简单的问题 但我正在尝试所有的转换方法 并且仍然有错误 你能帮我吗 小数 可为空的小数 到小数 有很多选择 decimal x decimal a decimal x works throws if x was null dec
  • 检查文件是否是 .NET 程序集

    我见过一些方法通过检查二进制结构来检查 PEFile 是否是 NET 程序集 http www anastasiosyal com archive 2007 04 17 3 aspx 这是测试多个文件最快的方法吗 我假设尝试加载每个文件 例
  • 使用模型优先方法时如何播种数据?

    所以我正在学习MVC3和EF4 我尝试了代码优先方法 但它对我来说太混乱了 我可以毫无问题地创建类 但最困难的部分是处理外键和彼此之间的关系 但我首先选择了模型 这样我就可以直观地设计它并查看关系在哪里 创建模型后 它会为我创建一个 SQL
  • System.Globalization.CultureInfo 不包含 Name 的定义

    我对 System Globalization CultureInfo 类和 System Globalization 命名空间有这个特殊问题 我从具有 CultureInfo 属性的 API 调用返回一个对象 语言 我能够成功地将其在客户

随机推荐

  • 通过wget命令爬取sitemap.xml的链接

    我尝试抓取 sitemap xml 的所有链接以重新缓存网站 但是 wget 的递归选项不起作用 我只得到响应 远程文件存在 但不包含任何链接 无法检索 但可以肯定的是 sitemap xml 充满了 http 链接 我尝试了 wget 的
  • MySQL 一对多转 JSON 格式

    我有两个 MySQL 表 User id name Sale id user item Where Sale user 是一个外键User id 所以这是一种一对多的关系 一个用户可以进行多次销售 我试图从数据库中获取它并以 JSON 格式
  • jquery .ajax() 问题

    我正在使用 Jquery 1 7 1 但遇到了问题 我正在脚本中使用 CRM 并正在努力完成页面 但我遇到了这个问题 my html
  • 在 iOS 中禁用文本选择标注

    我知道当用户长按某个按钮时您可以禁用标注link使用这个 body webkit touch callout none important a webkit user select none important 但是文本选择菜单呢 我的用例
  • 重写具有不同返回类型的成员函数

    考虑下面的例子 include
  • 在 Julia 中提取参数类型

    假设我在 Julia 中编写了一个函数 它接受Dict K V 作为参数 然后创建类型的数组Array K 1 and Array V 1 我怎样才能提取类型K and V来自 Dict 对象 以便我可以使用它们来创建数组 斯文和约翰的答案
  • 仅适用于数字和连字符的正则表达式

    我试图理解正则表达式 对于长度为 10 的数字我可以简单地做 0 9 10 对于连字符只有我能做 使用组表达式将两者结合起来将导致 0 9 10 该表达式无法按预期工作 如果字符串无效 它会以某种方式匹配字符串的一部分 而不是根本不匹配 如
  • Hibernate无法打开连接

    我在休眠时遇到问题 无法打开连接 我有一个 DAO public class MyDao extends HibernateDaoSupport DataSource dataSource public void setDataSource
  • 安卓浏览器有bug? div溢出滚动

    你能让div的溢出内容在Android浏览器中滚动吗 它在所有其他现代浏览器中都是可滚动的 在 iOS 中 它是可滚动的 但它不显示滚动条 但可以通过拖动来滚动 一个简单的例子 http jsfiddle net KPuW5 1 embed
  • .hide("slow") 是同步方法还是异步方法?

    据我们所知 ajax 是一个异步方法 因为下一个语句之前开始执行ajax 方法已完全执行 ajax 继续并行执行其工作 并且hide 是一个同步方法 因为它立即隐藏元素 并且下一条语句将在何时执行hide 确实完成了他的全部任务 但我真的很
  • 此 xpath 查询的 Flex/AS3/E4X 等效项是什么?

    鉴于此文档
  • 一个应用程序的最大线程数?

    我想知道一个应用程序的最大线程数 您知道 Thread activeCount 返回正在运行的线程组及其子组中的活动线程数 如果我知道当前活动中要创建的最大线程数 我就可以限制活动线程 我正在使用线程进行 http 连接并捕获 Http 响
  • 类通过回调提供数据

    在用 C 编程一段时间后 我最近回到了 Visual C 因为 C 中的回调要容易得多 我有一个控制 0 连接设备的单例类 我的想法是在此类中创建一个函数 它将迭代一组 连接的设备并通过回调将其发布到任何可能需要它的地方 e g Singl
  • C++ 或 Java 中保存 20 位整数的数据类型

    Java 或 C 中是否有可以保存 20 位或更多数字的整数值的数据类型 long long 数据类型最多只能容纳 18 位数字 Java具体 您正在寻找BigInteger http docs oracle com javase 7 do
  • 如何在H2中定义Oracle Package procedure进行测试

    我正在测试一个 Spring Boot 应用程序 该应用程序将数据读取 写入 Oracle DB 该 Oracle DB 具有 Oracle 包以及这些包中的过程 在某些时候 Spring Boot应用程序通过实体存储库调用此过程 如下所示
  • 模拟 with 语句中使用的类

    我有一堂课有一个 exit and enter 函数 以便我可以在 with 语句中使用它 例如 with ClassName as c c do something 我现在正在尝试编写一个单元测试来测试这一点 基本上 我想测试一下do s
  • 运行时静默更新应用程序

    我的应用程序最初将使用 Windows Installer 进行部署 我正在寻找的解决方案的主要特征包括 支持应用程序静默更新 运行 或自动重启 客户 易于维护和管理包装 过程 避免复杂的定制或 安装脚本 您对我如何实现这一目标有什么想法吗
  • 如何测试两个哈希值(密码)是否相似?

    当用户创建密码时 我对其进行哈希处理 包括盐 并将其保存在数据库中 现在 当用户想要更改他或她的密码时 我想测试新密码是否与旧密码太相似 我已经在不同的服务上看到过这种情况 尤其是网上银行 所以 我想我会使用similar text or
  • 更改 DataGridViewComboBoxColumn 单元格的背景颜色

    我创建了一个 DataGridView 对象 其中包含 DataGridViewComboBoxColumn 类型的列 以允许用户从下拉列表中选择值 例如 如果用户选择 高 我想对组合框的背面进行着色 但是 它不会为组合框着色 而只会为组合
  • 如何使用程序集绑定重定向来忽略修订号和内部版本号

    我有几个 C NET 应用程序 以及供它们访问数据库的 API 我想将 API 的所有版本放入数据库中 并让它们选择最高版本和内部版本号 但坚持使用它们构建时使用的主要版本号和次要版本号 基本上当我参考API时1 2 3 4我想要参考阅读1