在两个项目之间共享源文件,而不是整个目录/文件夹

时间:2016-10-10 06:51:55

标签: c# git svn

嗨我有两个项目让我们说A和B,他们有相同的源文件,现在我想要,如果一个项目中的文件改变其反映在另一个项目中。简单来说,我想要一个副本用于所有这些共享源文件,

重要,由于项目结构,这些文件位于不同的文件夹中,我无法将它们放在一个公共文件夹中。

项目A
- 视图(文件夹)
- Login.cs
- Stock.cs
- 控制器(文件夹)
- LoginController.cs
- StockController.cs

项目B
- 视图(文件夹)
- Login.cs
- WholeSellers.cs
- 控制器(文件夹)
- LoginController.cs
- WholeSellersController.cs

现在在上面的项目中你可以看到登录和LoginController是共享文件,但是在不同的文件夹中,由于项目文件夹结构的限制,我不能将它们放在一个文件夹中,也不能创建共享的单独项目,因为它们不能单独构建。

我使用了 Git子模块,但它创建的单个公共文件夹不是我的情况,还有其他任何解决方案吗?请帮帮我。

3 个答案:

答案 0 :(得分:0)

考虑将常用功能提取到nuget包中并将其安装在两个项目中。

创建nuget包:https://blogs.msdn.microsoft.com/mvpawardprogram/2016/06/28/creating-nuget-packages/

答案 1 :(得分:0)

  1. 创建一个新的共享项目" Project Core"
  2. 在那里移动共享代码。控制器" LoginController"并查看" Login.cs"
  3. 重命名" LoginController"到" BaseLoginController"
  4. 从" BaseLoginController"
  5. 继承项目A和B中的LoginController
  6. 使用虚拟路径提供程序重用MVC视图
  7.     Project A
          -- Views(folder)
              -- Stock.cs
          -- Controller(folder)
              -- LoginController.cs
              -- StockController.cs
    
        Project B
          -- Views(folder)
              -- WholeSellers.cs
          -- Controller(folder)
              -- LoginController.cs
              -- WholeSellersController.cs
    
        Project Core
          -- Views(folder)
              -- Login.cs
          -- Controller(folder)
              -- BaseLoginController.cs
    

    Reuse MVC Views Using a Virtual Path Provider

答案 2 :(得分:0)

创建符号链接到您的文件夹及其文件将解决我想的问题。

ln -s / path / to / folderContainingFiles / path / to / symlink