VS2015 构建代理请求失败,未设置 URI

VS2015 Build agent request has failed, URI not set

我是 Xamarin.iOS 的老用户,通常我可以使用 Visual Studio 2012 年的 Xamarin Build Host。我最近安装了一台新的 Windows 8.1 机器连接到我的 Xamarin 帐户的 VS2015 和构建主机连接配对似乎工作正常,但是一旦我从 Visual Studio 编译一个 (iOS) 项目,我就会收到以下编译错误:

Build agent request has failed, URI not set, please see the inner exception for details.

提示:没有内部异常。

我使用的 Visual Studio 解决方案只是使用项目模板的样板文件,因为我的目标是在 VS2015 中突出新的 C++ 跨平台项目支持。这是我所做的:

  1. 创建新项目、Visual C#、移动应用程序、空白应用程序(Xamarin.Forms 便携式)。
  2. 在生成的解决方案中,添加新项目,其他语言,Visual C++,跨平台,静态库(iOS),命名为CppStaticIos。
  3. 尝试构建 CppStaticIos,错误将自行出现。
  4. 尝试构建 .iOS 版本的 C# 应用程序将在我的构建主机上的模拟器中编译和运行。

我的 Windows 8 防火墙似乎允许所有 VS2015 和 Xamarin Bonjour 服务。我仔细检查了主机和客户端计算机是否安装了最新的稳定 Xamarin 更新。

我错误地认为我可以使用静态库的内置 VS2015 项目模板 (iOS),点击构建并假设我的 Xamarin 构建主机已设置,它会工作。实际上有几个额外的步骤,除非您使用指南,否则您可能不会知道,因为还需要在构建主机上安装远程 VS 工具 (Mac)。这里有两个特别有用的指南部分:

甚至还有一些怪癖来获得这个 运行ning。主要是由于最新版本的 npm 将无法安装 vcremote。这是我所做的:

  • brew install node 假设你已经安装了 homebrew 并且想以这种方式安装 node
  • npm install -g npm@2.6.0 强制使用 npm 2.6.0 以安装 vcremote
  • npm install -g vcremote

然后您应该能够 运行 vcremote(记下主机名和 pin)并在构建之前继续设置您的 Visual Studio 设置。 iOS 的 C++ 静态库将在 Visual studio 端构建并显示为已完成。在生成主机上,在 remote root 路径中的项目输出下(在 VS 选项中设置),你的编译库应该存在于那里。让我痛苦的一件事是最终构建输出没有复制回 Windows 机器上项目的输出目录。如果 VS 提供了一种将此库引用到应用程序项目并自动解决二进制依赖项的方法,那么这将不是任何问题。