System.Resources.SatelliteContractVersionAttribute 类

本文提供了此 API 参考文档的补充说明。

在桌面应用中,该 SatelliteContractVersionAttribute 属性在主程序集与其所有卫星之间建立协定。 将此属性应用于主程序集,并向其传递将使用此主程序集版本的附属程序集的版本号。 当资源管理器(ResourceManager 对象)查找资源时,它会在主程序集上显式加载此属性指定的附属版本。

更新主程序集时,会递增其程序集版本号。 但是,如果现有程序集与应用兼容,你可能不希望交付附属程序集的新副本。 在这种情况下,请递增主程序集的版本号,但使附属协定版本号保持不变。 资源管理器将使用现有的附属程序集。

如果要修改附属程序集而不是主程序集,请递增附属程序集上的版本号。 在这种情况下,会随附属程序集一起交付发布者策略程序集,指出新附属程序集与旧附属程序集向后兼容。 资源管理器仍将使用基于 SatelliteContractVersionAttribute 属性写入主程序集的旧协定号;但是,加载程序将绑定到由策略程序集指定的附属程序集版本。

共享组件的供应商使用发布者策略程序集对已发布程序集的特定版本发出兼容性声明。 发布者策略程序集是具有格式policy.<major>.<minor>.<ComponentAssemblyName>的强名称程序集,并在全局程序集缓存(GAC)注册。 发布者策略是使用 Al.exe (程序集链接器) 工具从 XML 配置文件(请参阅 <bindingRedirect> 元素)生成的。 程序集链接器与将 XML 配置文件链接到清单程序集的选项一起使用 /link ,该程序集随后存储在全局程序集缓存中。 当供应商提供包含 bug 修复的维护发布(Service Pack)时,可以使用发布者策略程序集。

Windows 8.x 应用商店应用

Windows 8.x 应用商店应用中忽略此属性,因为包资源索引 (PRI) 文件没有版本控制语义。 此外,Windows 8.x 应用商店打包模型要求所有资源在同一包中交付,并且不可能重新部署附属程序集或 PRI 文件。