在visual studio项目之间同步文件

时间:2017-06-29 23:35:14

标签: c# .net visual-studio-2013 mono

我有两个视觉工作室项目。一个用于Windows,另一个用于Linux和Mac。它们使用完全相同的源文件,但具有不同的构建配置和链接到同一个库的两个副本(一个是为Mono构建的,另一个是为.NET构建的)。

这是一张图表:

    Folder structure:
      -- ProjectA
         -- ProjectA.csproj
         -- CustomSourceA.cs

      -- ProjectB
        -- ProjectB.csproj
        -- CustomSourceB.cs

      -- ProjectCore
        -- CommonFile1.cs
        -- CommonFile2.cs
        ...
  Reference Structure:
    ProjectA -> LibraryA (.NET)
    ProjectA -> Includes entire source code of ProjectCore
    ProjectB -> LibraryB (Mono, a complete source code rewrite of LibraryA)
    ProjectB -> Includes entire source code of ProjectCore

如何同步这些项目,以便从一个项目添加/删除文件还可以添加/删除另一个文件?到目前为止,我一直在手动执行此操作。我考虑编写一个只解析XML的脚本并为我做,但我想知道是否有一个解决方案并不涉及这种手动hackery。

1 个答案:

答案 0 :(得分:0)

我最后用一个小技巧来做到这一点。用外卡替换项目B中的所有包含:

  <!-- ProjectB.csproj -->
  <ItemGroup>
     <Compile Include="..\ProjectA\**\*.cs"/>
  </ItemGroup>

然后我在项目A中添加了一个编译标志,我在项目B中并不想要

//CustomSourceA.cs
#if PROJECT_A

#endif