【问题标题】:Is there a way to have multiple projects referenced in one solution with Azure Devops?有没有办法使用 Azure Devops 在一个解决方案中引用多个项目?
【发布时间】:2021-12-09 10:46:15
【问题描述】:

我们的项目设置方式是我们有多个分开的,无论它们是面向内部还是面向外部的应用程序,但是,我们有一组数据项目,其中包含我们需要读取和写入某些项目的各种类和模型到数据库。这就是我们所说的应用程序的数据访问层,它是三个独立的项目,存在于我们内部服务器上的一个文件夹中,从那里我们将这些应用程序中的 .csproj 文件引用到我们的其他项目/应用程序中,以便我们可以使用他们在任何地方。通过此设置,我们可以将这些项目文件存在于我们服务器上的一个位置,并且能够构建、调试和发布我们的任何应用程序到我们希望它们运行的​​服务器上。

项目文件结构:

  1. 父解决方案/应用程序 A. 主 .csproj 文件(与解决方案同名) B. 引用 .csproj 1 C. 引用 .csproj 2 D. 引用 .csproj 3

我能够将父解决方案中的代码推送到 Azure Devops,并且我可以对其进行源代码控制,但是我想做的是从 Devops 发布到托管的 Azure Web 应用程序实例。每当我尝试在 Devops 中创建管道来构建项目时,构建都会失败,因为找不到数据项目的引用文件。我已经研究了路径过滤器,但我不明白它们是如何工作的,或者在我目前的情况下如何实现它们。提前感谢您的帮助。

【问题讨论】:

    标签: c# asp.net azure visual-studio azure-devops


    【解决方案1】:

    这听起来像是您以类库的形式生成共享数据协定的 NuGet 包并使用管道将其作为私有工件发布到 Azure DevOps 中的最佳案例。

    这样,他们可以获取包依赖项,而不是每个解决方案都需要直接访问项目,而 Azure 在跨内部存储库构建期间可以访问该包依赖项。每当您为共享合同库推送新提交时,ADO 都可以完成构建并迭代 NuGet 包版本,并且您可以在向 ADO 进行身份验证时从本地计算机访问这些私有 NuGet 包,就好像它们来自 Nuget.org .

    https://docs.microsoft.com/en-us/azure/devops/pipelines/artifacts/nuget?view=azure-devops&tabs=yaml

    【讨论】:

    • 感谢您的帮助亚当
    • 嘿@AdamG 我如何创建工件?我是发布我想要共享到 Devops 的项目,还是我想在我的父解决方案中向 Pipepline 添加一个操作以使其构建工件。我只是问,因为在您发布的那个教程中,它看起来要求我只针对所有 CSproj 文件,而这些文件不在 Devops 上的父解决方案存储库中。
    猜你喜欢
    • 2019-07-29
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多