C# 在一个解决方案中可以有多个git项目吗?

C# 在一个解决方案中可以有多个git项目吗?,c#,git,visual-studio,multi-project,C#,Git,Visual Studio,Multi Project,我有一个相对全面的解决方案,包含大约20个项目。其中一个项目是“Utils”,我想与大家分享其他解决方案。不幸的是,如果我将这个项目作为链接项目添加到另一个解决方案中,那么这个项目没有将我上传到Git以获得这个解决方案,因此团队合作是不可能的。因此,我正在寻找一个解决方案,以实现我可以在各个解决方案之间共享该项目的源代码。我使用VS2019和作为Git存储库xxx.visualstudio.com。感谢您的建议。如果执行nuget软件包对您来说不是一个解决方案,因为它会增加太多的摩擦(即使您也可

我有一个相对全面的解决方案,包含大约20个项目。其中一个项目是“Utils”,我想与大家分享其他解决方案。不幸的是,如果我将这个项目作为链接项目添加到另一个解决方案中,那么这个项目没有将我上传到Git以获得这个解决方案,因此团队合作是不可能的。因此,我正在寻找一个解决方案,以实现我可以在各个解决方案之间共享该项目的源代码。我使用VS2019和作为Git存储库xxx.visualstudio.com。感谢您的建议。

如果执行nuget软件包对您来说不是一个解决方案,因为它会增加太多的摩擦(即使您也可以访问util存储库),并且您希望能够直接从sln文件更新“Utils”源,那么您的解决方案就是使用

从文件中:

在处理一个项目时,您经常需要使用其中的另一个项目。也许它是一个由第三方开发的库,或者您单独开发并在多个父项目中使用的库。在这些场景中会出现一个常见的问题:您希望能够将两个项目视为单独的,但仍然能够在另一个项目中使用其中一个项目

您必须为“Utils”代码创建一个存储库,并将其作为子模块包含在其他存储库中

但是


它不会削弱功能,因为您仍然可以从命令行或支持它的外部git GUI(例如)使用它。

“可能吗?”?对是否值得推荐?不,你的问题没有完美的解决方案。我们公司的解决方案是托管私有NuGET服务器并提供这样的依赖关系作为包。考虑使用包管理器或某种依赖性管理器。当然,我想先把它作为一个nuget包,但我希望其他程序员能够访问源代码,并能够在这个项目中添加其他函数。如果我使用nuget软件包,那么任何想要添加内容的人都必须发布一个新的软件包,我希望避免这种情况。如果使用nuget软件包对您来说不是一个解决方案,因为它会增加太多的摩擦(即使您也可以访问util存储库),那么您的解决方案是使用子模块: