我应该使用哪个sn.exe?

时间:2014-02-20 20:52:53

标签: .net assembly-signing

我想尝试使用强名称签署我的.Net程序集。所以我下载并安装了Windows SDK,然后执行Dir /s sn.exe以找到安装它的目录。

我发现的是(滚动大小和日期):

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\sn.exe                       03/18/2010  07:51 PM 95,552 bytes

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\sn.exe       03/18/2010  07:51 PM 168,768 bytes

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\sn.exe   03/19/2010  06:16 AM 187,712 bytes

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\sn.exe                   03/19/2010  06:16 AM 102,208 bytes

所以现在我很困惑我应该使用哪个工具来生成.snk文件(或者即使不同的版本真的很重要)

FWIW我在64位W7上运行VS2010,看着签署.Net 4程序集

1 个答案:

答案 0 :(得分:2)

好的..我想我看到我在这里做了什么。根据Hans的评论,我的计算机上应该已经有一个sn.exe副本。事后看来,我相信在安装SDK之前扫描它时我错过了它。

因此我猜测SDK加载的版本比VS2010提供的版本更新。因此我找到了:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ files             report version 3.5.30729.1  
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\   report version 4.0.30319.1

它看起来像.Net框架版本号。所以我相信NETFX版本是可以使用的版本。

至于x64 vs not-x64 ..仍然让我感到困惑,因为它们都安装在(x86)目录中。

另外,就Hans而言,我真的不需要使用sn.exe