如何识别延迟签名的程序集

时间:2014-02-05 09:59:57

标签: .net .net-assembly

我在一个文件夹中有很多程序集。只有部分标记为延迟签名。

现在,我必须签署所有标记延迟签名的程序集。

如何识别哪个程序集标记为延迟签名,哪个不是?

2 个答案:

答案 0 :(得分:6)

您需要使用sn -vf

验证强名称签名自我一致性。如果-vf是 指定,强制验证即使在注册表中被禁用。

答案 1 :(得分:3)

您可以运行sn -v "path to your assembly"。如果程序集被延迟签名,这将输出xxx is a delay-signed or test-signed assembly

如果您更喜欢在.NET中执行此操作,则可能需要使用StrongNameSignatureVerificationEx来检查签名(http://blogs.msdn.com/b/shawnfa/archive/2004/06/07/150378.aspx

[DllImport("mscoree.dll", CharSet = CharSet.Unicode)]
static extern bool StrongNameSignatureVerificationEx(string wszFilePath, bool fForceVerification, ref bool pfWasVerified);