代码之家  ›  专栏  ›  技术社区  ›  Steve Wranovsky

如何导入.NET中使用sn.exe生成的.snk文件?

  •  3
  • Steve Wranovsky  · 技术社区  · 16 年前

    我用以下命令创建了一个密钥文件:

    
     sn.exe -k 2048 Build.snk
    
    

    我想用.NET阅读这个键。我找不到任何关于.snk格式的文档,所以我想知道在c中是否有一种方法可以读取.snk文件?

    我提出这个问题的最初原因是将.snk文件用于签名程序集以外的目的。正如下面的答案之一所述,.snk文件的目的实际上只是为了对程序集进行签名。

    2 回复  |  直到 16 年前
        1
  •  3
  •   STW    16 年前

    强命名键在编译时用于对编译器生成的程序集进行签名,因此在运行时读取它们可能不是您想要的。

    若要开始,请在C项目的“属性”窗口中查找“签名”选项卡,在该窗口中,您可以选择用什么.snk对程序集进行签名。

    http://msdn.microsoft.com/en-us/library/xc31ft41(VS.100).aspx

        2
  •  9
  •   Steve Wranovsky    16 年前

    在msdn中发现一个提及 here . 代码如下:

    
    public static void Main()
    {
        // Open a file that contains a public key value. The line below  
        // assumes that the Strong Name tool (SN.exe) was executed from 
        // a command prompt as follows:
        //       SN.exe -k C:\Company.keys
        using (FileStream fs = File.Open("C:\\Company.keys", FileMode.Open))
        {
            // Construct a StrongNameKeyPair object. This object should obtain
            // the public key from the Company.keys file.
            StrongNameKeyPair k = new StrongNameKeyPair(fs);
    
            // Display the bytes that make up the public key.
            Console.WriteLine(BitConverter.ToString(k.PublicKey));
    
            // Close the file.
            fs.Close();
        }
    }
    
    
    推荐文章