Visual studio 2015 如何将GitLab与解决方案中的多个项目文件夹一起使用?

Visual studio 2015 如何将GitLab与解决方案中的多个项目文件夹一起使用?,visual-studio-2015,gitlab,versioning,Visual Studio 2015,Gitlab,Versioning,我是版本控制新手,在GitLab.com上实现了一个GitLab组和其中的一个项目 我有几个在Visual Studio中开发的应用程序-解决方案使用驻留在我计算机上不同文件夹中的项目 例如: DLL A和B位于我工作区域的不同文件夹中,应用程序X可能使用A,而应用程序Y可能使用A和B DLL X和Y位于各自的文件夹中 我为其中一个DLL实现了版本控制,但当我尝试执行相同的操作时(例如,从MSV内部为应用程序X),我会收到一条错误消息,因为组成解决方案的不同项目(在本例中为A和X)位于不同的

我是版本控制新手,在GitLab.com上实现了一个GitLab组和其中的一个项目

我有几个在Visual Studio中开发的应用程序-解决方案使用驻留在我计算机上不同文件夹中的项目

例如:

  • DLL A和B位于我工作区域的不同文件夹中,应用程序X可能使用A,而应用程序Y可能使用A和B
  • DLL X和Y位于各自的文件夹中
我为其中一个DLL实现了版本控制,但当我尝试执行相同的操作时(例如,从MSV内部为应用程序X),我会收到一条错误消息,因为组成解决方案的不同项目(在本例中为A和X)位于不同的文件夹中

这是一个限制,还是一个解决方案有两个repo,一个处理DLL a的版本控制,另一个处理X的其余可执行代码


当我打开X解决方案时,我在“团队”窗口中看到所有的A版本控制,但没有尝试为构建应用程序的代码添加git存储库,即上面描述中的X。

Visual Studio git或“团队”功能仅处理单个存储库

有一个计划,所以他们计划实施它

您仍然可以使用VisualStudio在各个存储库之间切换并处理它们,也可以使用第三方工具处理Git版本控制。例如,您可以从右键单击上下文菜单在Windows资源管理器中使用Ortoisegit

不考虑Visual Studio的限制,您有很多选项可以选择如何处理依赖项及其版本控制

如果它们是不同的组件,您可以让它们生成NuGet包,并将其作为依赖项添加

如果您想在一个工作区和存储库签出中同时编辑它们(无需单独的VS实例间接寻址,也无需单独构建NuGet包),那么您可能需要使用git子模块——在子文件夹中创建一个引用并签出另一个引用


子模块使代码的管理变得更加困难和简单,因为您将在存储库中拥有一个存储库。在与他们合作时,对他们有一些技术知识肯定会有所帮助。

对于多个项目,看看(2021年1月)是否有帮助

从您的组或子组安装NuGet软件包 您可以使用项目的包注册表发布和安装NuGet包。您只需使用NuGet CLI、Visual Studio或.NET CLI将项目添加为源

例如,使用NuGet CLI可以运行:

nuget源添加-名称\
-来源“https://gitlab.example.com/api/v4/projects//packages/nuget/index.json" \
-用户名\
-密码
如果你有少量的项目,这是非常有效的

但是,如果您在一个组中嵌套了多个项目,您可能会很快发现自己添加了数十个甚至数百个不同的源。
对于拥有多个团队的大型组织,团队通常会将包发布到其项目的包注册中心,以及源代码和管道。
但是,他们还需要能够轻松地安装来自组织内其他项目的依赖项

接下来,您可以从小组中安装软件包,这样您就不必记住哪个软件包位于哪个项目中。

只需将您的组添加为NuGet软件包的源,您就可以安装该组的任何软件包

nuget源添加-名称\
-来源“https://gitlab.example.com/api/v4/projects//packages/nuget/index.json" \
-用户名\
-密码
我们希望这个特性可以使项目之间的依赖项共享变得更容易一些

见和