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

Ash*_*mar 8 .net .net-assembly

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

现在,我必须签署所有标记延迟签名的集会.

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

Geo*_*nov 6

你需要使用sn -vf

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


mez*_*tou 5

您可以运行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);
Run Code Online (Sandbox Code Playgroud)

  • `sn -v`不告诉我'xxx是延迟签名或测试签名的程序集。`sn -vf`可以。 (3认同)