【问题标题】:TFS - Creating a "sandbox" project within a solutionTFS - 在解决方案中创建“沙盒”项目
【发布时间】:2017-10-16 02:24:36
【问题描述】:

我有一个具有以下结构的解决方案:

> SolutionA
  > ProjectA
    > FolderA
      > FileA
      > FileB
    > FolderB
  > ProjectB
    > FolderC
      > FileC

我有一个开发人员想要玩一些测试场景,并且只需要接触FileAFileC。我想做的是:

> SolutionA
  > ProjectA
    > FolderA
      > FileA
      > FileB
    > FolderB
  > ProjectB
    > FolderC
      > FileC 
  > SandboxProject
    > FolderA [link]
      > FileA [link]
    > FolderC [link]
      > FileC [link]
    > FolderSandbox
      > FileSandbox

我想添加SandboxProject 以实现以下目标:

  • 为开发人员提供对源代码控制文件的访问权限,而不会让他接触到他不需要知道的东西 - 这些文件不够独立,无法在自己的项目中使用,但他不需要了解其他文件兄弟姐妹。这既是安全(敏感文件)又是开发 UX 问题(不要显示超过必要的内容)。
  • 提供一种与链接文件的消费者一起玩的简单方法(例如 - 链接文件可能是 plugin.js,但他会创建自己的 Index.cshtml 来使用/测试它。他对 plugin.js 的更改将可以在原始项目中看到,因为它只是指向受源代码控制的文件的链接。对 Index.cshtml 的更改不会影响其他项目,因为它仅在 SandboxProject 中受源代码控制。

Visual Studio / VSTS 是否支持这种“链接”和隔离?如果是这样,应该采取什么步骤来实现它?我可以为此目的使用Add as link 吗?

【问题讨论】:

    标签: visual-studio visual-studio-2015 tfs azure-devops


    【解决方案1】:

    不,不支持。

    关于添加为链接,目标文件必须下载到机器上(可以在共享文件夹中),这些文件也需要可访问。所以,我认为它不符合您的要求。

    更好的方法是,您可以打包必要的文件/项目并发布到 VSTS/TFS 提要,然后开发人员可以添加这些包引用。

    注意:通过这种方式,对包文件的更改不会影响源文件。但是由于开发者不知道源文件的内容,所以“链接”文件的变化应该不会影响源文件。

    更多关于vsts/tfs feed的信息,可以参考:Package Management in Team Services and TFS

    【讨论】:

    • 我刚刚测试了这个“添加为链接”,然后修改了我的构建以复制链接文件。如果我拒绝在根级别读取然后在项目级别授予读取权限,它就像一个魅力。我正在做的事情实际上并没有达到我的预期吗?
    • @SB2055 不清楚“不让他接触到他不需要知道的事情”,如果您授予开发人员访问源文件(链接文件)的权限,就可以了。跨度>
    • File BFolder B
    • @SB2055 对于这个场景,没关系。
    猜你喜欢
    • 2011-03-20
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多