什么时候应该在web.config的编译/程序集集合中指定可选的程序集Version,Culture和PublicKeyToken值?

时间:2010-11-11 18:46:49

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

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

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

  1. 在什么情况下应该我包含一个或多个这些参数,为什么?
  2. 在什么情况下必须我包含一个或多个这些参数,为什么?
  3. 示例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>
    

1 个答案:

答案 0 :(得分:0)

  1. 总是如此,因为使用GAC在内存方面更有效,并且使您能够管理程序集上的版本,确保两个程序集可以共存。
  2. 当其他组件需要使用\调用您的组件并且他们坐在那里时,通常当您的组件需要在机器上被称为“安全”时。