180

アセンブリの公開鍵トークンを見つける最も簡単な方法は何ですか?

私が考えることができる最も簡単な方法は、単純な右クリックで公開キーを取得することですが、この機能はありません。おそらくそのためのVisual Studio拡張機能がありますか?

拡張機能が利用可能な場合、Visual Studio 2010 を使用しています。

4

13 に答える 13

240

コマンド プロンプトを開き、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の外部ツールとして追加できます。
-for-a-stong-named-assembly.aspx

于 2010-06-15T12:31:08.817 に答える
14

プロジェクトにアセンブリを含めた場合は、次のことができます。

            var assemblies =
                AppDomain.CurrentDomain.GetAssemblies();


            foreach (var assem in assemblies)
            {
                    Console.WriteLine(assem.FullName);
            }
于 2010-06-15T12:32:23.557 に答える
10

次のように、これを外部ツールとして Visual Studio に追加できます。

題名:

Get PublicKeyToken

指示:

c:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\sn.exe

(パスはバージョンによって異なる場合があります)

引数:

-T "$(TargetPath)"

「出力ウィンドウを使用」オプションをチェックします。

于 2014-11-24T01:13:08.767 に答える
5

1)コマンドはC:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\sn -T {your.dll}

上記の例では、Microsoft SDKはC:\ Program Files \ Microsoft SDKs \ Windows\v6.0Aにあります。環境が異なる場合があります。

2)プロジェクトの公開鍵トークンを取得するには、VisualStudioの外部ツールの一部としてsn.exeを追加します。手順は、次のMicrosoftリンクに示されています。方法:アセンブリの公開鍵を取得するためのツールを作成する

于 2010-06-15T12:51:42.310 に答える
1

別の方法は、逆コンパイラがある場合です。そこで調べるだけで、通常は公開鍵が提供されます。.Net Reflector、Telerik Just Decompile、ILSpy just decompile を見たところ、公開鍵トークンが表示されているようです。

于 2015-04-22T13:56:03.460 に答える
0

Ildasm.exe (IL 逆アセンブラー) を使用して、完全修飾名を含むアセンブリのメタデータを調べることができます。

次の MSDN: https://msdn.microsoft.com/en-us/library/2exyydhb(v=vs.110).aspx

于 2015-02-25T14:44:51.447 に答える