从 Azure 构建管道中排除项目

2023-11-27

我有一个解决方案,其中有许多已卸载的项目。当我在本地构建解决方案时,卸载的项目显然没有构建。在配置管理器中,我什至无法为卸载的项目选择配置、平台、构建和部署选项。

现在我已经创建了一个 Azure Pipeline,它也构建了解决方案。但卸载的项目仍在建设中。

如何排除管道中的建筑项目?


现在我已经创建了一个 Azure Pipeline,它也构建了解决方案。 但卸载的项目仍在建设中。

Azure Devops Pipeline 和 VS IDE 都会调用msbuild.exe建造。使用 msbuild 构建解决方案时,它实际上正在运行命令msbuild xx.sln /t:build ....

检查内容xx.sln文件(解决方案文件)我们可以发现它定义了解决方案中项目的定义。这就是为什么如果你构建解决方案,all这些项目将会建成。这是预期行为在构建整个解决方案时。示例 .sln 文件:

enter image description here

VS IDE 的神奇之处在于,它可以在构建整个解决方案时排除已卸载的项目。 IDE 将检查卸载的项目并在构建整个解决方案时跳过它们,它的优点是unloading projectIDE 中的行为不会修改您的解决方案文件。 (对于下面的解决方案很重要Git 版本控制).

总结:预计构建解决方案将构建所有项目。当我们在VS中卸载项目时,此操作不会影响我们的源解决方​​案文件或项目文件。 VS会自动跳过卸载的项目,这是IDE的独特功能。 (卸载是一个用户界面操作在 VS 中,它对 .sln/.xxproj 文件没有影响)

要排除要在 Azure Devops 中构建的项目:

1.构建整个解决方案时指定要构建的项目。 (它不会改变任何文件,因此不会影响版本控制)

你可以检查这个答案 and 相应文件。我的devops任务设置(无需指定构建目标):

enter image description here

2.Exclude projects from solution configuration(不推荐)或create a new configuration that excludes specific projects(受到推崇的)。解决方案配置是在解决方案文件(sln)中定义的,因此这种方式会对源代码控制产生影响。

从解决方案配置中排除项目(不推荐):

enter image description here

创建排除特定项目的新配置:

enter image description here

enter image description here

相关文件here。我建议您可以通过 VS IDE 进行更改,然后将提交推送到远程存储库。如果您不熟悉 msbuild 和 sln 文件,这会很复杂,所以我不建议您自己这样做。让 IDE 为您完成这项工作。

一旦远程仓库获得更改:

enter image description here

我们可以在 DevOps 中构建解决方案customrelease排除的配置ProjectA and ProjectB代替release包含所有项目的配置。

enter image description here

所有这些解决方法在发布之前都已在我这边进行了测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Azure 构建管道中排除项目 的相关文章

随机推荐