使用al.exe签署程序集:

时间:2012-06-12 02:28:08

标签: .net interop

此命令失败:

al.exe /out:ClassLibrary3.dll Class3.netmodule /keyfile:sgKey.snk

我不知道为什么。以下是命令行失败的原因:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools>al.exe /
out:ClassLibrary3.dll Class3.netmodule /keyfile:sgKey.snk
Microsoft (R) Assembly Linker version 10.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.

ALINK: error AL1047: Error importing file 'c:\Program Files (x86)\Microsoft
        SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\Class3.netmodule' -- The system
        cannot find the file specified.

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools>

Class3是我的程序集中唯一的类。这是在目录中寻找一些物理“Class3.netmodule”文件或对象吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

此命令具体是尝试从netmodule生成程序集。所以是的,它正在寻找一个名为“Class3.netmodule”的物理文件。

您无法从命令行任意签署程序集。你必须在编译期间签名;或者,如果设置为延迟签名,请使用sn.exe -R[a]