首页 > 解决方案 > 如何在dotnet core中组织多个git包

问题描述

我们为每个项目和每个包使用 git 存储库。当我们想将某些包添加到我们的项目中时,我们将其添加为子模块。我们遇到的问题是,当结构稍微复杂一点时,我们的 src 中有重复代码,这会导致 dotnet core 中出现 FileNotFoundExceptions。

例如。

我们有这些包裹

EfUtils - 参考[]

root
└── src
    ├── efutils.csproj
    └── efutils.cs

Auth - 参考[EfUtils]

root
├── src
│   ├── auth.csproj
│   └── auth.cs
└── submodules
    └── efutils
        └── src
            ├── efutils.csproj
            └── efutils.cs

ExAuth - 参考[EfUtils, Auth]

root
├── src
│   ├── ex-auth.csproj
│   └── ex-auth.cs
└── submodules
    ├── efutils
    │   └── src
    │       ├── efutils.csproj
    │       └── efutils.cs
    └── auth
        ├── src
        │   ├── auth.csproj
        │   └── auth.cs
        └── submodules
            └── efutils
                └── src
                    ├── efutils.csproj
                    └── efutils.cs

WebApp - 参考[EfUtils, ExAuth]

root
├── src
│   ├── webapp.csproj
│   └── webapp.cs
└── submodules
    ├── efutils
    │   └── src
    │       ├── efutils.csproj
    │       └── efutils.cs
    └── ex-auth
        ├── src
        │   ├── ex-auth.csproj
        │   └── ex-auth.cs
        └── submodules
            ├── efutils
            │   └── src
            │       ├── efutils.csproj
            │       └── efutils.cs
            └── auth
                ├── src
                │   ├── auth.csproj
                │   └── auth.cs
                └── submodules
                    └── efutils
                        └── src
                            ├── efutils.csproj
                            └── efutils.cs

问题是 efutils 源在 webapp 中出现了 3 次,这导致依赖注入过程中出现 FileNotFoundExceptions。

我们能想到的唯一解决方案是私有 nuget 包服务器,但我希望有另一种方法。

标签: git.net-corestructuregit-submodulescode-organization

解决方案


推荐阅读