使用MSBuild发布VSTO插件时出现错误: "SignFile"任务意外失败。System.ArgumentNullException:值不能为空。

3

我正在尝试使用MSBuild在TeamCity构建服务器上发布Word的VSTO插件,而不需要使用Visual Studio。我已经完成了这两篇博客文章中的内容:

http://kentb.blogspot.com/2008/08/building-vsto-projects-without-visual.html http://www.wiktorzychla.com/2011/02/msb3147-could-not-find-required-file-on.html

我的构建文件是我的Visual Studio解决方案,目标是“发布”。在我的开发机上,Visual Studio 2013中的ClickOnce发布正常工作。但是在构建服务器上,我遇到了这个问题:

[SignFile] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets(612, 9): error MSB4018: The "SignFile" task failed unexpectedly. System.ArgumentNullException: Value cannot be null. Parameter name: path1 at System.IO.Path.Combine(String path1, String path2, String path3) at Microsoft.Build.Tasks.Deployment.ManifestUtilities.SecurityUtilities.GetPathToTool() at Microsoft.Build.Tasks.Deployment.ManifestUtilities.SecurityUtilities.SignPEFile(X509Certificate2 cert, Uri timestampUrl, String path, ResourceManager resources, Boolean useSha256) at Microsoft.Build.Tasks.Deployment.ManifestUtilities.SecurityUtilities.SignFile(X509Certificate2 cert, Uri timestampUrl, String path) at Microsoft.Build.Tasks.Deployment.ManifestUtilities.SecurityUtilities.SignFile(String certThumbprint, Uri timestampUrl, String path) at Microsoft.Build.Tasks.SignFile.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()

我不知道这是什么意思或如何解决。有任何想法吗?

1个回答

4

回答自己的问题,这可能会对未来的某个人有所帮助。

我发现这是因为该版本的SignFile任务需要signtool.exe,而我没有安装它。 我安装了所有选项都被勾选的Windows SDK,它被安装了,我的发布任务现在可以正常工作了。 我不确定它属于哪个选项,但我认为它不是.NET选项,因为我已经安装了它。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接