如何以c sharp编程方式签署项目

时间:2011-09-06 04:31:33

标签: envdte

我正在使用DTE从模板创建项目。我希望项目由特定的.snk文件签名。如何以编程方式完成?

请帮助.. !!

谢谢, 吉里什

1 个答案:

答案 0 :(得分:1)

我所做的是在我的解决方案中添加一个新的Addin项目,并添加以下代码:

    public void OnConnection(object application, ext_ConnectMode connectMode, objec addInInst,   ref Array custom)
    {
        _applicationObject = (DTE2)application;
        _addInInstance = (AddIn)addInInst;
        SetSign(_applicationObject);
    }

     public void SetSign(DTE2 app)
     {
         Solution solution = app.Solution;
         foreach (Project proj in solution.Projects)
         {
            if (null != proj.Properties && null != proj.Properties.Item("SignAssembly"))
            {
               Property projProperty = proj.Properties.Item("SignAssembly");
               bool signed = (bool)projProperty.Value;
               if (!signed)
               {
                  proj.Properties.Item("AssemblyOriginatorKeyFile").Value = @"C:\Projects\ClassLibrary1\Addins\Tools\mykeyfile.pfx";
                  proj.Properties.Item("SignAssembly").Value = true;
                }
                proj.Save();
             }
          }
       }
相关问题