我需要在VSTS中设置构建管道以部署Web服务。该Web服务引用了另一个Visual Studio解决方案。我可以将已编译的dll复制到检入之前要发布的Web服务解决方案中,但是我想创建一个构建管道来构建引用的解决方案,然后将已编译的dll复制到将要构建并部署到的解决方案中Azure Web应用程序。
这可能吗?
我尝试使用“复制文件”任务,但无法弄清楚如何从内置文件夹复制。
答案 0 :(得分:0)
恐怕此功能不可行.Visual Studio构建任务构建的解决方案来自repo或msbuild项目。如果要将dll复制到解决方案,则只能将其复制到repo。即使dll通过其他方式传递,生成解决方案仍可从存储库中获取。
有关详细信息,您可以参考此docs。
答案 1 :(得分:0)
针对这种情况的推荐解决方案是建立一个构建管道,以将工件(编译的dll)发布到Azure工件(NuGet程序包或Universal Package / ZipArchive)。然后在目标项目的CI中,通过从Azure Artifact获取程序包来使用工件。您可以基于触发器为依赖项设置自动发布,以确保在依赖项解决方案中引入更改时将重新发布新版本。
我不想推荐一个黑客,您可以在yaml管道中从源解决方案中获取依赖的解决方案,并利用目标解决方案的csproj中的相对路径修补来重新编译所有内容。这很丑陋并促进耦合。