3

我很想知道您在项目参考中使用什么类型的结构?

在我工作的地方,开发人员有一个名为 AssemblyCache (\\MACHINENAME\AssemblyCache) 的共享文件夹,该文件夹通过 Windows 2008 AD 中的 GPO 映射到 R:\(与 Developers AD 组相关联)。

我们的共享组件具有构建后事件,将它们复制到如下内容:

R:\.Net %VERSION%\Project\%SOMETHING%

有时,如果它对项目或特定的东西是共同的,那么它后面会跟着“Common”。.Net 版本文件夹下还有一个用于共享内容的公共目录。

这是多个解决方案上的大型项目可以从一个共同的地方引用程序集。

构建机器还有一个共享驱动器,其共享名称与开发人员映射到 S: 的共享名称相同。这使他们能够在需要时获得最新的工作版本。

所有这些都是为了让某人可以在一台新 PC 上打开一个项目,而不必将引用复制到不同的位置,并确保 dev a 从与 dev b 相同的位置引用程序集等......

这个解决方案对我们很有效,所以我想知道您有什么解决方案(如果有的话)可以确保所有开发人员从同一路径引用程序集?

4

3 回答 3

6
  • 将所有参考程序集存储在源代码管理中。
  • 始终获取代码以使代码与程序集具有相同的相对路径(例如 ../../CommonLibraries)
  • 每个人都提取到本地驱动器

必须引用网络驱动器会导致各种问题:

  • 以后版本没办法分支,现有分支参考早期版本
  • 离线工作的困难
  • 构建机器等取决于另一台机器 - 它不是独立的构建
  • 性能不是很好
于 2008-12-09T11:47:32.787 回答
1

在一个项目中,我们将程序集添加到源代码存储库中。这也不是完美的,但它可以防止意外获得更新版本的参考,这在使用文件共享时很容易发生。

于 2008-12-09T11:49:02.643 回答
1

您不需要创建网络共享。我认为您可以使用 windows subst 命令为本地文件夹创建虚拟驱动器号,例如...

subst R: "C:\.Net %VERSION%\Project\%SOMETHING%"

这里的优点是可以将任意路径路由到程序集的标准定义良好的路径,因此例如可以将不同的程序集版本重新映射到 Visual Studio 使用的固定参考路径。

于 2008-12-09T11:55:44.113 回答