代码之家  ›  专栏  ›  技术社区  ›  McOz

在TFS中合并时如何保护VB.Net项目设置?

  •  -1
  • McOz  · 技术社区  · 10 年前

    在我的场景的简化版本中,我正在开发一个使用ClickOnce部署的VB.Net应用程序,其中一个Live分支用于生产代码,一个Dev分支用于工作。

    我想将这些分支中的每一个部署到不同的位置(live用于发布,dev用于测试),但将其中一个分支合并到另一个分支会导致项目的“发布位置”设置在目标分支中被覆盖,这意味着我可能会意外地将开发代码发布到活动位置。

    有没有一种方法可以使某些项目财产(在本例中是发布位置)“不受合并影响”,从而使每个分支都保持其设置?

    编辑: 我的第一个想法是,如果有一些“配置”类型的文件可以覆盖某些项目设置,我可以隐藏该文件,这样它就不会被合并。。。但我找不到类似文件的任何引用。

    我们使用TFS进行源代码管理。

    1 回复  |  直到 10 年前
        1
  •  0
  •   McOz    10 年前

    通过学习如何使用 MSBuild Conditions .

    通过编辑.vbproj文件并将有问题的财产放入条件PropertyGroup,我可以自由地来回合并分支,根据.vbpro文件所在的目录(分支),它将使用一个值或另一个值。

    (若要编辑项目文件的xml,请在解决方案资源管理器中右键单击项目>卸载项目,然后右键单击>编辑App.vbproj。)

    ...
    <PropertyGroup Condition ="$(MSBuildThisFileFullPath.Contains(\AppDev\App\App.vbproj))">
        <AssemblyName>AppDev</AssemblyName>
        <PublishUrl>http://server/client/AppDev/</PublishUrl>
      </PropertyGroup>
      <PropertyGroup Condition ="$(MSBuildThisFileFullPath.Contains(\AppLive\App\App.vbproj))">
        <AssemblyName>App</AssemblyName>
        <PublishUrl>http://server/client/App/</PublishUrl>
      </PropertyGroup>
    ...