使用Al.exe创建附属程序集

时间:2012-05-30 09:54:48

标签: .net localization resources satellite-assembly

我正在尝试使用Al.exe创建附属程序集。

要从.ressources文件创建程序集,我正在执行以下命令:

al.exe /c:<culture> /out:<output dll name> /embedresource: <name of the .resources file> /fileversion:3.1.5.0 /productv:3.1.5.0 /keyf:Key.snk

第一个问题:

fileversion,productv和keyf是否必须与我部署的应用程序的文件版本,产品版本和密钥相同?

第二个问题:

为什么当我将生成的DLL部署到GAC时,版本列变为0.0.0.0?但是,当我在GAC中查看其属性时,为什么文件版本和产品版本正确且版本字段为0.0.0.0?

非常感谢。

1 个答案:

答案 0 :(得分:0)

回答问题1:

文件版本,产品版本和密钥似乎必须与部署的应用程序相同,否则卫星Dll将不可见,应用程序将使用默认资源Dll。

回答问题2:

版本为0.0.0.0,因为在使用除文件和产品版本之外必须指定的Al.exe时,它是/v选项。

最佳方法:

最好的方法是使用/template选项,而不是单独指定版本,文件版本和产品版本,以便新创建的程序集可以从应用程序集继承正确的清单。