Visual studio 2010 链接文件与类项目的目的?

Visual studio 2010 链接文件与类项目的目的?,visual-studio-2010,visual-studio,visual-studio-2012,visual-studio-2013,Visual Studio 2010,Visual Studio,Visual Studio 2012,Visual Studio 2013,在visual studio中“链接”文件的目的是什么,以及何时使用它们,而不是仅将包含该文件的类项目包含到当前项目中。链接文件适用于希望代码包含在该项目程序集中的情况 “哇,吉米,谢谢你指出了显而易见的事实。但我为什么要这么做?” 可能有几个原因,但现在我只举一个例子。考虑您的公司团队需要每个程序集定义某些常量或汇编属性的场景。与在每个项目中创建重复类不同,您可以只创建一个文件副本并将其链接到每个项目中。更新文件一次,每个程序集都会得到更改。Project+添加现有项,在添加按钮上的箭头处,选

在visual studio中“链接”文件的目的是什么,以及何时使用它们,而不是仅将包含该文件的类项目包含到当前项目中。

链接文件适用于希望代码包含在该项目程序集中的情况

“哇,吉米,谢谢你指出了显而易见的事实。但我为什么要这么做?”


可能有几个原因,但现在我只举一个例子。考虑您的公司团队需要每个程序集定义某些常量或汇编属性的场景。与在每个项目中创建重复类不同,您可以只创建一个文件副本并将其链接到每个项目中。更新文件一次,每个程序集都会得到更改。

Project+添加现有项,在添加按钮上的箭头处,选择“添加为链接”

Visual Studio强烈支持将在此对话框中选择的项复制到项目目录中。这将避免您遇到麻烦,比如意外修改了另一个项目中使用的源代码文件或资源。或者忘记将文件签入源代码管理,这是迄今为止最危险的灾难。从现在起一年或一年以上你就会发现一些东西,但为时已晚

添加为链接
选项将覆盖该行为,文件将保留在其原始位置,项目文件将记录文件的相对路径

很难找到使用此功能的好理由。试图提出一些:

  • 您可能希望维护包含在多个项目中的单个源代码文件,使用“添加为链接”可确保只编辑该单个源文件
  • 您可能有一个项目使用与另一个项目相同的源代码文件,但具有非常不同的生成设置,在这种情况下,您将使所有项目项成为链接
  • 您可能有一个庞大的资源,不希望在多个项目中重复复制
  • 您可能有一个可部署项,如非托管DLL,保存在单个目录中,但用于多个不相关的项目

为自己挖一个深的源代码管理漏洞是一个高风险的问题,请确保在使用该功能之前仔细考虑这一点。

-1:我认为这是一个类库的情况,而不是一个链接文件。@johnsaunder类库如何允许您设置程序集属性?这必须在编译时发生。这是常量。对于程序集属性,您是对的。但这是一个非常小的用例。