您可以在 web.config 上引用未指定版本的程序集吗?



目前我有一个自定义配置部分类型,我在web.config上使用。目前我像这样声明代码:

<section name="ConfigSectionClass" type=MyAssembly.Namespace.ConfigSectionClass, MyAssembly.Namespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f1259434f366e2a5, processorArchitecture=MSIL/>

程序集安装在 GAC 上。

目前它已指定Version=1.0.0.0程序集的版本。在我的场景中,我需要在没有特定版本的情况下引用程序集。如果我删除了版本号,编译将出错,因为无法加载程序集。

是否有任何可能的解决方案可以在web.config引用没有特定版本的程序集?

您使用强名称。强名称程序集由四个属性组成,这些属性唯一标识程序集

  1. 全名
  2. 版本
  3. 文化
  4. 公钥

请注意,当我们有公钥时,我们签署了程序集。并且我们不能在没有版本号的情况下对程序集进行签名。

如果没有版本号CLR如果我们有两个具有相同名称的程序集,如何找到程序集?

不确定这是否能解决问题,但有时特定版本的问题可能是由需要同一程序集的不同版本的外部库引起的。

可以使用"绑定重定向"来处理库需要同一 DLL 的不同版本的情况。

但是,您应该定义目标程序集版本。

最新更新