代码之家  ›  专栏  ›  技术社区  ›  si618

CruiseControl.net服务由于MSBuild ResolveKeySource错误而未能生成,尽管证书正在导入

  •  3
  • si618  · 技术社区  · 16 年前

    我们刚刚在构建服务器上添加了一个XBAP/WBA项目。它使用pfx文件进行签名。我将pfx文件导入CruiseControl.net服务证书存储,并可以在证书存储中看到该服务。但是我们仍然看到一个例外 ResoveKeySource :

    C:\windows\microsoft.net\framework\v3.5\microsoft.common.targets(1805,7):errormsb4018:“resolveKeySource”任务意外失败。System.InvalidOperationException:当应用程序未在用户交互模式下运行时显示模式对话框或窗体是无效操作。指定service notification或defaultdesktoponly样式以显示来自服务应用程序的通知。在System.Windows.Forms.Form.ShowDialog上(Iwin32Window所有者)

    我还启用了(希望不仅仅是知识)服务与桌面交互。

    是否有人看到这种行为或可以推荐其他方法?我知道我可以以用户身份运行CruiseControl.net(解决方案是从命令行编译的),但如果可能,我希望避免这样做,因为所有权限都是针对服务帐户配置的,并且更希望以服务身份运行。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Community Mohan Dere    8 年前

    多亏了 Preet 我的建议是,我可以通过以下流程让它工作:

    1. 为CruiseControl.net服务创建了一个用户。
    2. 授予用户以服务身份登录的权限,并将CruiseControl.net服务更改为以此用户身份运行。
    3. 以此用户身份登录并从命令行运行XBAP项目。
    4. 在resovekeysource任务提示下输入pfx密码。
    5. 从CruiseControl.net测试建筑,绿灯,Horray!

    有趣的是,作为步骤3的一部分。作为这个用户登录之后,我将pfx文件导入到它的证书存储中,然后从命令行运行msbuild。这个 没有 解决这个问题,我必须从命令行构建项目,输入密码,然后从CruiseControl.net服务工作。

    谢谢你,普雷特!

    推荐文章