Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么不';你不能直接控制你的参考资料吗?_.net_Asp.net_Version Control - Fatal编程技术网

.net 为什么不';你不能直接控制你的参考资料吗?

.net 为什么不';你不能直接控制你的参考资料吗?,.net,asp.net,version-control,.net,Asp.net,Version Control,我正在为我的组织建立一些新的源代码管理最佳实践,所以在过去的几天里我一直沉浸在TreeSurgeon之类的事情中 我经常看到的一件事是,最好的做法是将引用包含在源代码管理树中,但要包含在单独的目录(lib/in-tree)中,而不是像ASP.NET项目中自然出现的那样直接包含在代码中 我知道直接在bin文件夹中对它们进行源代码管理不好的几个原因,但我想了解全局,包括在新机器上从源代码管理中提取代码后如何将这些引用返回到ASP.NET项目中 提前谢谢 Brian出于以下几个原因,您希望将外部依赖项

我正在为我的组织建立一些新的源代码管理最佳实践,所以在过去的几天里我一直沉浸在TreeSurgeon之类的事情中

我经常看到的一件事是,最好的做法是将引用包含在源代码管理树中,但要包含在单独的目录(lib/in-tree)中,而不是像ASP.NET项目中自然出现的那样直接包含在代码中

我知道直接在bin文件夹中对它们进行源代码管理不好的几个原因,但我想了解全局,包括在新机器上从源代码管理中提取代码后如何将这些引用返回到ASP.NET项目中

提前谢谢


Brian

出于以下几个原因,您希望将外部依赖项放在单独的文件夹中:

  • 您清楚地了解特定外部依赖中包含的内容
  • 您可以添加与构建无关的内容,如站点链接、文档、示例和其他内容,而不会污染您的项目
  • 您可以在多个项目之间共享该依赖关系
  • 您不希望将构建人工制品与源代码混为一谈,因为这会使您/您的团队不清楚哪些属于您/您的团队,哪些不属于您
  • 您希望有明确的步骤,在构建过程中引入外部依赖项,以确保您能够控制最终包中的内容
  • 分支源也将创建依赖项的多个副本(如果它们在那里混合)
  • 一些新手意外地检入另一个版本的文件并弄乱外部依赖关系从而破坏项目稳定性的可能性较小
回答你的第二个问题:

我们通常在一个单独的文件夹中有一个外部依赖项的副本,但仍然在源代码管理下。所有项目引用都使用相对路径指向该文件夹。因此,当人们在新机器上登记时,他们会得到一整套源代码和外部依赖项,为构建产品做好准备

此外,我们的构建还有一个额外的步骤,即在源代码树之外生成cleandrop文件夹。这是我们的部署副本,它包含最终产品工作所需的所有构建人工制品和所有源(如.aspx)的副本。这迫使人们真正思考最终产品中需要包含哪些内容