程序集引用里面的“Culture=neutral”是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/09/28 15:04:18
web.config里面的有一句语句是
<add assembly="Castle.Core, Version=1.0.3.0, Culture=neutral, PublicKeyToken=407DD0808D44FBDC"/>
中间那句Culture=neutral不是很明白,PublicKeyToken=407DD0808D44FBDC又是什么意思?

C#将Culture分为的Neutral Culture 和 Specific Culture,

微软推荐使用 SpecificCulture(其实还有一类Invariant Culture微软不推荐使用,仅仅是周期较短的演示系统开发时推荐使用)
当我们看到 en-US,es-ES等表示culture的名称时,可以这样进行识别
横线前面的部分称为Neutral Culture,它是“与某种语言关联但不与国家/地区关联的区域性”的含义
横线后面的部分称为Specific Culture ,它就是和某个地区国家有关的了
通常采用这种写法,因此我们能很容易分辨这两种Culture,如:fr-FR
只有一种特殊情况,就是中文,它的关系是这样的
zh-CHS Chinese (Simplified) , Neutral
zh-CN Chinese - China

zh-CHT Chinese (Traditional) , Neutral
zh-TW Chinese - Taiwan
zh-HK Chinese - Hong Kong SAR
zh-MO Chinese - Macao SAR
zh-SG Chinese - Singapore
可以看到,主要就是 Neutral通常应该是两位的,但这里的Neutral:zh-CHS和zh-CHT有6位,这是比较容易混淆的,而真正的Specific Culture是:zh-CN,zh-TW ,zh-HK,zh-MO,zh-SG 。
指出这个特例也是本文的目的。

如何使用程序集的密钥?
·您是指如何将程序集签名吗?
A:您可以使用 sn.exe 生成一个密钥文件,然后在项目属性里指定要使用的密钥文件。
·您是指如何通过一个已经签名的程序集的 PublicKeyToken 来导出密钥文件?
A:这个不大可能吧?

·如何取得 PublicKeyToken?
可以参加示例代码: