1

我正在使用 Visual Studio Team Services 为我的项目配置 CI。解决方案结构如下所示:

+MyApplications
   +.nuget
      NuGet.Config
   +Packages
   +AdminWebApp     ---> ("AdminWebApp" references the class library "AdminClassLib")
   +ClientWebApp    ---> ("ClientWebApp" references the class library "ClientClassLib")
   +AdminClassLib
   +ClientClassLib
   MyApplications.sln

我创建了一个构建定义,用于构建一个 Web 应用程序(管理员)以在稍后阶段发布它。AdminWeb 构建定义具有以下任务:

->金块安装程序

->Visual Studio 构建

在此处输入图像描述

存储库仅映射到“AdminWebApp”。

构建过程失败,出现以下错误:

Error CS0246: The type or namespace name 'AdminClassLib' could not be found (are you missing a using directive or an assembly reference?)
Warning : The referenced project '..\AdminClassLib\AdminClassLib.csproj' does not exist.

在 Visual Studio 中,它构建成功,因为我猜它编译所有项目并构建依赖项。

是否有任何有用的信息可以解释如何使用 Visual Studio Team Services 做到这一点?

4

1 回答 1

1

如果没有引用的项目,Team Build 将无法找到构建中未生成的二进制文件。

它可能是在本地构建的,因为 .csproj 在那里或者二进制文件仍然存在于以前的构建中。

将项目包含在构建工作区中,或配置 AdminClassLib 构建定义以将其发布为 NuGet 包。您可以使用 VSTEAM 服务的包管理功能来存储您的包。

然后,您可以将 WebUI 配置为从私有 NuGet 存储库中获取最新版本的 AdminClassLib。

于 2016-04-29T21:20:17.303 回答