我正在使用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应用程序(admin),以便在以后发布它。 AdminWeb构建定义具有以下任务:
- > Nugget Installer
- > Visual Studio Build
存储库仅映射到“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执行此操作?
答案 0 :(得分:1)
如果没有引用的项目,Team Build将无法找到构建中未生成的二进制文件。
它可能是在本地构建的,因为.csproj在那里,或者二进制文件仍然存在于以前的构建中。
在构建工作区中包含项目,或者配置AdminClassLib构建定义以将其作为NuGet包发布。您可以使用VSTeam服务的包管理功能来存储包。
然后,您可以配置WebUI以从私有NuGet存储库中获取最新版本的AdminClassLib。