用类库输出类型项目生成的具有强名的dll(snk文件:key.snk),
修改该项目的源代码后,再编译重新生成dll,发现生成dll和原来的dll一样,没有变化。怎样才能修改使用强名的dll呢???

解决方案 »

  1.   

    打开工程中的AssemblyInfo.cs文件并进行修改
    [assembly:AssemblyKeyFile("key.snk")]
      

  2.   


     要对程序集进行签名,必须指定要使用的密钥。有关程序集签名的更多信息,请参考 
     Microsoft .NET Framework 文档。 使用下面的属性控制用于签名的密钥。 注意:
       (*) 如果未指定密钥,则程序集不会被签名。
       (*) KeyName 是指已经安装在计算机上的
          加密服务提供程序(CSP)中的密钥。KeyFile 是指包含
           密钥的文件。
       (*) 如果 KeyFile 和 KeyName 值都已指定,则 
           发生下列处理:
           (1) 如果在 CSP 中可以找到 KeyName,则使用该密钥。
           (2) 如果 KeyName 不存在而 KeyFile 存在,则 
               KeyFile 中的密钥安装到 CSP 中并且使用该密钥。
       (*) 要创建 KeyFile,可以使用 sn.exe(强名称)实用工具。
           在指定 KeyFile 时,KeyFile 的位置应该相对于
           项目输出目录,即
           %Project Directory%\obj\<configuration>。例如,如果 KeyFile 位于
           该项目目录,应将 AssemblyKeyFile 
           属性指定为 [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
       (*) “延迟签名”是一个高级选项 - 有关它的更多信息,请参阅 Microsoft .NET Framework
           文档。
      

  3.   

    .NET中的强名
    http://dev.csdn.net/develop/article/18/18445.shtm
      

  4.   

    AssemblyInfo.cs文件中已有[assembly:AssemblyKeyFile("key.snk")]!!!
      

  5.   

    我是想去掉类库输出类型项目的强名,然后修改该项目并重新生成dll!!!]
    如何去掉强名呢?
      

  6.   

    去掉AssemblyInfo.cs文件中已有[assembly:AssemblyKeyFile("key.snk")]!!!
    中的签名文件就可以了