通常使用AL.exe工具来创建卫星程序集.因为卫星程序集中不包含任何代码,所以不会用到编译器.当使用AL.exe时,我们用/c[ulture]:text命令行开关来指定所需的语言文化,其中text是一个字符串,例如表示美国英语的"en-US".当部署卫星程序集时,我们应该将它放在一个子目录下,其名称要和前面指定语言文化时的text字符串相匹配.例如,如果应用程序的基目录为c:/MyApp,那么代表美国英语的卫星程序集就应该放在C:/MyApp/en-US子目录下.在运行时,我们可以使用System.Resources.ResourceManager类来访问卫星程序集中的资源.
注意 虽然不提倡创建包含代码的卫星程序集.但还是有可能做到的.如果我们愿意,仍然可以用System.Reflection.AssemblyCultureAttribute定制特性代表AL.exe的/culture命令行开关来指定语言文化,示例如下 :
通常情况下,我们创建的程序集不应该引用卫星程序集.换句话说,一个程序集中的AssemenblyRef条目指向的都应该是语言文化中性的程序集.如果想访问一个卫星程序集中的类型或成员,我们应该用反射技巧.