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

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

如果有可用的扩展,我正在使用Visual Studio2010.

推荐答案

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

VS 2008 on 32bit Windows :

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

VS 2008 on 64bit Windows :

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

VS 2010 on 32bit Windows :

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

VS 2010 on 64bit Windows :

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

VS 2012 on 32bit Windows :

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

VS 2012 on 64bit Windows :

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

VS 2015 on 64bit Windows :

"%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> 

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

You can add this as an external tool in VS, as shown here:
http://blogs.msdn.com/b/miah/archive/2008/02/19/visual-studio-tip-get-public-key-token-for-a-stong-named-assembly.aspx

.net相关问答推荐

为什么我在环境变量中有不同的值?

问:在 Blazor WASM 应用程序中存储 api 密钥的最佳方式是什么?

我应该创建一个 DateRange 对象吗?

使用 Thread.Abort() 有什么问题

在 web api 控制器(.net 核心)中使用 async/await 或任务

如何在 C# 中创建表达式树来表示String.Contains("term")?

如何将浮点数向上舍入到 C# 中最近的 int?

指定的版本字符串不符合要求的格式 - major[.minor[.build[.revision]]]

RNGCryptoServiceProvider 的优缺点

C# 属性实际上是方法吗?

清除 .NET 的 StringBuilder 内容的最佳方法

String.Format - 它是如何工作的以及如何实现自定义格式字符串

在 .NET 中填充整数列表

如何在 C# 中将 null 值设置为 int?

当我们按下 Enter 键时启动的 WPF 文本框命令

如何正确和完全关闭/重置 TcpClient 连接?

C# 中的 override 和 new 关键字有什么区别?

如何使用通用扩展方法中的字符串列名在 IQueryable 上应用 OrderBy?

如何使用 NPOI 读取文件

NServiceBus 与 MassTransit