拒绝对由多个项目组成的解决方案中的单个项目的读取访问



我们使用TFS作为源代码管理。在TFS中,我们托管一个由多个Visual Studio项目组成的解决方案。我们不希望我们的承包商看到其中一个项目的源代码(受限用户仍应看到所有已编译的程序集(。在不设置两个存储库并必须在它们之间同步所有代码更改的情况下实现我们的目标的最佳方法是什么?

我建议不要仅仅更改权限,而是将要保护的项目移动到具有自己的解决方案的单独文件夹中。如上所述保护该文件夹。然后,可以单独生成它并将其部署到内部 nuget 存储库。

然后,可以从 Visual Studio 包管理器中引用该存储库,它将作为外部依赖项进行管理。如果您更新并发布其他解决方案,则其他开发人员将收到更新通知。

通过从源代码管理资源管理器中选择"高级>安全性"来控制对文件夹的访问权限。从那里,您可以关闭需要保护的项目的安全继承。然后,创建一个特定于 TFS 的组,仅包含"受限用户",并且仅允许他们访问特定的项目文件夹。或者,为承包商创建一个组并拒绝他们访问。这基于 VS/TFS 2012。

但我的猜测是,您还需要为不包含特定项目的承包商创建一个特定的解决方案。

最新更新