【问题标题】:When should the optional assembly Version, Culture, and PublicKeyToken values be specified in the web.config's compilation/assemblies collection?何时应在 web.config 的编译/程序集集合中指定可选程序集版本、文化和 PublicKeyToken 值?
【发布时间】:2010-11-11 18:46:49
【问题描述】:

我正在为将安装在 GAC 中的 IIS 创建托管 HTTP 模块。为了完成安装,我需要将程序集信息添加到网站的 web.config 文件中。根据MSDN documentation,Version、Culture、PublicKeyToken都是可选参数。

我相信当同一程序集的多个版本可能可用时,必须指定版本。另外,我认为如果对程序集进行签名,则必须指定 PublicKeyToken。这是正确的吗?

  1. 在什么情况下应该包含这些参数中的一个或多个,为什么?
  2. 在什么情况下必须我包含这些参数中的一个或多个,为什么?

示例 1 - 完全限定名称

<assemblies>
    <add assembly="Company.Product.Feature, Version=1.4.6.124, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx"/>
</assemblies>

示例 2 - 仅程序集名称

<assemblies>
    <add assembly="Company.Product.Feature"/>
</assemblies>

【问题讨论】:

    标签: .net asp.net web-config httpmodule


    【解决方案1】:
    1. 始终如此,因为使用 GAC 在内存方面更高效,并且使您能够管理程序集的版本,确保两个程序集可以共存。
    2. 当其他程序集需要使用\调用您的程序集并且它们就坐时,通常是当您的程序集需要在机器上被称为“安全”时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 2012-01-29
      • 1970-01-01
      • 2017-03-07
      相关资源
      最近更新 更多