Visual studio 2015 SignTool-在版本配置的VS解决方案中对$(TargetFileName)进行签名

Visual studio 2015 SignTool-在版本配置的VS解决方案中对$(TargetFileName)进行签名,visual-studio-2015,signtool,Visual Studio 2015,Signtool,在Visual Studio 2015中,我想使用SignTool在成功构建时对解决方案的dll、exe和msi文件进行签名。也就是说,使用生成后事件。 我看过这篇文章: 这是有用的。 因此,我在构建后事件中有这样一点: 调用“$(ProjectDir)$(ConfigurationName)\u sign.bat” 其中Debug_sign.bat为空,Release_sign.bat类似于: "C:\Program Files (x86)\Windows Kits\10\bin\x64\si

在Visual Studio 2015中,我想使用SignTool在成功构建时对解决方案的dll、exe和msi文件进行签名。也就是说,使用生成后事件。 我看过这篇文章: 这是有用的。 因此,我在构建后事件中有这样一点:

调用“$(ProjectDir)$(ConfigurationName)\u sign.bat”

其中Debug_sign.bat为空,Release_sign.bat类似于:

"C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign 
/f "C:\Program Files (x86)\Windows Kits\10\bin\x64\mySPC.pfx" 
/t http://timestamp.verisign.com/scripts/timestamp.dll 
/v $(TargetFileName)
当然,这样做的问题是无法识别$(TargetFileName)。 但是,如果我不必为特定项目指定exe/dll/msi的文件名或其他任何文件名,只需使用TargetFileName,这将非常有帮助

那么,我怎么可能有两种情况(release&debug),其中仅使用release配置对文件进行签名,而仅对TargetFileName进行签名?
目前,我在bat文件中硬编码了SignTool的路径。我希望有尽可能少的脚本来跟踪。

我怀疑您可能可以在生成事件中向调用行添加一个参数,然后在.bat文件中以%1的形式访问该参数。我刚刚尝试了您的建议,但在VS中仍然出现错误。我认为我的语法错误。你介意用我上面给出的片段举个例子吗?哦,等等,我想我已经成功了!:-)我怀疑您可能可以在生成事件中向调用行添加一个参数,然后在.bat文件中以%1的身份访问该参数。我刚刚尝试了您的建议,但VS中仍然出现错误。我认为我的语法是错误的。你介意用我上面给出的片段举个例子吗?哦,等等,我想我已经成功了!:-)