小编典典

获取.Net程序集的PublicKeyToken

all

找到程序集的公钥令牌的最简单方法是什么?

我能想到的最简单的方法是简单的右键单击,获取公钥,但是这个功能不存在,也许有一个 Visual Studio 扩展?

如果扩展可用,我正在使用 Visual Studio 2010。


阅读 129

收藏
2022-07-31

共1个答案

小编典典

打开命令提示符并根据您的 Visual Studio 版本和操作系统体系结构键入以下行之一:

32 位 Windows 上的 VS 2008

"%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\bin\sn.exe" -T <assemblyname>

64 位 Windows 上的 VS 2008:

"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v6.0A\bin\sn.exe" -T <assemblyname>

32 位 Windows 上的 VS 2010:

"%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\bin\sn.exe" -T <assemblyname>

64 位 Windows 上的 VS 2010:

"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\bin\sn.exe" -T <assemblyname>

32 位 Windows 上的 VS 2012:

"%ProgramFiles%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\sn.exe" -T <assemblyname>

64 位 Windows 上的 VS 2012:

"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\sn.exe" -T <assemblyname>

64 位 Windows 上的 VS 2015:

"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -T <assemblyname>

请注意,对于 VS2012+ 版本,sn.exe 应用程序不再位于 bin 中,而是位于子文件夹中。另外,请注意,对于 64 位,您需要指定 (x86)
文件夹。

如果您更喜欢使用 Visual Studio 命令提示符,只需键入:

sn -T <assembly>

where<assemblyname>是您感兴趣的程序集的完整文件路径,如果它有空格,则用引号括起来。

您可以将其添加为 VS 中的外部工具,如下所示:http:
//blogs.msdn.com/b/miah/archive/2008/02/19/visual-studio-tip-get-public-key-
token -for-a-stong-named-
assembly.aspx

2022-07-31