TFS - 特定项目的许可

时间:2014-03-23 11:02:12

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

这是以下Stack Overflow question

的扩展

情景:

  • Visual Studio Solution有项目A,B&下进行。
  • 项目A是B& S使用的核心库。下进行。
  • 远程员工只能访问项目C(需要项目A)。

问题:

  • 远程员工如何构建和测试引用项目A的项目C,而远程员工只有权访问项目C.
  • 是否有必要与远程员工共享项目A,或者是否有任何方法。

2 个答案:

答案 0 :(得分:0)

您只需从解决方案中删除项目A.显然,其他项目仍然需要相关的dll。

如果项目A中有非常敏感的信息,那么我有以下建议(当然这将取决于您的架构):

  1. 为项目A创建公共接口,将其放在项目D或其他内容中。
  2. 让项目A使用它,然后为Project A界面创建一个模拟并改为提供此项目。
  3. 这将提供所有必需的依赖项,并且意味着您不必提供依赖的dll。这也是单元测试的好习惯。

答案 1 :(得分:0)

为了解决这个问题,你需要

  • 将项目C从解决方案中移出到自己的解决方案中。
  • 将项目引用从C更改为A到二进制引用,以便C引用A的已编译输出。为此,将A.dll放在新创建的C-solution下的目录中。还要将A.dll添加到源代码管理中,以便远程员工可以从源代码管理中检索解决方案和A.dll。
  • 如果您对项目C中所需的A进行了更改,则需要检查A.dll,将其替换为新版本并再次检入。

当然,这意味着如果要将对项目A所做的更改传播到新创建的C解决方案,则工作量会更高。但它将环境彼此干净地分开。

如果您希望遵循@ pm_2的优秀suggestion关于提取A的相关接口并仅向远程员工提供模拟版本,则此方法也有效。在这种情况下,将接口dll和模拟版本放在源代码控制中。