我们使用TFS作为源控件。在TFS中,我们托管了一个由多个Visual Studio项目组成的解决方案。我们不希望我们的承包商看到其中一个项目的源代码(有限的用户仍然应该看到所有已编译的程序集)。在没有设置两个存储库并且必须同步它们之间的所有代码更改的情况下实现目标的最佳方法是什么?
答案 0 :(得分:4)
您可以从源代码管理资源管理器中选择高级 - >安全性来控制对文件夹的访问权限。从那里,您可以关闭需要保护的项目的安全继承。然后,创建仅包含“受限用户”的特定于TFS的组,并且仅允许他们访问特定项目文件夹。或者,为承包商创建一个组并拒绝他们访问。 这是基于VS / TFS 2012。
但我的猜测是,您还需要为没有包含特定项目的承包商创建特定的解决方案。
答案 1 :(得分:4)
我建议您使用自己的解决方案,而不仅仅是将您要保护的项目移动到一个单独的文件夹。如上所述保护该文件夹。然后,您可以单独构建它并将其部署到内部nuget存储库。
然后,您可以从Visual Studio包管理器中引用该存储库,它将作为外部依赖项进行管理。如果您更新并发布其他解决方案,则其他开发人员将收到更新通知..