MSBuild错误MSB4018:“ResolveKeySource”任务意外失败

时间:2011-08-31 21:59:32

标签: msbuild

直到今天,它一直是一个干净的构建过程。检查了一些源文件,运行Hudson,我得到了这些额外的编译器错误:

  

[exec](ResolveKeySource目标) - >        [exec] C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):错误MSB4018:“ResolveKeySource”任务意外失败。        [exec] C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):错误MSB4018:System.InvalidOperationException:在应用程序未运行时显示模式对话框或表单UserInteractive模式不是有效操作。指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知。        [exec] C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):错误MSB4018:在System.Windows.Forms.Form.ShowDialog(IWin32Window所有者)        [exec] C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):错误MSB4018:在System.Windows.Forms.Form.ShowDialog()        [exec] C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):错误MSB4018:at Microsoft.Build.Tasks.ResolveKeySource.ResolveManifestKey()        [exec] C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):错误MSB4018:在Microsoft.Build.Tasks.ResolveKeySource.Execute()        [exec] C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):错误MSB4018:在Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy,ItemBucket bucket,TaskExecutionMode) howToExecuteTask,ITask task,Boolean& taskResult)

它似乎不会影响输出,因为我可以无事故地部署程序集。但是,我需要恢复构建输出的卫生状态。什么可能改变的想法?这是使用Visual Studio 2008和.NET 3.5。

TIA。

1 个答案:

答案 0 :(得分:2)

您的构建过程正在尝试提示您输入密码,可能是用于签署程序集的证书或.pfx。

由于Hudson作为系统服务运行,现在允许它与桌面交互并显示模式对话框。

要解决此问题,请将Hudson配置为以用户帐户身份运行(在“服务”配置下),然后将证书安装到该帐户的“本地存储”中。