0

对不起,如果之前问过。

使用 Visual Studio 2010,我正在尝试使用 pfx 文件对我的程序集进行签名,以便在构建时它的工作与以下内容相同:

signtool sign /f myKey.pfx /p password1 myDll.dll

我已myKey.pfx在“项目属性”->“签名”选项卡中选中“签署程序集”,将其设置为强名称密钥文件。

这是“签名”选项卡的作用还是我试图错误地使用它。

我确定我缺少一些简单的东西是什么?

编辑:为了澄清,我正在寻找替代方案来添加一个 Post-Build 脚本来进行签名。

4

1 回答 1

0

在我的安装/部署项目的 PreBuild 事件中使用 VB 脚本解决了这个问题,该脚本运行了我项目的 OBJ 文件夹中的所有 .DLL 和 .EXE 文件并运行了 signtool 命令(包括 SDK 的完整路径)

Sub ShowSubFolders(keyFile, fFolder)
    Set objFolder = objFSO.GetFolder(fFolder.Path)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
        If UCase(objFSO.GetExtensionName(objFile.name)) = "DLL" Or UCase(objFSO.GetExtensionName(objFile.name)) = "EXE" Then
            'Wscript.Echo objFile
            Dim objResult
            Set objShell = WScript.CreateObject("WScript.Shell")    
            objResult = objShell.Run("""C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool"" sign /f " & keyFile & " """ & objFile & """", 0, True)
        End If
    Next

    For Each Subfolder in fFolder.SubFolders
        Call ShowSubFolders(keyFile, Subfolder)
    Next
End Sub
于 2011-11-20T07:23:45.093 回答