我正在尝试使用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?
非常感谢。
答案 0 :(得分:0)
回答问题1:
文件版本,产品版本和密钥似乎必须与部署的应用程序相同,否则卫星Dll将不可见,应用程序将使用默认资源Dll。
回答问题2:
版本为0.0.0.0,因为在使用除文件和产品版本之外必须指定的Al.exe时,它是/v
选项。
最佳方法:
最好的方法是使用/template
选项,而不是单独指定版本,文件版本和产品版本,以便新创建的程序集可以从应用程序集继承正确的清单。