Msbuild Visual Studio 2015/Windows 10 SDK SignTool.exe错误?
我有一个项目正在升级到Visual Studio 2015,但它的目标仍然是.NET 4.5.1 每当将$(WindowsSDKBinPath)设置为Windows 10 SDK“C:\Program Files(x86)\Windows Kits\10\bin\x86\”时,signtool.exe将退出,退出代码为255,输出将如下所示:Msbuild Visual Studio 2015/Windows 10 SDK SignTool.exe错误?,msbuild,visual-studio-2015,windows-10,Msbuild,Visual Studio 2015,Windows 10,我有一个项目正在升级到Visual Studio 2015,但它的目标仍然是.NET 4.5.1 每当将$(WindowsSDKBinPath)设置为Windows 10 SDK“C:\Program Files(x86)\Windows Kits\10\bin\x86\”时,signtool.exe将退出,退出代码为255,输出将如下所示: The following certificate was selected: Issued to: XXXX Issued by: Ve
The following certificate was selected:
Issued to: XXXX
Issued by: VeriSign Class 3 Code Signing 2010 CA
Expires: Tue Apr 11 19:59:59 2017
SHA1 hash: XXXX
Done Adding Additional Store
通常,如果出现错误,错误就会出现在这里,但就是这样,它就在这里被切断,退出代码为255
如果将$(WindowsSDKBinPath)设置为Windows 8.1 SDK“C:\Program Files(x86)\Windows Kits\8.1\bin\x86\”,则一切正常。SignTool.exe对dll进行签名,没有任何问题,并像正常情况一样使用代码0退出
谁能帮我弄清楚如何使用新的signtool,或者至少知道为什么它不起作用?下面是我在csproj文件中添加的目标,以便在构建后对其进行签名。谢谢
<Target Name="AuthenticodeProjectSign" AfterTargets="AfterBuild">
<PropertyGroup>
<AuthenticodeTimestampServerUrl>http://timestamp.verisign.com/scripts/timstamp.dll</AuthenticodeTimestampServerUrl>
<TargetAssembly>$(OutDir)$(TargetFileName)</TargetAssembly>
</PropertyGroup>
<Exec Command=""$(WindowsSDKBinPath)signtool.exe" sign /v /sha1 $(AuthenticodeCertificateSHA1) /t $(AuthenticodeTimestampServerUrl) "$(TargetAssembly)"" />
</Target>
http://timestamp.verisign.com/scripts/timstamp.dll
$(OutDir)$(TargetFileName)
signtool@my Machine和buildserver正在工作。在VisualStudio 2015和Windows 10 Enterprise 64位上,我必须在VisualStudio设置中添加ClickOnce发布工具:
在此之后,您可以在中找到signtool.exe
- c:\ProgramFiles(x86)\Windows Kits\8.1\bin\x64\
- c:\ProgramFiles(x86)\Windows Kits\8.1\bin\x86\
- c:\Program Files(x86)\Windows Kits\8.1\bin\arm\
C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe
但不知何故,它可以通过以下方式正常工作:
C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe
我的问题不是缺少signtool,而是signtool默默地失败了。好的,很抱歉没有帮助。我不知道为什么新版本不起作用,但旧版本起作用了。为什么需要新版本?也许timestampserver有问题,但不幸的是我没有这个问题的答案,我只是想说谢谢你帮我解决我的问题。我也有同样的问题。尝试使用Windows 10 SDK SignTool.exe导致255退出代码。(这把我带到了这里)。将ClickOnce发布工具添加到VS,然后使用8.1 SDK SignTool.exe,效果很好(正如您在问题中提到的)。我不确定这是一个bug还是新的signtool中的什么,但我很高兴事情能够顺利进行。谢谢。你有没有找到一种方法让它与Windows10SDK一起工作?我们也在做这项工作,但如果知道为什么win 10 sdk版本不能工作,那就好了:-s