我们刚刚在构建服务器上添加了一个XBAP / WBA项目。它使用PFX文件进行签名。我将PFX文件导入CruiseControl.NET服务证书存储区,并可以在证书存储区中查看该服务。然而,我们仍然看到ResoveKeySource引发的异常:
c:\ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets(1805,7):errorMSB4018:“ResolveKeySource”任务意外失败。 System.InvalidOperationException:当应用程序未在UserInteractive模式下运行时显示模式对话框或窗体不是有效操作。指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知。在System.Windows.Forms.Form.ShowDialog(IWin32Window所有者)
我还启用了(希望不仅仅是知识)与桌面交互的服务。
有没有人看过这种行为或推荐其他方法?我知道我可以作为用户运行CruiseControl.NET(解决方案是从命令行编译),但是如果可能的话,我希望避免因为所有权限都是针对服务帐户配置的,并且更愿意作为服务运行。
答案 0 :(得分:2)
感谢Preet的建议,我能够使用以下过程让它工作:
有趣的是,作为第3步的一部分。以此用户身份登录后,我在从命令行运行MSBuild之前将PFX文件导入其证书存储区。这个没有解决问题,我不得不从命令行构建项目,输入密码然后它从CruiseControl.NET服务工作。
谢谢Preet!