Msbuild Visual Studio 2015/Windows 10 SDK SignTool.exe错误?

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

我有一个项目正在升级到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: 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="&quot;$(WindowsSDKBinPath)signtool.exe&quot; sign /v /sha1 $(AuthenticodeCertificateSHA1) /t $(AuthenticodeTimestampServerUrl) &quot;$(TargetAssembly)&quot;" />
</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\

我遇到了同样的问题,signtool在使用时退出,退出代码为255:

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